Merge remote-tracking branch 'origin/master'

prod
郑明梁 2 years ago
commit 6bd46385a6

@ -4,8 +4,8 @@ VUE_APP_TITLE = UDI管理系统
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
# VUE_APP_BASE_API = 'http://116.204.71.86:9150/UDI_WMS_MC/' # VUE_APP_BASE_API = 'http://116.204.71.86:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.66:9150/UDI_WMS_MC/' VUE_APP_BASE_API = 'http://116.204.106.103:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://192.168.0.66:9160/UDI_WMS_MC/' # VUE_APP_BASE_API = 'http://192.168.0.66:9160/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/ # 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/' VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/'
@ -17,3 +17,4 @@ VUE_APP_XXL_JOB_ADMIN = '/xxl-job-admin'
# 若依管理系统/生产环境 # 若依管理系统/生产环境
peizh = '/prod-api' peizh = '/prod-api'
rm 0

@ -88,4 +88,12 @@ export function deleteDeviceReceiveOrderDetail(data) {
}); });
} }
export function selectByorderIdFk(params) {
return axios({
url: "/device/receive/order/detail/selectByorderIdFk",
method: "get",
params: params
});
}

@ -189,3 +189,8 @@ aside {
.multiselect--active { .multiselect--active {
z-index: 1000 !important; z-index: 1000 !important;
} }
.el-table--mini .el-table__cell {
padding:0px!important;
}

@ -349,5 +349,9 @@
text-align: right; text-align: right;
} }
.el-table--mini .el-table__cell {
padding:0px!important;
}

@ -71,11 +71,15 @@ const user = {
const uuid = userInfo.uuid const uuid = userInfo.uuid
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => { login(username, password, code, uuid).then(res => {
setToken(res.data.token) if(res.code == 20000){
setAdminId(res.data.id) setToken(res.data.token)
commit('SET_TOKEN', res.data.token) setAdminId(res.data.id)
commit('SET_ADMINID', res.data.id) commit('SET_TOKEN', res.data.token)
resolve() commit('SET_ADMINID', res.data.id)
resolve()
}else{
reject(res.message);
}
}).catch(error => { }).catch(error => {
reject(error) reject(error)
}) })

@ -35,7 +35,10 @@
<el-checkbox v-model="inputQuery.advanceType" style="width: 200px" border>寄售类型单据 <el-checkbox v-model="inputQuery.advanceType" style="width: 200px" border>寄售类型单据
</el-checkbox> </el-checkbox>
<el-checkbox v-model="inputQuery.preIn" style="width: 200px" border>预验收 <el-checkbox v-model="inputQuery.preIn"
:disabled="inputQuery.corpType!='2'"
style="width: 200px" border>预验收
</el-checkbox> </el-checkbox>
<el-checkbox v-model="inputQuery.spUse" style="width: 200px;" border> <el-checkbox v-model="inputQuery.spUse" style="width: 200px;" border>

@ -293,6 +293,7 @@ export default {
if (isBlank(this.inputQuery.id)) { if (isBlank(this.inputQuery.id)) {
this.$message.warning("请先保存当前单据类型!"); this.$message.warning("请先保存当前单据类型!");
} else { } else {
console.log(this.inputQuery)
this.settingDialogVisible = true; this.settingDialogVisible = true;
} }
}, },

@ -102,7 +102,7 @@
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button> <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-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="submit"></el-button> <el-button type="primary" icon="el-icon-search" @click="submit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="editUdiType"></el-button> <el-button type="primary" icon="el-icon-plus" @click="editUdiType"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="intentImportUdi">DI</el-button> <el-button type="primary" icon="el-icon-plus" @click="intentImportUdi">DI</el-button>
<el-button type="primary" icon="el-icon-plus" @click="intentImportErp"></el-button> <el-button type="primary" icon="el-icon-plus" @click="intentImportErp"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="intentDetail"></el-button> <el-button type="primary" icon="el-icon-plus" @click="intentDetail"></el-button>
@ -1098,7 +1098,7 @@
></pagination> ></pagination>
<el-dialog <el-dialog
title="编辑-耗材菜单" title="编辑-耗材分类"
:visible.sync="selectUdiTypeVisible" :visible.sync="selectUdiTypeVisible"
:before-close="hideForm" :before-close="hideForm"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -1189,7 +1189,6 @@ export default {
addType: 1, addType: 1,
thrPiId: null, thrPiId: null,
filterType: null, filterType: null,
diType: 1,
dispatch: null, dispatch: null,
groupBuy: null, groupBuy: null,
@ -1279,8 +1278,7 @@ export default {
ggxh: null, ggxh: null,
page: 1, page: 1,
limit: 20, limit: 20,
addType: 1, addType: 1
diType: 1
}; };
this.getList(); this.getList();
}, },

@ -445,7 +445,7 @@ export default {
data() { data() {
return { return {
isUseDyCheck: false, isUseDyCheck: true,
useNumEnable: true, useNumEnable: true,
sysList: [], sysList: [],
detailList: [], detailList: [],
@ -517,10 +517,9 @@ export default {
if (response.code == 20000) { if (response.code == 20000) {
this.$message({ this.$message({
type: "success", type: "success",
message: "删除成功!", message: "解绑成功!",
}); });
this.editDialogVisible = false; this.$emit("closePre", true);
this.getList();
this.cancelDialog(); this.cancelDialog();
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
@ -628,11 +627,11 @@ export default {
if (val) { if (val) {
this.useNumEnable = false; this.useNumEnable = false;
// this.editQuery.useNum = this.editQuery.zxxsbzbhsydysl; // this.editQuery.useNum = this.editQuery.zxxsbzbhsydysl;
if (!isBlank(this.editQuery.zxxsbzbhsydysl)) { // if (!isBlank(this.editQuery.zxxsbzbhsydysl)) {
if (this.editQuery.zxxsbzbhsydysl > 0) { // if (this.editQuery.zxxsbzbhsydysl > 0) {
this.isUseDyCheck = true; // this.isUseDyCheck = true;
} // }
} // }
} else { } else {
this.useNumEnable = true; this.useNumEnable = true;
this.editQuery.useNum = 0; this.editQuery.useNum = 0;

@ -793,27 +793,29 @@ export default {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
}; };
var that = this; if (this.viewType !== 1) {
var inputer = document.getElementById("inputer"); var that = this;
window.sc = new A.KeyScaner(inputer);//DOM var inputer = document.getElementById("inputer");
sc.onInput = function (text) { window.sc = new A.KeyScaner(inputer);//DOM
if (text.includes("delete")) { sc.onInput = function (text) {
that.codeFormData.code = ""; if (text.includes("delete")) {
that.sictomText = ""; that.codeFormData.code = "";
that.originCode = ""; that.sictomText = "";
return; that.originCode = "";
} return;
if (that.sitcomScan) { }
let tempTxt = text; if (that.sitcomScan) {
let str = tempTxt.replace(/[\r]/g, ""); let tempTxt = text;
that.sictomText = that.sictomText + str; let str = tempTxt.replace(/[\r]/g, "");
that.codeFormData.code = that.sictomText; that.sictomText = that.sictomText + str;
} else { that.codeFormData.code = that.sictomText;
} else {
that.codeFormData.code = text;
} that.codeFormData.code = text;
}; }
inputer.focus(); };
inputer.focus();
}
}, },
created() { created() {

@ -186,21 +186,24 @@ export default {
return; return;
} }
var idster = []; var idster = [];
if(this.codeArray.length>0){ if(this.codeArray != null || this.codeArray!=undefined ){
for(var i=0;i<this.codeArray.length;i++){ if(this.codeArray.length>0){
idster.push(this.codeArray[i].relIdFk); for(var i=0;i<this.codeArray.length;i++){
idster.push(this.codeArray[i].relIdFk);
}
} }
} if(idster.length>0){
if(idster.length>0){ for(var i=0;i<idster.length;i++){
for(var i=0;i<idster.length;i++){
for(var j=0;j<selection.length;j++){ for(var j=0;j<selection.length;j++){
if(idster[i]==selection[j].relIdFk){ if(idster[i]==selection[j].relIdFk){
this.$message.error("该产品已录入!"); this.$message.error("该产品已录入!");
return return
} }
} }
}
} }
} }
var ids = []; var ids = [];
selection.forEach((obj, index) => { selection.forEach((obj, index) => {
let data = { let data = {

@ -87,7 +87,7 @@
</el-button-group> </el-button-group>
</div> </div>
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%;" highlight-current-row class="table-fixed"
border border
@current-change="handleSelectionChange"> @current-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
@ -122,7 +122,7 @@
<!-- </el-tag>--> <!-- </el-tag>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="200" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@ -340,7 +340,7 @@ import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import {getResultDetailList} from "@/api/inout/orderDetailResult"; import {getResultDetailList} from "@/api/inout/orderDetailResult";
import {getCodeDetailList} from "@/api/inout/orderDetailCode"; import {getCodeDetailList} from "@/api/inout/orderDetailCode";
import {getCodeList} from "@/api/inout/code"; import {getCodeList} from "@/api/inout/code";
import {inspectionOrderPDFFromTemplateFile,orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint" import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
const formJson = { const formJson = {
@ -814,5 +814,6 @@ export default {
}; };
</script> </script>
<style type="text/scss" lang="scss"> <style lang="scss" scoped>
</style> </style>

@ -122,7 +122,7 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="160"> <el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button

@ -367,14 +367,20 @@ export default {
if (this.curBustype.corpType == 3) {// if (this.curBustype.corpType == 3) {//
this.invQueryData.invCode = this.idQuery.invCode; this.invQueryData.invCode = this.idQuery.invCode;
this.selectInvProductVisible = true; this.selectInvProductVisible = true;
} else if (this.curBustype.corpType == 2)// } else if (this.curBustype.corpType == 2) { //
{
this.selectProductVisible = true; this.selectProductVisible = true;
} else if (this.curBustype.corpType === 1) {//
this.invQueryData.invCode = this.idQuery.invCode;
this.selectInvProductVisible = true;
} }
}, },
saveChange(row) { saveChange(row) {
if (row.batchNo == '') {
row.batchNo = null;
}
updateBizProduct(row) updateBizProduct(row)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;

@ -19,33 +19,14 @@
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
@current-change="handleSelectionChange"
border> border>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="设备名称" prop="productName" width="180"></el-table-column>
<el-table-column label="设备编号" prop="code" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="产品DI" prop="nameCode" width="180"></el-table-column>
<el-table-column label="生产日期" prop="productionDate" width="180"></el-table-column>
<el-table-column label="失效日期" prop="expireDate" width="180"></el-table-column>
<el-table-column label="批次号" prop="batchNo" width="180"></el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="180"></el-table-column>
<el-table-column label="医疗器械注册/备案人名称" prop="ylqxzcrbarmc" width="180"></el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" width="180"></el-table-column>
<el-table-column label="领用部门" prop="fromDeptName" ></el-table-column> <el-table-column label="领用部门" prop="fromDeptName" ></el-table-column>
<el-table-column label="领用仓库" prop="fromInvName" ></el-table-column> <el-table-column label="领用仓库" prop="fromInvName" ></el-table-column>
<el-table-column label="领用货位" prop="fromInvSpaceName" ></el-table-column> <el-table-column label="领用货位" prop="fromInvSpaceName" ></el-table-column>
<el-table-column label="领用日期" prop="createTime" ></el-table-column> <el-table-column label="领用日期" prop="createTime" ></el-table-column>
<el-table-column label="领用人" prop="createUserName"></el-table-column> <el-table-column label="领用人" prop="createUserName"></el-table-column>
<el-table-column label="操作" >
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="addMAOrder(scope.row)"
>养护
</el-button
>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
@ -56,6 +37,47 @@
></pagination> ></pagination>
</el-card> </el-card>
<el-tabs type="border-card" style="margin: 15px">
<!--单据业务详情-->
<el-tab-pane>
<span slot="label">设备详情</span>
<el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border
:row-style="rowStyle"
row-key="id"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="设备名称" prop="productName" width="180"></el-table-column>
<el-table-column label="设备编号" prop="code" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="产品DI" prop="nameCode" width="180"></el-table-column>
<el-table-column label="生产日期" prop="productionDate" width="180"></el-table-column>
<el-table-column label="失效日期" prop="expireDate" width="180"></el-table-column>
<el-table-column label="批次号" prop="batchNo" width="180"></el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="180"></el-table-column>
<el-table-column label="医疗器械注册/备案人名称" prop="ylqxzcrbarmc" width="180"></el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" width="180"></el-table-column>
<el-table-column label="操作" >
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="addMAOrder(scope.row)"
>养护
</el-button
>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<pagination
v-show="bizTotal>0"
:total="bizTotal"
:page.sync="filterQuery.page"
:limit.sync="filterQuery.limit"
@pagination="getBizDetailList"
/>
<el-dialog <el-dialog
title="新增设备养护记录" title="新增设备养护记录"
:visible.sync="formVisible" :visible.sync="formVisible"
@ -77,7 +99,7 @@
<script> <script>
import {getDeviceReceiveOrderList} from "@/api/inventory/deviceReceiveOrder"; import {getDeviceReceiveOrderList} from "@/api/inventory/deviceReceiveOrder";
import deviceMAOrderModify from "@/views/inventory/DeviceMAOrderModify.vue"; import deviceMAOrderModify from "@/views/inventory/DeviceMAOrderModify.vue";
import {selectByorderIdFk} from "@/api/inventory/deviceReceiveOrder";
export default { export default {
name: "AssetManage", name: "AssetManage",
data() { data() {
@ -87,10 +109,14 @@ export default {
nameCode: null, nameCode: null,
status: 2, status: 2,
page: 1, page: 1,
limit: 20 limit: 20,
orderIdFk:""
}, },
bizDetailLoading: false,
bizDetailList:[],
list: [], list: [],
total: 0, total: 0,
bizTotal:0,
loading: false, loading: false,
idQuery: null, idQuery: null,
formVisible: false, formVisible: false,
@ -121,6 +147,29 @@ export default {
this.filterQuery.page = 1; this.filterQuery.page = 1;
this.getList(); this.getList();
}, },
handleSelectionChange(val){
this.filterQuery.orderIdFk= val.orderId;
this.filterQuery.status=null;
this.getBizDetailList();
},
getBizDetailList(){
this.bizDetailLoading = true;
selectByorderIdFk(this.filterQuery).then((res) => {
this.bizDetailLoading = false;
if (res.code === 20000) {
this.bizDetailList = res.data.list || [];
this.bizTotal = res.data.total;
} else {
this.$message.error(res.message);
this.bizDetailList = [];
}
}).catch((error) =>{
this.bizDetailLoading = false;
this.$message.error(error.message);
this.bizDetailList = [];
this.bizTotal = 0;
})
},
getList() { getList() {
this.loading = true; this.loading = true;
getDeviceReceiveOrderList(this.filterQuery).then((res) => { getDeviceReceiveOrderList(this.filterQuery).then((res) => {

@ -118,7 +118,11 @@ export default {
closeDialog: { closeDialog: {
type: Function, type: Function,
required: true required: true
} },
deviceMAOrder: {
type: Object,
required: true
},
}, },
name: "DeviceMAOrderModify", name: "DeviceMAOrderModify",
data() { data() {
@ -177,6 +181,7 @@ export default {
}; };
}, },
created() { created() {
this.deviceMAOrder
this.formData = { this.formData = {
code: this.deviceMAOrder.code, code: this.deviceMAOrder.code,
createUser: this.$store.getters.adminId, createUser: this.$store.getters.adminId,

@ -146,7 +146,7 @@
highlight-current-row highlight-current-row
border max-height="300" height="300"> border max-height="300" height="300">
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="条码" width="180" prop="code" show-overflow-tooltip></el-table-column> <el-table-column label="条码" width="180" prop="originCode" show-overflow-tooltip></el-table-column>
<el-table-column width="150" <el-table-column width="150"
label="产品通用名" label="产品通用名"
prop="productName" prop="productName"
@ -154,44 +154,21 @@
></el-table-column> ></el-table-column>
<el-table-column width="150" label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column width="150" label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column width="150" label="批次号" prop="batchNo"></el-table-column> <el-table-column width="150" label="批次号" prop="batchNo"></el-table-column>
<el-table-column width="150" label="养护数量" prop="count"></el-table-column> <el-table-column width="150" label="序列号" prop="serialNo">
<el-table-column width="150" label="养护状态" prop="maintenanceStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio :disabled="scope.$index !== currentIndex" v-model="scope.row.maStatus" <el-input :disabled="scope.$index != currentIndex" v-model="scope.row.serialNo"></el-input>
:label="0">未养护
</el-radio>
<el-radio :disabled="scope.$index !== currentIndex" v-model="scope.row.maStatus"
:label="1">已养护
</el-radio>
</template>
</el-table-column>
<el-table-column width="150" label="设备状态" prop="deviceStatus">
<template slot-scope="scope">
<el-radio :disabled="scope.$index !== currentIndex" v-model="scope.row.deviceStatus" :label="1">
正常
</el-radio>
<el-radio :disabled="scope.$index !== currentIndex" v-model="scope.row.deviceStatus" :label="0">
异常
</el-radio>
</template>
</el-table-column>
<el-table-column width="200" label="养护备注" prop="remark">
<template slot-scope="scope">
<el-input :disabled="scope.$index !== currentIndex" v-model="scope.row.remark"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="生产日期(yyMMdd)" prop="productionDate"></el-table-column> <el-table-column label="生产日期(yyMMdd)" prop="productionDate"></el-table-column>
<el-table-column label="失效日期(yyMMdd)" prop="expireDate" <el-table-column label="失效日期(yyMMdd)" prop="expireDate" show-overflow-tooltip></el-table-column>
show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案凭证号" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证号" prop="zczbhhzbapzbh" <el-table-column label="生产厂家" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="生产厂家" prop="ylqxzcrbarmc"
show-overflow-tooltip></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
size="small" size="small"
v-if="scope.row.serialNo === null"
@click.stop="true" @click.stop="true"
@click.native="editOrderDetail(scope.$index, scope.row)" @click.native="editOrderDetail(scope.$index, scope.row)"
>编辑 >编辑
@ -433,7 +410,7 @@ export default {
} }
this.spaceList = res.data.list || []; this.spaceList = res.data.list || [];
}) })
this.formData.fromInvSpaceCode=""; this.formData.fromInvSpaceCode = "";
}, },
selectInvProduct() { selectInvProduct() {
let message = this.verifyOrder(); let message = this.verifyOrder();
@ -447,8 +424,8 @@ export default {
this.saveOrder(); this.saveOrder();
this.onReset(); this.onReset();
this.selectInvProductVisible = true; this.selectInvProductVisible = true;
this.filterQuery.invCode=this.formData.fromInvCode; this.filterQuery.invCode = this.formData.fromInvCode;
this.filterQuery.invSpaceCode=this.formData.fromInvSpaceCode; this.filterQuery.invSpaceCode = this.formData.fromInvSpaceCode;
}, },
saveMAOrder() { saveMAOrder() {
this.saveOrder(); this.saveOrder();
@ -636,8 +613,8 @@ export default {
this.queryInvProducts(); this.queryInvProducts();
}, },
queryInvProducts() { queryInvProducts() {
this.filterQuery.invCode=this.formData.fromInvCode; this.filterQuery.invCode = this.formData.fromInvCode;
this.filterQuery.invSpaceCode=this.formData.fromInvSpaceCode; this.filterQuery.invSpaceCode = this.formData.fromInvSpaceCode;
getInvMAProducts(this.filterQuery).then((res) => { getInvMAProducts(this.filterQuery).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.productList = res.data.list || []; this.productList = res.data.list || [];
@ -665,6 +642,8 @@ export default {
let params = { let params = {
orderIdFk: this.formData.orderId, orderIdFk: this.formData.orderId,
invProductIds: invProductIds, invProductIds: invProductIds,
invCode: this.formData.fromInvCode,
invSpaceCode: this.formData.fromInvSpaceCode
}; };
addDeviceReceiveOrderDetail(params).then((res) => { addDeviceReceiveOrderDetail(params).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -690,7 +669,7 @@ export default {
}, },
created() { created() {
this.getDeptList(); this.getDeptList();
if (!(isBlank(this.deviceReceiveOrder.orderId)) ) { if (!(isBlank(this.deviceReceiveOrder.orderId))) {
this.formData.orderId = this.deviceReceiveOrder.orderId; this.formData.orderId = this.deviceReceiveOrder.orderId;
this.formData.createTime = this.deviceReceiveOrder.createTime; this.formData.createTime = this.deviceReceiveOrder.createTime;
this.formData.fromDeptCode = this.deviceReceiveOrder.fromDeptCode; this.formData.fromDeptCode = this.deviceReceiveOrder.fromDeptCode;

@ -22,7 +22,7 @@
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click.native.stop="deleteCountCode(scope.row.id)" @click.native.stop="deleteCountCode(scope.row)"
>减一 >减一
</el-button </el-button
> >

@ -138,6 +138,7 @@
> >
<invCountCodes <invCountCodes
:codeQuery="codeQuery" :codeQuery="codeQuery"
:getCountOrderDetail="getCountOrderDetailList"
></invCountCodes> ></invCountCodes>
</el-dialog> </el-dialog>

@ -343,8 +343,6 @@ export default {
} }
this.spaceList = res.data.list || []; this.spaceList = res.data.list || [];
}); });
this.formData.invSpaceCode=JSON.parse(localStorage.getItem('key'));
}, },
invSpaceChange() { invSpaceChange() {
this.$forceUpdate(); this.$forceUpdate();
@ -358,7 +356,6 @@ export default {
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
countType: this.countType countType: this.countType
}; };
localStorage.setItem('key', JSON.stringify(this.formData.invSpaceCode));
saveCountOrder(orderData).then((res) => { saveCountOrder(orderData).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.formData.orderId = res.data.orderId; this.formData.orderId = res.data.orderId;
@ -373,7 +370,9 @@ export default {
nameCode: product.nameCode, nameCode: product.nameCode,
batchNo: product.batchNo, batchNo: product.batchNo,
produceDate: product.productionDate, produceDate: product.productionDate,
expireDate: product.expireDate expireDate: product.expireDate,
invCode: this.formData.invCode,
invSpaceCode: this.formData.invSpaceCode
}; };
addCountOrderDetail(detailData).then((result) => { addCountOrderDetail(detailData).then((result) => {
if (result.code === 20000) { if (result.code === 20000) {
@ -503,7 +502,6 @@ export default {
// //
this.saveOrder(1); this.saveOrder(1);
} }
this.formData.invSpaceCode = JSON.parse(localStorage.getItem('key'));
this.selectInvProductVisible = false; this.selectInvProductVisible = false;
}, },
getRowKeys(row) { getRowKeys(row) {
@ -516,8 +514,6 @@ export default {
}); });
}, },
startCount(val) { startCount(val) {
debugger
localStorage.setItem('key', JSON.stringify(this.formData.invSpaceCode));
this.countProductList = []; this.countProductList = [];
if (this.countType === 0) { if (this.countType === 0) {
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {
@ -538,12 +534,12 @@ export default {
this.saveOrder(1); this.saveOrder(1);
} }
}); });
} else if (this.countType === 1 ) { } else if (this.countType === 1) {
if( val === 1) { if (isBlank(this.formData.invCode) || isBlank(this.formData.invSpaceCode)) {
if (isBlank(this.formData.invCode) || isBlank(this.formData.invSpaceCode)) { this.$message.warning("请先选择盘点仓库和货位");
this.$message.warning("请先选择盘点仓库和货位"); return;
return; }
} if (val === 1) {
let params = { let params = {
invCode: this.formData.invCode, invCode: this.formData.invCode,
invSpaceCode: this.formData.invSpaceCode invSpaceCode: this.formData.invSpaceCode
@ -552,14 +548,14 @@ export default {
if (res.data.total !== 0) { if (res.data.total !== 0) {
let invProductList = res.data.list; let invProductList = res.data.list;
for (let product of invProductList) { for (let product of invProductList) {
this.codeArray.push(product); this.countProductList.push(product);
} }
this.saveOrder(1); this.saveOrder(1);
} }
}); });
}else{ } else {
this.productList = [];
this.selectInvProductVisible = true; this.selectInvProductVisible = true;
} }
} else if (this.countType === 2) { } else if (this.countType === 2) {
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {

@ -108,11 +108,7 @@
border max-height="300" height="300"> border max-height="300" height="300">
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="条码" width="180" prop="code" show-overflow-tooltip></el-table-column> <el-table-column label="条码" width="180" prop="code" show-overflow-tooltip></el-table-column>
<el-table-column width="150" <el-table-column width="150" label="产品通用名" prop="productName" show-overflow-tooltip></el-table-column>
label="产品通用名"
prop="productName"
show-overflow-tooltip
></el-table-column>
<el-table-column width="150" label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column width="150" label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column width="150" label="批次号" prop="batchNo"></el-table-column> <el-table-column width="150" label="批次号" prop="batchNo"></el-table-column>
<el-table-column width="150" label="养护数量" prop="count"></el-table-column> <el-table-column width="150" label="养护数量" prop="count"></el-table-column>
@ -141,14 +137,14 @@
<el-input :disabled="scope.$index !== currentIndex" v-model="scope.row.remark"></el-input> <el-input :disabled="scope.$index !== currentIndex" v-model="scope.row.remark"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="生产日期(yyMMdd)" prop="produceDate"></el-table-column> <el-table-column label="生产日期(yyMMdd)" prop="productionDate"></el-table-column>
<el-table-column label="失效日期(yyMMdd)" prop="expireDate" <el-table-column label="失效日期(yyMMdd)" prop="expireDate"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证号" prop="zczbhhzbapzbh" <el-table-column label="注册/备案凭证号" prop="zczbhhzbapzbh"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<el-table-column label="生产厂家" prop="ylqxzcrbarmc" <el-table-column label="生产厂家" prop="ylqxzcrbarmc"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<el-table-column label="操作" > <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@ -338,7 +334,6 @@ export default {
this.closeDialog(); this.closeDialog();
}, },
saveOrder(code) { saveOrder(code) {
debugger
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {
this.$message.warning("请选择养护仓库!"); this.$message.warning("请选择养护仓库!");
return; return;
@ -449,6 +444,7 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.formData.code = null;
let params = {id: row.id}; let params = {id: row.id};
deleteInvMAOrderDetail(params).then((res) => { deleteInvMAOrderDetail(params).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -459,6 +455,7 @@ export default {
}).catch(() => { }).catch(() => {
}); });
} else { } else {
this.formData.code = null;
let params = {id: row.id}; let params = {id: row.id};
deleteInvMAOrderDetail(params).then((res) => { deleteInvMAOrderDetail(params).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
@ -566,7 +563,8 @@ export default {
if (null !== this.maOrder && !isBlank(this.maOrder.orderId)) { if (null !== this.maOrder && !isBlank(this.maOrder.orderId)) {
this.formData.orderId = this.maOrder.orderId; this.formData.orderId = this.maOrder.orderId;
this.formData.createTime = this.maOrder.createTime; this.formData.createTime = this.maOrder.createTime;
this.formData.invCode = this.maOrder.invWarehouseCode; this.formData.invCode = this.maOrder.invCode;
this.formData.invSpaceCode = this.maOrder.invSpaceCode;
this.getList(); this.getList();
} }
}, },

@ -57,7 +57,8 @@
@current-change="handleSelectionChange"> @current-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip></el-table-column> <el-table-column label="单据号" prop="billNo" width="150"></el-table-column>
<el-table-column label="单据类型" prop="billTypeName" width="150"></el-table-column>
<el-table-column label="来源" prop="fromType"> <el-table-column label="来源" prop="fromType">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ fromTypeMap[scope.row.orderFromType] }}</span> <span>{{ fromTypeMap[scope.row.orderFromType] }}</span>
@ -65,9 +66,9 @@
</el-table-column> </el-table-column>
<el-table-column label="往来单位" prop="fromCorpName" width="220"> <el-table-column label="往来单位" prop="fromCorpName" width="220">
</el-table-column> </el-table-column>
<el-table-column label="当前部门" prop="deptName" width="120"> <el-table-column label="当前部门" prop="deptName" width="220">
</el-table-column> </el-table-column>
<el-table-column label="当前仓库" prop="invName" width="120"> <el-table-column label="当前仓库" prop="invName" width="220">
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip> <el-table-column label="创建时间" prop="createTime" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">

@ -1,7 +1,7 @@
<template> <template>
<div class="login-container"> <div class="login-container">
<div> <div>
<h3 class="toptitle">福建省XX市医院</h3> <h3 class="toptitle">平潭协和医院</h3>
</div> </div>
<el-form <el-form
class="card-box login-form" class="card-box login-form"
@ -198,11 +198,12 @@ export default {
Cookies.remove("password"); Cookies.remove("password");
// Cookies.remove('rememberMe'); // Cookies.remove('rememberMe');
} }
this.$store.dispatch("Login", this.loginForm).then(() => { this.$store.dispatch("Login", this.loginForm).then((res) => {
this.$router.push({path: this.redirect || "/"}).catch(() => { this.$router.push({path: this.redirect || "/"}).catch((res) => {
}); });
}).catch(() => { }).catch((res) => {
this.loading = false; this.loading = false;
this.$message.error(res);
if (this.captchaEnabled) { if (this.captchaEnabled) {
this.getCode(); this.getCode();
} }

@ -1,115 +1,120 @@
<template> <template>
<div> <div>
<el-card class="el-card"> <el-card class="el-card">
<el-form :model="listQuery" label-width="120px" v-show="showSearch"> <el-form :model="listQuery" label-width="120px" v-show="showSearch">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="UDI码:" class="query-form-item"> <el-form-item label="UDI码:" class="query-form-item">
<el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入UDI码" clearable="true" @keyup.enter.native="keyup_submit($event)"></el-input> <el-input v-model="listQuery.udiCode" style="width: 96%" placeholder="请扫描或输入UDI码" clearable="true"
</el-form-item> @keyup.enter.native="keyup_submit($event)"></el-input>
</el-col> </el-form-item>
<el-col :span="6"> </el-col>
<el-form-item label="第三方产品编码:" class="query-form-item"> <el-col :span="6">
<el-input v-model="listQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码" clearable="true"></el-input> <el-form-item label="第三方产品编码:" class="query-form-item">
</el-form-item> <el-input v-model="listQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码"
</el-col> clearable="true"></el-input>
</el-row> </el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="物品编码:" class="query-form-item"> <el-form-item label="物品编码:" class="query-form-item">
<el-input v-model="listQuery.unionCode" style="width: 90%" placeholder="请输入DI/医保编码/商品条码" clearable="true"></el-input> <el-input v-model="listQuery.unionCode" style="width: 90%" placeholder="请输入DI/医保编码/商品条码"
</el-form-item> clearable="true"></el-input>
</el-col> </el-form-item>
<el-col :span="6"> </el-col>
<el-form-item label="产品通用名:" class="query-form-item"> <el-col :span="6">
<el-input v-model="listQuery.cpmctymc" style="width: 90%" placeholder="请输入产品通用名" clearable="true"></el-input> <el-form-item label="产品通用名:" class="query-form-item">
</el-form-item> <el-input v-model="listQuery.cpmctymc" style="width: 90%" placeholder="请输入产品通用名"
</el-col> clearable="true"></el-input>
<el-col :span="6"> </el-form-item>
<el-form-item label="规格型号:" class="query-form-item"> </el-col>
<el-input v-model="listQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable="true"></el-input> <el-col :span="6">
</el-form-item> <el-form-item label="规格型号:" class="query-form-item">
</el-col> <el-input v-model="listQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable="true"></el-input>
<el-col :span="6"> </el-form-item>
<el-form-item label="生产企业:" class="query-form-item"> </el-col>
<el-input v-model="listQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入生产企业/注册备案人" <el-col :span="6">
clearable="true"></el-input> <el-form-item label="生产企业:" class="query-form-item">
</el-form-item> <el-input v-model="listQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入生产企业/注册备案人"
</el-col> clearable="true"></el-input>
</el-row> </el-form-item>
</el-form> </el-col>
</el-row>
</el-form>
<div class="top-right-btn"> <div class="top-right-btn">
<el-button-group style="display:flex;"> <el-button-group style="display:flex;">
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button> <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-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="search"></el-button> <el-button type="primary" icon="el-icon-search" @click="search"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="confirmSelect"></el-button> <el-button type="primary" icon="el-icon-plus" @click="confirmSelect"></el-button>
</el-button-group> </el-button-group>
</div> </div>
<el-divider style="margin: 15px"></el-divider> <el-divider style="margin: 15px"></el-divider>
<el-table :data="dataList" style="width: 100%" v-loading="loading" border highlight-current-row :row-class-name="tableRowClassName" @current-change="handleChange" ref="multipleTable"> <el-table :data="dataList" style="width: 100%" v-loading="loading" border highlight-current-row
<el-table-column label width="45"> :row-class-name="tableRowClassName" @current-change="handleChange" ref="multipleTable">
<template slot-scope="scope"> <el-table-column label width="45">
<el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> <template slot-scope="scope">
</template> <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
</el-table-column> </template>
<el-table-column label="序号" type="index"></el-table-column> </el-table-column>
<el-table-column label="最小销售产品标识" prop="nameCode" width="140" show-overflow-tooltip></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column> <el-table-column label="最小销售产品标识" prop="nameCode" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="医疗器械注册人" prop="ylqxzcrbarmc"></el-table-column> <el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column>
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column> <el-table-column label="医疗器械注册人" prop="ylqxzcrbarmc"></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column> <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column> <el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="配送企业" prop="companyName" show-overflow-tooltip></el-table-column> <el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="160"> <el-table-column label="配送企业" prop="companyName" show-overflow-tooltip></el-table-column>
<template slot-scope="scope"> <el-table-column label="操作" width="160">
<el-button type="text" size="small" @click.native.stop="handleDetailClick(scope.row)">详情</el-button> <template slot-scope="scope">
</template> <el-button type="text" size="small" @click.native.stop="handleDetailClick(scope.row)">详情</el-button>
</el-table-column> </template>
</el-table> </el-table-column>
</el-table>
<pagination <pagination
v-show="pageTotal>0" v-show="pageTotal>0"
:total="pageTotal" :total="pageTotal"
:page.sync="listQuery.page" :page.sync="listQuery.page"
:limit.sync="listQuery.limit" :limit.sync="listQuery.limit"
@pagination="handleErpPageChange" @pagination="handleErpPageChange"
></pagination> ></pagination>
</el-card> </el-card>
<el-dialog <el-dialog
title="耗材字典详情" title="耗材字典详情"
:visible.sync="udiRlDetailVisible" :visible.sync="udiRlDetailVisible"
width="80%" width="80%"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
append-to-body append-to-body
v-if="udiRlDetailVisible" v-if="udiRlDetailVisible"
> >
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog> <udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog> </el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%"> <el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form"> <el-form :model="form">
<el-form-item label="" prop="isGive"> <el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert"> <el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio> <el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="selectCert"> </el-button> <el-button type="primary" @click="selectCert"> </el-button>
<el-button @click="dialogFormVisible = false"> </el-button> <el-button @click="dialogFormVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -119,257 +124,257 @@ import {addPlanDetail} from "@/api/purchase/purPlan"
import udiRlDetailDialog from "./../../purchase/purApply/purUdiRlDetailDialog"; import udiRlDetailDialog from "./../../purchase/purApply/purUdiRlDetailDialog";
export default { export default {
name: "stockOrderNewSelectProduct", name: "stockOrderNewSelectProduct",
props: { props: {
data: { data: {
type: Object, type: Object,
required: true, required: true,
},
closeDialog: {
type: Function,
required: true,
},
purType: {
type: Object,
required: true,
},
pId: {
type: Object,
required: true,
},
}, },
closeDialog: {
type: Function,
required: true,
},
purType: {
type: Object,
required: true,
},
pId: {
type: Object,
required: true,
},
},
data() { data() {
return { return {
showSearch: true, showSearch: true,
listQuery: { listQuery: {
purType: null, purType: null,
udiCode: null, udiCode: null,
unicode: null, unicode: null,
cpmctymc: null, cpmctymc: null,
ggxh: null, ggxh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
thrPiId: null, thrPiId: null,
page: 1, page: 1,
limit: 10, limit: 10,
},
combineQuery: {
thirdId: "",
relId: "",
erpName: "",
keys: [],
},
ids: [],
radioCheck: null,
dataList: [],
pageTotal: 1,
total: 1,
currentRow: null,
loading: false,
udiRlDetailVisible: false,
thirdSys: [],
thirdSysFk: null,
busTypes: [],
actDateRange: [],
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]);
}, },
combineQuery: { },
thirdId: "", {
relId: "", text: "最近一个月",
erpName: "", onClick(picker) {
keys: [], const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
}, },
ids:[], },
radioCheck: null, {
dataList: [], text: "最近三个月",
pageTotal: 1, onClick(picker) {
total: 1, const end = new Date();
currentRow: null, const start = new Date();
loading: false, start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
udiRlDetailVisible: false, picker.$emit("pick", [start, end]);
thirdSys: [],
thirdSysFk: null,
busTypes: [],
actDateRange: [],
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]);
},
},
],
}, },
orderEditor: false, },
orderId: "", ],
currentCert: null, },
certList: [], orderEditor: false,
dialogFormVisible: false, orderId: "",
multipleSelection: null, currentCert: null,
}; certList: [],
dialogFormVisible: false,
multipleSelection: null,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.listQuery = {
purType: null,
udiCode: null,
unicode: null,
cpmctymc: null,
ggxh: null,
ylqxzcrbarmc: null,
thrPiId: null,
page: 1,
limit: 10
}
this.multipleSelection = [];
this.radioCheck = null;
this.currentRow = null;
this.getList();
}, },
methods: { hideSearch() {
onReset() { this.showSearch = !this.showSearch;
this.$router.push({ },
path: "", tableRowClassName({row}) {
}); if (row.checked) return "warning-row";
this.listQuery = { return "";
purType: null, },
udiCode: null, checkSelectable(row) {
unicode: null, return !row.check;
cpmctymc: null, },
ggxh: null, handleCurrentChange(val) {
ylqxzcrbarmc: null, this.unionQuery.page = val;
thrPiId: null, this.getList();
page: 1, },
limit: 10 handleChange(val) {
} this.radioCheck = val.id;
this.multipleSelection = []; this.currentRow = val;
this.radioCheck = null; this.multipleSelection = val
this.currentRow = null; },
this.getList(); handleDetailClick(row) {
}, this.currentRow = row;
hideSearch() { this.udiRlDetailVisible = true;
this.showSearch = !this.showSearch;
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
checkSelectable(row) {
return !row.check;
},
handleCurrentChange(val) {
this.unionQuery.page = val;
this.getList();
},
handleChange(val) {
this.radioCheck = val.id;
this.currentRow = val;
this.multipleSelection = val
},
handleDetailClick(row) {
this.currentRow = row;
this.udiRlDetailVisible = true;
}, },
handleErpPageChange(val) { handleErpPageChange(val) {
this.listQuery.page = val.page; this.listQuery.page = val.page;
this.getList(); this.getList();
}, },
keyup_submit(event) { keyup_submit(event) {
this.listQuery.page = 1; this.listQuery.page = 1;
this.getList(); this.getList();
event.target.select(); event.target.select();
}, },
search() { search() {
this.listQuery.page = 1; this.listQuery.page = 1;
this.getList(); this.getList();
}, },
getList() { getList() {
this.loading = true; this.loading = true;
this.listQuery.customerId = store.getters.customerId; this.listQuery.customerId = store.getters.customerId;
filterCompanyProductRelevance(this.listQuery) filterCompanyProductRelevance(this.listQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
if (response.code === 20000) { if (response.code === 20000) {
this.dataList = response.data.list || []; this.dataList = response.data.list || [];
this.pageTotal = response.data.total || 0; this.pageTotal = response.data.total || 0;
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
this.dataList = []; this.dataList = [];
this.pageTotal = 0; this.pageTotal = 0;
} }
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
this.dataList = []; this.dataList = [];
this.pageTotal = 0; this.pageTotal = 0;
}); });
}, },
intentBack() { intentBack() {
this.closeDialog(); this.closeDialog();
}, },
confirmSelect() { confirmSelect() {
if (this.multipleSelection == null) { if (this.multipleSelection == null) {
this.$message.error('未选择产品'); this.$message.error('未选择产品');
return; return;
} }
if(this.ids.length>0){ if (this.ids.length > 0) {
for(var i=0;i<this.ids.length;i++){ for (var i = 0; i < this.ids.length; i++) {
if(this.ids[i]==this.multipleSelection.rlId){ if (this.ids[i] == this.multipleSelection.rlId) {
this.$message.error("该产品已录入!"); this.$message.error("该产品已录入!");
return return
} }
} }
} }
let str = this.multipleSelection.zczbhhzbapzbh; let str = this.multipleSelection.zczbhhzbapzbh;
if (str.search(",") != -1) { if (str.search(",") != -1) {
this.currentCert = null; this.currentCert = null;
this.certList = str.split(','); this.certList = str.split(',');
this.dialogFormVisible = true; this.dialogFormVisible = true;
} else { } else {
this.combine(); this.combine();
} }
}, },
combine() { combine() {
this.loading = true; this.loading = true;
let tQuery = { let tQuery = {
productId:this.multipleSelection.rlId, productId: this.multipleSelection.rlId,
productName:this.multipleSelection.cpmctymc, productName: this.multipleSelection.cpmctymc,
count:1, count: 1,
orderIdFk:this.pId, orderIdFk: this.pId,
supId:this.multipleSelection.customerId, supId: this.multipleSelection.customerId,
zczbhhzbapzbh:this.multipleSelection.zczbhhzbapzbh zczbhhzbapzbh: this.multipleSelection.zczbhhzbapzbh
}; };
addPlanDetail(tQuery).then((response) => { addPlanDetail(tQuery).then((response) => {
this.loading = false; this.loading = false;
if (response.code === 20000) { if (response.code === 20000) {
this.closeDialog(response.data); this.closeDialog(response.data);
} else { } else {
if (response.code == 601) { if (response.code == 601) {
this.$alert(response.message, "提示", { this.$alert(response.message, "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
});
} else
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
}); });
} else
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
});
}, },
selectCert() { selectCert() {
if (this.currentCert == null) { if (this.currentCert == null) {
this.$message.error("请先选择对应的注册证!"); this.$message.error("请先选择对应的注册证!");
}else{ } else {
this.multipleSelection.zczbhhzbapzbh = this.currentCert; this.multipleSelection.zczbhhzbapzbh = this.currentCert;
this.combine(); this.combine();
} }
},
}, },
components: {udiRlDetailDialog}, },
components: {udiRlDetailDialog},
created() { created() {
console.log(this.data) console.log(this.data)
if (this.$isNotBlank(this.data)) { if (this.$isNotBlank(this.data)) {
this.ids=[]; this.ids = [];
if(this.data.stockOrderLists.length>0){ if (this.data.stockOrderLists.length > 0) {
for(var i=0;i<this.data.stockOrderLists.length;i++){ for (var i = 0; i < this.data.stockOrderLists.length; i++) {
this.ids.push(this.data.stockOrderLists[i].productId); this.ids.push(this.data.stockOrderLists[i].productId);
}
}
} }
}
}
}, },
}; };
</script> </script>
@ -377,10 +382,10 @@ export default {
div /deep/ .el-table .warning-row { div /deep/ .el-table .warning-row {
background: #bebebe; background: #bebebe;
} }
div /deep/ .el-table .success-row { div /deep/ .el-table .success-row {
background: #ffffff; background: #ffffff;
} }
</style> </style>

@ -137,8 +137,8 @@
<el-table-column label="仓库名称" prop="invName" width="200"></el-table-column> <el-table-column label="仓库名称" prop="invName" width="200"></el-table-column>
<el-table-column label="货位名称" prop="invSpaceName" width="200"></el-table-column> <el-table-column label="货位名称" prop="invSpaceName" width="200"></el-table-column>
<el-table-column label="产品名称" prop="productName" width="300" show-overflow-tooltip></el-table-column> <el-table-column label="产品名称" prop="productName" width="300" show-overflow-tooltip></el-table-column>
<el-table-column label="批次号" prop="batchNo" width="300" show-overflow-tooltip></el-table-column> <el-table-column label="批次号" prop="batchNo" width="150" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="300" 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="status" width="100"> <el-table-column label="消息状态" prop="status" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag>{{ statusMap[scope.row.status] }}</el-tag> <el-tag>{{ statusMap[scope.row.status] }}</el-tag>
@ -149,7 +149,7 @@
<el-tag>{{ ignoreStatusMap[scope.row.ignoreStatus] }}</el-tag> <el-tag>{{ ignoreStatusMap[scope.row.ignoreStatus] }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预警类型" prop="productionDate" width="100"> <el-table-column label="预警类型" prop="productionDate" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag>{{ typeMap[scope.row.type] }}</el-tag> <el-tag>{{ typeMap[scope.row.type] }}</el-tag>
</template> </template>
@ -161,21 +161,22 @@
<el-table-column label="库存数量" prop="productionDate" width="100"></el-table-column> <el-table-column label="库存数量" prop="productionDate" width="100"></el-table-column>
<el-table-column label="生产日期" prop="productionDate" 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="supName" width="120"></el-table-column> <el-table-column label="供应商" prop="supName" width="150" show-overflow-tooltip></el-table-column>
<el-table-column label="生产厂家" prop="manufactory" width="120"></el-table-column> <el-table-column label="生产厂家" prop="manufactory" width="150" show-overflow-tooltip></el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" width="120"></el-table-column> <el-table-column label="批准文号" prop="zczbhhzbapzbh" width="150" show-overflow-tooltip></el-table-column>
<el-table-column label="备注" prop="remark" width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="100"> <el-table-column label="操作" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
size="small" size="small"
v-if="scope.row.status === 1"
@click.native="confirmMsg(scope.row)" @click.native="confirmMsg(scope.row)"
>确认 >确认
</el-button> </el-button>
<el-button <el-button
type="text" type="text"
size="small" size="small"
v-if="scope.row.ignoreStatus === 0"
@click.native="ignoreMsg(scope.row)" @click.native="ignoreMsg(scope.row)"
>忽略 >忽略
</el-button> </el-button>
@ -190,6 +191,26 @@
@pagination="getList" @pagination="getList"
/> />
</el-card> </el-card>
<!-- 忽略预警弹窗 -->
<el-dialog
v-if="ignoreVisible"
title="忽略预警"
:visible.sync="ignoreVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="30%"
top="5vh"
>
<el-row>
<el-button type="primary" size="medium" style="margin-left: 20%; margin-right: 20px;" @click="ignore(1)">
忽略7天
</el-button>
<el-button type="success" size="medium" style="margin-right: 20px;" @click="ignore(2)">15</el-button>
<el-button type="warning" size="medium" style="margin-right: 20px;" @click="ignore(3)">30</el-button>
</el-row>
</el-dialog>
</div> </div>
</template> </template>
@ -241,7 +262,9 @@ export default {
queryName: null, queryName: null,
invList: [], invList: [],
spaceList: [], spaceList: [],
ggxhList: [] ggxhList: [],
ignoreVisible: false,
currentId: null
}; };
}, },
methods: { methods: {
@ -357,10 +380,46 @@ export default {
this.filterQuery.relId = null; this.filterQuery.relId = null;
}, },
confirmMsg(row) { confirmMsg(row) {
this.$prompt('请输入处理方式', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({value}) => {
let params = {
id: row.id,
handleMsg: value
};
confirmMsg(params).then((res) => {
if (res.code === 20000) {
this.$message.success("已确认");
this.getList();
} else {
this.$message.error(res.message);
}
})
}).catch(() => {
});
}, },
ignoreMsg(row) { ignoreMsg(row) {
this.ignoreVisible = true;
this.currentId = row.id;
},
ignore(type) {
this.ignoreVisible = false;
let params = {
id: this.currentId,
ignoreStatus: type
};
ignoreMsg(params).then((res) => {
this.currentId = null;
if (res.code === 20000) {
this.$message.success("已忽略预警");
this.getList();
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.currentId = null;
})
}, },
}, },
created() { created() {

@ -16,7 +16,7 @@
@click="onUserReset" @click="onUserReset"
>重置 >重置
</el-button> </el-button>
<el-button type="primary" @click="loadUserList" <el-button type="primary" @click="search"
icon="el-icon-search" icon="el-icon-search"
>查询 >查询
</el-button </el-button
@ -207,6 +207,10 @@ export default {
}; };
this.loadUserList(); this.loadUserList();
}, },
search() {
this.userQuery.page = 1;
this.loadUserList();
},
loadUserList() { // loadUserList() { //
// if (val != null) { // if (val != null) {
// this.userQuery.page = val; // this.userQuery.page = val;

Loading…
Cancel
Save