条码编辑相关

prod
anthonywj 2 years ago
parent 9992dee11b
commit 52e91151b8

@ -0,0 +1,20 @@
import axios from '@/utils/request'
export function saveCode(query) {
return axios({
url: "/warehouse/inout/saveTempCode",
method: "post",
data: query
});
}
export function findByCode(query) {
return axios(
{
url: "/udiwms/basic/findByCode",
method: "get",
params: query
}
);
}

@ -0,0 +1,162 @@
<template>
<div>
<el-form :model="editData" :rules="formRules" ref="dataForm" label-width="100px">
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="UDI码:" prop="code">
<el-input
v-model="editData.code"
clearable
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="11">
<el-form-item prop="productDate" label="生产日期">
<el-input v-model="editData.produceDate" auto-complete="off"
oninput="if(value.length>6)value=value.slice(0,6)"
type="number"
:disabled="false"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="expireDate" label="失效日期">
<el-input v-model="editData.expireDate" auto-complete="off"
oninput="if(value.length>6)value=value.slice(0,6)"
type="number"
:disabled="false"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="11">
<el-form-item prop="batchNo" label="批次号">
<el-input v-model="editData.batchNo" auto-complete="off" :disabled="false"></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="serialNo" label="序列号">
<el-input v-model="editData.serialNo" auto-complete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="11">
<el-form-item prop="count" label="扫码数量">
<el-input v-model="editData.count" auto-complete="off"
type="number"
min="1"
:disabled="editData.serialNo!=null && editData.serialNo!='' "></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item>
<el-checkbox v-model="isUseDyCheck" disabled>是否以使用单元数量出入库</el-checkbox>
</el-form-item>
</el-col>
</el-row>
<div style="text-align: right;margin-top: 20px">
<el-button @click="cancelDialog"> </el-button>
<el-button type="primary" @click="saveCode()"> </el-button>
</div>
</el-form>
</div>
</template>
<script>
import {
findByCode,
saveCode
} from "@/api/inout/code";
export default {
name: "editCode",
props: {
editTye: {
type: Object,
required: true,
},
closeCodeDialog: {
type: Function,
required: true,
},
repeatAddCode: {
type: Function,
required: false,
},
codeDetail: {
type: Object,
required: true,
},
editData: null
},
data() {
return {
xlhEnable: false,
isUseDyCheck: false
};
},
methods: {
saveCode() {
if (this.editTye == 1) {
this.repeatAddCode(this.editData);
} else {
saveCode(this.editData)
.then((response) => {
console.log(response)
if (response.code === 20000) {
this.$message.success("提交成功");
this.codeDetail = this.editData;
this.closeCodeDialog();
} else {
this.$message.error(response.message);
}
this.loading = false;
});
}
}
,
cancelDialog() {
this.closeCodeDialog();
}
,
findByCode() {
let query = {udiCode: this.editData.code};
findByCode(query)
.then((response) => {
if (response.code === 20000) {
if (response.data.scbssfbhxlh == "否") {
this.xlhEnable = true;
}
if (response.data.zxxsbzbhsydysl > 1) {
this.isUseDyCheck = true;
}
} else {
}
this.loading = false;
});
}
}
,
created() {
this.editData = JSON.parse(JSON.stringify(this.codeDetail));
this.findByCode();
}
}
</script>
<style scoped>
</style>

@ -0,0 +1,891 @@
<template>
<div>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
height="500"
border
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="最小销售产品标识"
prop="nameCode"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品编码"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生产企业"
prop="ylqxzcrbarmc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品通用名"
prop="cpmctymc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="注册/备案凭证"
prop="zczbhhzbapzbh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="器械类别"
prop="qxlb"
show-overflow-tooltip
></el-table-column>
<el-table-column label="配送企业" prop="companyName" show-overflow-tooltip></el-table-column>
<el-table-column width="120" label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>详情
</el-button>
<el-button
type="text"
size="small"
@click.native.stop="bindId(scope.row)"
>选入绑定
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
title="产品信息编辑"
:visible.sync="editDialogVisible"
:close-on-click-modal="false"
append-to-body
:close-on-press-escape="false"
width="70%"
v-if="editDialogVisible"
>
<el-table :data="sysList" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="系统名称"
prop="sysName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品编码"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品名称"
prop="thirdName"
show-overflow-tooltip
></el-table-column>
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证号" prop="registerNo" show-overflow-tooltip></el-table-column>
<el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip></el-table-column>
</el-table>
<el-table
v-loading="loading"
:data="detailList"
style="width: 100%; margin-top: 20px"
border
@current-change="handleDetail"
>
<el-table-column
label="产品标识"
prop="nameCode"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品通用名"
prop="cpmctymc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装级别"
prop="packLevel"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装层级"
prop="bzcj"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-form
:model="editQuery"
:rules="rules"
ref="editQuery"
label-width="100px"
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%" :disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<div style="margin-top: 18px;margin-bottom: 18px">
<el-checkbox v-model="checked" disabled
>以使用单元数量入库
</el-checkbox>
<el-checkbox v-model="editQuery.isDisable" disabled
>是否禁用
</el-checkbox>
<el-checkbox v-model="editQuery.isAdavence" disabled
>是否寄售
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoBatch" disabled
>允许无批次号
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoExpire" disabled
>允许无失效日期
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoProduct" disabled
>允许无生产日期
</el-checkbox>
</div>
</el-col>
</el-row>
</el-form>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getUdiInfos, getAllUdiInfos,
deletetUdiInfos,
thirdSysDetail,
removeRl, sysFilter, getMutiUdiInfos
} from "../../api/basic/udiRelevance";
import {selectSysParamByKey} from "../../api/param/systemParamConfig";
import {filterByUuid} from "../../api/basic/udiInfo";
import {updateBind} from "../../api/inout/order"
export default {
name: "DialogSelectRl",
props: {
curRow: {
type: Object,
required: true,
},
closeBindDialog: {
type: Function,
required: true,
},
fromCorp:{
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
nameCode: null,
page: 1,
limit: 20,
},
editQuery: null,
relevanceEdit: {
id: null,
thirdId: "",
isDisable: null,
isUseDy: false,
isLock: null,
},
defaultSys: null,
isImport: false,
isImportUdi: false,
isUploadSmp: false,
isImportFile: false,
uploadFileUrl: null,
checked: false,
list: [],
detailList: [],
sysList: [],
filterList: [],
total: 0,
thirdNo: "",
uuid: "111",
thirdId: null,
relId: "",
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null
},
multipleSelection: [],
editDialogVisible: false, //
selectUdiDialogVisible: false, //
selectErpDialogVisible: false, //ERP
selectLocalVisible: false, //UDI
isUseDyCheck: false,
loading: false,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
nameCode: null,
unitFk: null,
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
this.filterQuery.nameCode = this.curRow.nameCode;
this.filterQuery.unitFk = this.fromCorp;
getMutiUdiInfos(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
keyup_submit(event) {
this.filterQuery.page = 1;
this.getList();
event.target.select();
}
,
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.isUseDyCheck = false;
this.loading = false;
this.detailList = response.data || [];
this.detailList.forEach((item, index, array) => {
if (item.zxxsbzbhsydysl > 1) {
this.isUseDyCheck = true;
}
});
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
}
,
handleDetail(row) {
this.editQuery = row;
console.log(row);
}
,
deleteOrders(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deletetUdiInfos(tquery)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
}
,
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
}
,
intentDetail() {
this.isImportUdi = false;
this.selectUdiDialogVisible = true;
}
,
addSelectErp(row) {
this.defaultSys = row.sysId;
this.isImport = false;
this.selectErpDialogVisible = true;
}
,
removeErp(row) {
this.$confirm("此操作将解除该绑定产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
relId: this.editQuery.relId,
thirdSys: row.sysId
};
removeRl(query)
.then((response) => {
if (response.code == 20000) {
this.getThirdSysDetail()();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
})
.catch(() => {
});
}
,
bindId(val) {
if (this.curRow.code != null) {
this.$emit("selectBindRl", val);
this.$emit("closeBindDialog", true);
} else {
let query = {
id: this.curRow.id,
bindStatus: 0,
bindRlFk: val.id,
mySupId: this.curRow.unitFk,
};
updateBind(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.closeBindDialog(this.curRow.id);
} else {
this.$message.error("-----503码" + response.message);
if (response.code == 503) {
this.closeBindDialog(503);
}
this.this.$message.error(response.message);
}
}).catch(() => {
});
}
}
,
cancelDialog() {
this.editDialogVisible = false;
}
,
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
}
,
handleModifyClick(row) {
this.uuid = row.uuid;
this.relId = row.relId;
this.isImport = false;
this.thisData = row;
this.editDialogVisible = true;
this.editQuery = row;
this.relevanceEdit = {
id: row.id,
// thirdId: row.thirdId,
isUseDy: row.isUseDy,
isDisable: row.isDisable,
isLock: row.isLock,
};
this.checked = row.isUseDy == 1;
let ttquery = {
uuid: row.uuid,
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
this.getDetailList(ttquery);
this.getThirdSysDetail();
}
,
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
this.getThirdSysDetail();
if (val) {
this.getList();
}
}
,
getThirdSysDetail() {
let query = {
id: this.relevanceEdit.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
}
,
getSysFilter() {
sysFilter()
.then((response) => {
this.loading = false;
this.filterList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.filterList = [];
});
}
,
closeDialog() {
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
}
,
selectSysParam() {
let query = {
paramKey: "smp_isUploadProuct",
};
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isUploadSmp = true;
}
}
});
let query1 = {
paramKey: "upload_pi_file_enabled",
};
selectSysParamByKey(query1).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isImportFile = true;
}
}
});
let query2 = {
paramKey: "upload_pi_file_url",
};
selectSysParamByKey(query2).then((response) => {
if (response.code == 20000) {
this.uploadFileUrl = response.data.paramValue;
}
});
}
,
}
,
mounted() {
}
,
components: {}
,
created() {
this.getList();
}
,
}
;
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 25%;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -0,0 +1,146 @@
<template>
<div>
<!-- <el-form :inline="true" :model="unitquery" class="query-form" size="mini">-->
<!-- <el-form-item class="query-form-item" label="关键字搜索:">-->
<!-- <el-input v-model="unitquery.key" placeholder="搜索"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-search"-->
<!-- @click.native.stop="getUnitList()"-->
<!-- >查询-->
<!-- </el-button-->
<!-- >-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-table
v-loading="loading"
:data="unitlist"
style="width: 100%"
highlight-current-row
height="500"
border
@current-change="handleDetail"
>
<el-table-column
label="往来单位ID"
prop="erpId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="往来单位名称"
prop="name"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="往来单位简写"
prop="spell"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="地址"
prop="addr"
show-overflow-tooltip
></el-table-column>
<el-table-column width="200" label="操作">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="selectUnit(scope.row)"
>选入绑定
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import {getBasicUnitMaintains, getCorpFilter} from "@/api/basic/basicUnitMaintain";
export default {
name: "DialogSelectUnit",
props: {
codeId: {
type: Object,
required: true,
},
fromCorp: {
type: Object,
required: true,
},
},
data() {
return {
loading: false,
unitquery: {key: "", page: 1, limit: 20},
unitlist: [],
unitUpdateQuery: {
id: "",
fromCorpId: "",
fromCorp: "",
},
}
},
methods: {
getUnitList() {
this.loading = true;
getBasicUnitMaintains(this.unitquery)
.then((response) => {
this.loading = false;
this.unitlist = response.data.page.list || [];
})
.catch(() => {
this.loading = false;
});
},
getUnitListByCode(row) {
let query = {
udiRlIdFk: row.relId,
unitFk: this.fromCorp,
}
getCorpFilter(query)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.unitlist = response.data || [];
} else {
this.$message.warning(response.message);
}
})
.catch(() => {
this.loading = false;
});
},
handleDetail(row) {
this.curUnitRow = row;
},
selectUnit(row) {
this.$emit("selectSupUnit", row);
this.$emit("closeBindDialog", true);
},
},
created() {
},
mounted() {
console.log("this.codeId = " + this.codeId)
if (this.codeId != null) {
this.getUnitListByCode(this.codeId)
}
}
}
</script>
<style scoped>
</style>

@ -188,7 +188,12 @@
v-if="isCodeDetailAlive"></codeDetailPanel>
</el-tab-pane>
<el-tab-pane label="扫码明细">
<codesPanel :idQuery="orderFormData" :refreshPanel="refreshCodesPanel" v-if="isCodeAlive"></codesPanel>
<codesPanel :idQuery="orderFormData"
:refreshPanel="refreshCodesPanel"
v-if="isCodeAlive"
:selectRlTitle="selectRlTitle"
:editTitle="editTitle"
:selectUnitTitle="selectUnitTitle"></codesPanel>
</el-tab-pane>
</el-tabs>
@ -208,22 +213,7 @@
<!-- v-on:closeBindDialog="closeBindDialog"-->
<!-- ></DialogSelectUnit>-->
<!-- </el-dialog>-->
<!-- <el-dialog-->
<!-- :title="selectRlTitle"-->
<!-- :visible.sync="selectRlVisible"-->
<!-- width="80%"-->
<!-- :close-on-click-modal="false"-->
<!-- :close-on-press-escape="false"-->
<!-- v-if="selectRlVisible"-->
<!-- append-to-body-->
<!-- >-->
<!-- <selectRlDialog-->
<!-- :curRow="curRow"-->
<!-- :curAction="curAction"-->
<!-- v-on:selectBindRl="selectBindRl"-->
<!-- v-on:closeBindDialog="closeBindDialog"-->
<!-- ></selectRlDialog>-->
<!-- </el-dialog>-->
<!-- <el-dialog-->
<!-- :title="editTitle"-->
@ -630,11 +620,7 @@ export default {
this.loading = false;
});
},
closeCodeDialog() {
this.editCodeVisible = false;
this.editOriginCodeVisible = false;
this.getCodeList();
},
//
resetForm() {
@ -700,16 +686,6 @@ export default {
},
repeatAddCode(editData) {
let tQuery = editData;
tQuery.orderId = this.orderFormData.id;
tQuery.actDate = parseTime(this.orderFormData.actDate, '{y}-{m}-{d} {h}:{i}:{s}');
tQuery.action = this.orderFormData.action;
this.closeCodeDialog();
this.addCodeSubmit(tQuery);
},
getInputFocus(event) {
event.currentTarget.select();
@ -751,36 +727,6 @@ export default {
},
selectBindRl(row) {
let query = {
id: this.curRow.id,
relId: row.id,
mySupId: row.unitFk,
};
updateCodeBindSup(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.orderFormData.id = this.curRow.orderId;
this.getCodeList();
} else {
if (response.code == 503) {
this.curRow = response.data;
this.orderFormData.id = this.curRow.orderId;
this.getCodeList();
this.selectUnitTitle = response.message;
this.handleUnitClick(response.data);
} else
this.$message.error(response.message);
}
}).catch(() => {
});
},
closeBindDialog(val) {
this.selectRlVisible = false;
this.dialogTableVisible = false;
},
},
filters: {},
mounted() {

@ -5,85 +5,85 @@
border
ref="multipleTable">
<el-table-column
type="selection"
width="55">
type="selection"
width="55">
</el-table-column>
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column
label="UDI码"
prop="code"
width="280"
show-overflow-tooltip
label="UDI码"
prop="code"
width="280"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生产日期"
prop="produceDate"
width="120"
show-overflow-tooltip
label="生产日期"
prop="produceDate"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="失效日期"
prop="expireDate"
width="120"
show-overflow-tooltip
label="失效日期"
prop="expireDate"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
width="120"
show-overflow-tooltip
label="批次号"
prop="batchNo"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="序列号"
prop="serialNo"
width="120"
show-overflow-tooltip
label="序列号"
prop="serialNo"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="供应商"
prop="supName"
width="180"
show-overflow-tooltip
label="供应商"
prop="supName"
width="180"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="扫码数量"
prop="count"
width="80"
show-overflow-tooltip
label="扫码数量"
prop="count"
width="80"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="实际数量"
prop="reCount"
width="80"
show-overflow-tooltip
label="实际数量"
prop="reCount"
width="80"
show-overflow-tooltip
></el-table-column>
<el-table-column label="操作" width="240">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="deleteCode(scope.$index, scope.row)"
type="text"
size="small"
@click.native.stop="deleteCode(scope.$index, scope.row)"
>减一
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="bindRl(scope.row)"
>选择产品
type="text"
size="small"
@click.native.stop="bindRl(scope.row)"
>绑定产品
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="handleUnitClick(scope.row)"
>选择供应商
type="text"
size="small"
@click.native.stop="handleUnitClick(scope.row)"
>绑定供应商
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="editCode(scope.row)"
type="text"
size="small"
@click.native.stop="editCode(scope.row)"
>编辑
</el-button
>
@ -92,18 +92,90 @@
</el-table>
<div class="block">
<pagination
v-show="total>0"
:total="total"
:page.sync="query.page"
:limit.sync="query.limit"
@pagination="getList"
v-show="total>0"
:total="total"
:page.sync="query.page"
:limit.sync="query.limit"
@pagination="getList"
/>
</div>
<!-- 绑定产品-->
<el-dialog
:title="selectRlTitle"
:visible.sync="selectRlVisible"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="selectRlVisible"
append-to-body
>
<selectRlDialog
:curRow="curRow"
:fromCorp="fromCorp"
v-on:selectBindRl="selectBindRl"
v-on:closeBindDialog="closeBindDialog"
></selectRlDialog>
</el-dialog>
<!-- 绑定供应商-->
<el-dialog
:title="selectUnitTitle"
:visible.sync="dialogTableVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="dialogTableVisible"
width="80%"
append-to-body
>
<DialogSelectUnit
:codeId="curRow"
:fromCorp="fromCorp"
v-on:selectSupUnit="selectSupUnit"
v-on:closeBindDialog="closeBindDialog"
></DialogSelectUnit>
</el-dialog>
<el-dialog
:title="editTitle"
:visible.sync="editCodeVisible"
append-to-body width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="editCodeVisible"
>
<editCodeDialog
editTye="2"
:closeCodeDialog="closeCodeDialog"
:codeDetail="codeDetail">
</editCodeDialog>
</el-dialog>
<el-dialog
:title="editTitle"
:visible.sync="editOriginCodeVisible"
append-to-body width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="editOriginCodeVisible">
<editCodeDialog
:closeCodeDialog="closeCodeDialog"
:repeatAddCode="repeatAddCode"
:codeDetail="idQuery"
editTye="1">
</editCodeDialog>
</el-dialog>
</div>
</template>
<script>
import {deleteCodesTempById, errorCodeList} from "@/api/inout/order";
import {deleteCodesTempById, errorCodeList, updateCodeBindSup} from "@/api/inout/order";
import selectRlDialog from "./DialogSelectRl";
import DialogSelectUnit from "./DialogSelectUnit";
import editCodeDialog from "./DialogEditCode";
import {parseTime} from "@/utils/coTools";
export default {
name: "IoAddCodeDetail",
@ -116,6 +188,19 @@ export default {
type: Function,
required: true,
},
selectRlTitle: {
type: Object,
required: true,
},
selectUnitTitle: {
type: Object,
required: true,
},
editTitle: {
type: Object,
required: true,
}
},
data() {
return {
@ -126,12 +211,15 @@ export default {
page: 1,
limit: 10,
},
codeDetail: null,
codeArray: [],
total: 0,
curRow: null,
selectRlVisible: false,
dialogTableVisible: false,
editCodeVisible: false,
editOriginCodeVisible: false,
fromCorp: null,
}
},
methods: {
@ -139,21 +227,21 @@ export default {
this.loading = true;
this.query.orderId = this.idQuery.billNo;
errorCodeList(this.query) //
.then((response) => {
this.codeArray = response.data.list || [];
this.total = response.data.total || 0;
for (let i = 0; i < this.codeArray.length; i++) {
this.codeArray[i].fromType = this.formData.fromType;
this.codeArray[i].billType = this.formData.billType;
}
this.tableSelection();
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
.then((response) => {
this.codeArray = response.data.list || [];
this.total = response.data.total || 0;
for (let i = 0; i < this.codeArray.length; i++) {
this.codeArray[i].fromType = this.formData.fromType;
this.codeArray[i].billType = this.formData.billType;
}
this.tableSelection();
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
deleteCode(index, row) {
@ -167,20 +255,21 @@ export default {
id: row.id
}
deleteCodesTempById(tQuery)
.then((response) => {
if (response.code === 20000) {
this.refreshPanel();
} else {
this.$message.error(response.message);
}
this.loading = false;
});
.then((response) => {
if (response.code === 20000) {
this.refreshPanel();
} else {
this.$message.error(response.message);
}
this.loading = false;
});
}).catch(() => {
});
},
bindRl(val) {
this.curRow = val;
this.fromCorp = this.idQuery.fromCorp;
this.selectRlVisible = true;
},
@ -202,11 +291,81 @@ export default {
}
return rowBackground;
},
selectBindRl(row) {
let query = {
id: this.curRow.id,
relId: row.id,
mySupId: row.unitFk,
};
updateCodeBindSup(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.orderFormData.id = this.curRow.orderId;
this.getCodeList();
} else {
if (response.code == 503) {
this.curRow = response.data;
this.orderFormData.id = this.curRow.orderId;
this.getCodeList();
this.selectUnitTitle = response.message;
this.handleUnitClick(response.data);
} else
this.$message.error(response.message);
}
}).catch(() => {
});
},
selectSupUnit(row) {
let query = {
id: this.curRow.id,
supId: row.erpId,
};
updateCodeBindSup(query).then((response) => {
if (response.code == 20000) {
this.$message.success("绑定成功");
this.idQuery.id = this.curRow.orderId;
this.getCodeList();
} else {
this.$message.error(response.message);
}
}).catch(() => {
});
},
closeBindDialog(val) {
this.selectRlVisible = false;
this.dialogTableVisible = false;
},
closeCodeDialog() {
this.editCodeVisible = false;
this.editOriginCodeVisible = false;
this.getCodeList();
},
repeatAddCode(editData) {
let tQuery = editData;
tQuery.orderId = this.orderFormData.id;
tQuery.actDate = parseTime(this.orderFormData.actDate, '{y}-{m}-{d} {h}:{i}:{s}');
tQuery.action = this.orderFormData.action;
this.closeCodeDialog();
this.addCodeSubmit(tQuery);
},
},
created() {
if (this.idQuery.billNo != null)
this.getCodeList();
},
components: {
selectRlDialog, DialogSelectUnit, editCodeDialog
},
}
</script>

Loading…
Cancel
Save