耗材字典解绑问题,编辑菜单问题

prod
anthonywj 2 years ago
parent ea3f3ed180
commit 2dd1338b92

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

@ -102,7 +102,7 @@
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="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="intentImportErp"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="intentDetail"></el-button>
@ -1098,7 +1098,7 @@
></pagination>
<el-dialog
title="编辑-耗材菜单"
title="编辑-耗材分类"
:visible.sync="selectUdiTypeVisible"
:before-close="hideForm"
:close-on-click-modal="false"

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

@ -1,7 +1,7 @@
<template>
<div class="login-container">
<div>
<h3 class="toptitle">福建省XX市医院</h3>
<h3 class="toptitle">平潭协和医院</h3>
</div>
<el-form
class="card-box login-form"

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

Loading…
Cancel
Save