10/25 bug 优化1.0

dev_unify
wangwei 8 months ago
parent 809bce2c28
commit 836a673520

@ -716,6 +716,9 @@ export default {
checkCombine() {
debugger
if (this.multipleUdiSelection.length == 0){
return this.$message.error("请选择器械信息")
}
if (isBlank(this.relId)) {
this.checkedUdi();
} else {

@ -1650,22 +1650,7 @@
@closePre="closeUdi"
></product-edit>
<div style="text-align: center; margin-top: 12px">
<el-button
type="primary"
size="small"
icon="search"
@click="onAddSubmit(false)"
>提交
</el-button>
<el-button
type="primary"
size="small"
icon="search"
@click="cancelDialog"
>取消
</el-button>
</div>
</el-dialog>
<el-dialog
title="耗材字典-编辑"
@ -2399,19 +2384,21 @@ export default {
onAddSubmit(relSubmit) {
this.editFormat.relSubmit = relSubmit;
console.log(this.editFormat);
updatetUdiInfos(this.editFormat)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.cancelDialog();
this.editDialogVisible = false;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.cancelDialog();
});
console.log("使用剂量胆怯",this.editFormat.useLevel);
console.log("流通剂量胆怯",this.editFormat.distributeLevel);
// updatetUdiInfos(this.editFormat)
// .then((response) => {
// if (response.code == 20000) {
// this.getList();
// this.cancelDialog();
// this.editDialogVisible = false;
// } else {
// this.$message.error(response.message);
// }
// })
// .catch(() => {
// this.cancelDialog();
// });
},
onAddSingleSubmit() {

@ -566,12 +566,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="包装规格:">
<el-form-item label="规格型号:">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzgg"
v-model="editQuery.ggxh"
></el-input>
</el-form-item>
</el-col>
@ -1138,6 +1138,21 @@
<!-- </el-button>-->
<!--</div>-->
</el-dialog>
<div style="text-align: center; margin-top: 12px">
<el-button
type="primary"
size="small"
icon="search"
@click="onAddSubmit(false)"
>提交
</el-button>
<el-button
size="small"
icon="search"
@click="cancelDialog"
>取消
</el-button>
</div>
</div>
</template>
@ -1313,17 +1328,20 @@ export default {
},
methods: {
distributeLevelDiChange(val) {
console.log("gdgdgdgdgd",this.editQuery.distributeLevel)
const matchingItem = this.detailList.find(item => item.nameCode == val);
if (matchingItem) {
this.editQuery.distributeLevelUnit = matchingItem.packUnit;
this.editQuery.distributeLevel = matchingItem.packLevel
}
calculateDistCount(matchingItem).then((res) => {
this.editQuery = {
...this.editQuery,
distributeLevelCount: res.data.distributeLevelCount,
}
})
// calculateDistCount(matchingItem).then((res) => {
// this.editQuery = {
// ...this.editQuery,
// distributeLevelCount: res.data.distributeLevelCount,
// }
// })
},
useLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val);
@ -1331,12 +1349,12 @@ export default {
this.editQuery.useLevelUnit = matchingItem.packUnit;
this.editQuery.useLevel = matchingItem.packLevel;
}
calculateUseCount(matchingItem).then((res) => {
this.editQuery = {
...this.editQuery,
useLeverCount: res.data.useLeverCount,
}
})
// calculateUseCount(matchingItem).then((res) => {
// this.editQuery = {
// ...this.editQuery,
// useLeverCount: res.data.useLeverCount,
// }
// })
},
classifyChange() {
this.classifyChange(this.editQuery.flbm)
@ -1381,7 +1399,6 @@ export default {
},
addDrugLevel() {
console.log('this.detailList',this.detailList)
this.detailList.push({
nameCode: '',
packLevel: null,
@ -1461,6 +1478,8 @@ export default {
},
cancelDialog() {
this.editSingleDiDialogVisible = false;
this.onAddLoading = false;
this.$emit("closePre", true);
},
singleDiEdit(val) {
let temp = val;
@ -1768,9 +1787,10 @@ export default {
})
},
rowChange(index, val) {
console.log("rowChange===",index)
this.selectedIndex = index
// if (this.selectedIndex != null && this.selectedIndex != index){
// this.levelSave(val)
// }else
this.selectedIndex = index
this.isSave = false
},

@ -29,13 +29,31 @@
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column prop="code" label="编码"></el-table-column>
<el-table-column prop="remark" label="备注"></el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<el-table-column label="操作" width="200px" fixed="right">
<template slot-scope="scope">
<!--<el-button type="text" size="small" >保存-->
<!--</el-button>-->
<!--<el-button type="text" size="small">编辑-->
<!--</el-button>-->
<el-button type="text" @click="handleSubForm( scope.row, 'add')">新增</el-button>
<el-button type="text" @click.native.stop="handleSubForm( scope.row, 'edit')">编辑</el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="handleDelInv(scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="addHospProduct( scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code!=10000" @click.native.stop="removeHospProduct(scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code != 10000" @click.native.stop="handleDelInv(scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code != 10000" @click.native.stop="addHospProduct( scope.row)"></el-button>
<el-button type="text" v-if="scope.row.code != 10000" @click.native.stop="removeHospProduct(scope.row)"></el-button>
<!--:disabled=" scope.row.id != null"-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.stop="true"-->
<!-- @click.native="deleteLevel(scope.$index, scope.row)"-->
<!-- >删除-->
<!-- </el-button>-->
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
</template>
</el-table-column>
</el-table>

@ -405,7 +405,7 @@ export default {
if (!this.validateAndSetDate(row, 'productDate')) return;
// expireDate
if (row.productDate !== '' && row.expireDate !== null)
if (row.expireDate !== '' && row.expireDate !== null)
if (!this.validateAndSetDate(row, 'expireDate')) return;
@ -436,7 +436,7 @@ export default {
if (row[fieldName] === '') {
row[fieldName] = null;
} else {
let msg = this.checkTimeFormat(row[fieldName]);
let msg = this.checkTimeFormat(row[fieldName],fieldName);
if (msg !== "") {
this.$message.error(msg);
return false;
@ -541,9 +541,14 @@ export default {
}
,
checkTimeFormat(dateStr) {
checkTimeFormat(dateStr,fieldName) {
let errorMessage = '';
let dateName = '';
if (fieldName == 'productDate'){
dateName = '生产日期'
}else{
dateName = '失效日期'
}
//
if (typeof dateStr !== 'string' || dateStr === null || dateStr === undefined) {
errorMessage = '输入参数必须是非空字符串';
@ -552,7 +557,7 @@ export default {
const regex = /^\d{6}$/;
if (!regex.test(dateStr)) {
errorMessage = '时间格式不正确,应为 yyMMdd';
errorMessage = dateName + '时间格式不正确,应为 yyMMdd';
} else {
//
const year = parseInt(dateStr.substring(0, 2), 10);
@ -563,7 +568,7 @@ export default {
if (year < 0 || year > 99 ||
month < 1 || month > 12 ||
day < 1 || day > 31) {
errorMessage = '时间格式不正确!';
errorMessage = dateName + '时间格式不正确!';
} else {
//
const fullYear = year < 50 ? 2000 + year : 1900 + year;
@ -571,7 +576,7 @@ export default {
//
if (dateObj.getFullYear() !== fullYear || dateObj.getMonth() + 1 !== month || dateObj.getDate() !== day) {
errorMessage = '时间格式不正确!';
errorMessage = dateName + '时间格式不正确!';
}
}
}

@ -283,6 +283,11 @@ export default {
})
},
saveOrder(status) {
//todo
if (this.formData.targetBillAction == null){
return this.$message.error("请选择入库单据类型")
}
let tip = ''
if (status == '1') {
if (this.formData.dealStatus == 1) {

@ -365,7 +365,20 @@
:editQuery="editQuery"
:closeDialog="closeDialog">
</basicProductEdit>
<div style="text-align: center; margin-top: 12px">
<el-button
type="primary"
size="small"
icon="search"
@click="onAddSubmit(false)"
>提交
</el-button>
<el-button
size="small"
@click="cancelDialog"
>取消
</el-button>
</div>
</el-dialog>
<el-dialog

@ -9,16 +9,16 @@
<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-column label="操作">
<template slot-scope="scope">
<el-button type="text" @click="addSelectErp(scope.row)" :disabled="scope.row.thirdId==editQuery.nameCode">
关联
</el-button>
<el-button type="text" @click.native.stop="removeErp(scope.row)"
:disabled="editQuery.flbm==null || scope.row.thirdId==null || scope.row.thirdId==''">解绑
</el-button>
</template>
</el-table-column>
<!--<el-table-column label="操作">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button type="text" @click="addSelectErp(scope.row)" :disabled="scope.row.thirdId==editQuery.nameCode">-->
<!-- 关联-->
<!-- </el-button>-->
<!-- <el-button type="text" @click.native.stop="removeErp(scope.row)"-->
<!-- :disabled="editQuery.flbm==null || scope.row.thirdId==null || scope.row.thirdId==''">解绑-->
<!-- </el-button>-->
<!-- </template>-->
<!--</el-table-column>-->
</el-table>
</el-card>
<el-card>
@ -28,19 +28,27 @@
margin-bottom: 8px">
<span>产品标识:</span>
</div>
<div style=" float: right;
text-align: right;
margin-bottom: 8px;">
<el-button type="primary" size="mini" icon="search" @click="removeDi" v-if="productType!=1"
style="text-align:right">解绑DI器械信息
</el-button>
</div>
<!--<div style=" float: right;-->
<!-- text-align: right;-->
<!-- margin-bottom: 8px;">-->
<!-- <el-button type="primary" size="mini" icon="search" @click="removeDi" v-if="productType!=1"-->
<!-- style="text-align:right">解绑DI器械信息-->
<!-- </el-button>-->
<!--</div>-->
<el-table v-loading="loading" :data="detailList" style="width: 100%; " border key="3" highlight-current-row
@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="nameCode" show-overflow-tooltip width="130"></el-table-column>
<el-table-column label="标识类型" prop="diType" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ diTypeMap[scope.row.diType] }}</span>
</template>
</el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="包装单位" prop="packUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="层级单位" prop="packUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="下级数量" prop="bhxjsl" show-overflow-tooltip></el-table-column>
<el-table-column label="下级单位" prop="xjdw" show-overflow-tooltip></el-table-column>
<el-table-column label="下级标识" prop="bhxjcpbm" show-overflow-tooltip></el-table-column>
<el-table-column label="上级标识" prop="sjcpbm" show-overflow-tooltip></el-table-column>
<!-- <el-table-column label="操作" width="180px">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button type="text" @click.native.stop="singleDiEdit">编辑</el-button>-->
@ -1037,6 +1045,10 @@ export default {
editSingleDiDialogVisible: false,
selectErpDialogVisible: false, //ERP
updateLoading: false,
diTypeMap: {
1 : '最小销售标识',
4 : '外包装标识'
}
}
},

@ -493,27 +493,52 @@
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable6">
<el-form-item :label="productRemarkSet.remarkTitle6+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.basicPrductRemak6"
></el-input>
<el-select v-model="editQuery.basicPrductRemak6" style="width: 80%" placeholder="是否扣费" clearable>
<el-option label="扣费" value="1"></el-option>
<el-option label="不扣费" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12" v-if="productRemarkSet.remarkEnable7">
<!--<el-col :span="12" v-if="productRemarkSet.remarkEnable7">-->
<!-- <el-form-item :label="productRemarkSet.remarkTitle7+':'">-->
<!-- <el-input-->
<!-- style="width: 80%"-->
<!-- size="small"-->
<!-- splaceholder="请输入内容"-->
<!-- v-model="editQuery.basicPrductRemak7"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<el-col :span="12" v-if="productRemarkSet.remarkEnable7">
<el-form-item :label="productRemarkSet.remarkTitle7+':'">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
<el-select
v-model="editQuery.basicPrductRemak7"
></el-input>
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择物资类别"
:remote-method="findThrTypeMethod"
style="width: 80%"
>
<el-option
v-for="item in thrTypeOptions"
:key="item.code"
:label="item.name"
:value="item.code"
>
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="productRemarkSet.remarkEnable8">
<el-col :span="12" v-if="productRemarkSet.remarkEnable8 && editQuery.basicPrductRemak6=='1'" >
<el-form-item :label="productRemarkSet.remarkTitle8+':'">
<el-select
v-model="editQuery.basicPrductRemak8"
@ -566,12 +591,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="包装规格:">
<el-form-item label="规格型号:">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzgg"
v-model="editQuery.ggxh"
></el-input>
</el-form-item>
</el-col>
@ -689,14 +714,17 @@ import {getYbHcflDetail, disableUdi, removeDiRl, removeRl, thirdSysDetail} from
import {updateById} from '@/api/basic/udiRelevance'
import {filterByUuid} from '@/api/basic/udiInfo'
import selectErp from "./udiInfoselectErpUdi";
import Treeselect from "@riophae/vue-treeselect";
import selectUdiVersion from '@/views/basic/product/UdiinfoSelectVersion'
import {getHslbs, getThrProductType} from "@/api/thrsys/thrHsfl";
import {filterClassify} from '@/api/purchase/classifyCode'
import { calculateDistCount } from '@/api/basic/product/drugUdiinfos'
import { calculateDistCount, updateLevelDrug } from '@/api/basic/product/drugUdiinfos'
import { levelByUuid } from '@/api/basic/product/udiInfo'
import { getListMenu, getOneName } from '@/api/basic/basicHospType'
import { isBlank } from '@/utils/strUtil'
export default {
name: 'productEdit',
name: 'basicCompanyproductEdit',
props: {
editQuery: {
type: Object,
@ -757,6 +785,7 @@ export default {
}
],
levelUnitList: [],
fromDeptOptions: [],
}
},
@ -1024,13 +1053,85 @@ export default {
});
},
/** 转换菜单数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.code,
label: node.name,
children: node.children
};
},
getTreeselect() {
getOneName().then(res => {
const menu = {id: res.data.id, code: res.data.code, name: res.data.name, children: []};
getListMenu({}).then(response => {
this.fromDeptOptions = [];
menu.children = this.handleTree(response.data, "code", "parentCode");
console.log(menu)
this.fromDeptOptions.push(menu);
});
})
},
//
levelSave(row) {
if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空')
return
}
if (isBlank(row.packLevel)) {
this.$message.error('包装级别不能为空')
return
}
if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空')
return
}
let editQuery = {
nameCode: row.nameCode,
packLevel: row.packLevel,
packUnit: row.packUnit,
sjcpbm: row.sjcpbm,
bhxjcpbm: row.bhxjcpbm,
bhxjsl: row.bhxjsl,
relId: this.editQuery.rlId,
uuid: this.editQuery.uuid,
productId: row.productId,
diType: row.diType,
xjdw: row.xjdw
}
updateLevelDrug(editQuery).then(res => {
this.saveLoading = false
if (res.code == 20000) {
this.isSave = true
this.$message.success('保存成功!')
this.selectedIndex = null
this.getDetailList()
this.getDiLevel();
} else {
this.isSave = true
this.$message.error(res.message)
}
})
},
rowChange(index, val) {
console.log("rowChange===",index)
this.selectedIndex = index
this.isSave = false
},
},
components: {
selectErp
selectErp,Treeselect
},
created() {
this.getDiLevel()
this.getThirdSysDetail();
this.getTreeselect();
var ttquery = {
id: this.editQuery.rlId,
page: 1,

@ -124,7 +124,7 @@
<el-card class="el-card">
<el-form :model="editQuery" ref="editQuery" border label-width="100px">
<el-form :model="editQuery" ref="editQuery" border label-width="100px" :rules="rules">
<!-- <el-row :gutter="20" class="el-row" type="flex">-->
<!-- <H3 style="margin-left: 10px;margin-bottom: 15px">产品信息补齐</H3>-->
<!-- </el-row>-->
@ -216,8 +216,8 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="计量单位:">
<el-col :span="12" class="el-col" >
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 65%" size="small" splaceholder="请输入内容" v-model="editQuery.measname"></el-input>
</el-form-item>
</el-col>
@ -244,13 +244,13 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="产品价格:">
<el-form-item label="产品价格:" prop="price">
<el-input style="width: 65%" size="small" splaceholder="请输入内容" type="number" step="0.01"
v-model="editQuery.price"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="采购类型">
<el-form-item label="采购类型" prop="purType">
<el-select
v-model="editQuery.purType"
placeholder="请选择"
@ -264,7 +264,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品属性">
<el-form-item label="产品属性" prop="attributeType">
<el-select
v-model="editQuery.attributeType"
placeholder="请选择"
@ -278,7 +278,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="耗材类别">
<el-form-item label="耗材类别" prop="hcType">
<el-select
v-model="editQuery.hcType"
placeholder="请选择"
@ -296,6 +296,7 @@
label="是否可集采:"
prop="groupBuy"
class="query-form-item"
>
<el-radio-group v-model="editQuery.groupBuy">
<el-radio :label="true"></el-radio>
@ -349,7 +350,7 @@
</el-col>
<el-col :span="12" class="el-col" v-if="productRemarkSet.remarkEnable6">
<el-form-item :label="productRemarkSet.remarkTitle6">
<el-form-item :label="productRemarkSet.remarkTitle6" prop="basicPrductRemak6">
<el-select
v-model="editQuery.basicPrductRemak6"
placeholder="请选择"
@ -362,7 +363,7 @@
</el-form-item>
</el-col>
<el-col :span="12" class="el-col" v-if="productRemarkSet.remarkEnable7">
<el-form-item :label="productRemarkSet.remarkTitle7 ">
<el-form-item :label="productRemarkSet.remarkTitle7 " prop="basicPrductRemak7">
<el-select
v-model="editQuery.basicPrductRemak7"
filterable
@ -533,6 +534,33 @@ export default {
productRemarkSet: {},
hsflOptions: [],
thrTypeOptions: [],
//
rules: {
measname: [
{ required: true, message: "计量单位不能为空", trigger: "change" }
],
price: [
{ required: true, message: "请输入价格", trigger: "change" }
],
groupBuy: [
{ required: true, message: "请选择是否采集", trigger: "change" }
],
purType: [
{ required: true, message: "请选择采购类型", trigger: "change" }
],
hcType: [
{ required: true, message: "请选择耗材类别", trigger: "change" }
],
attributeType: [
{ required: true, message: "请选择产品属性", trigger: "change" }
],
basicPrductRemak6: [
{ required: true, message: "请选择是否扣费", trigger: "change" }
],
basicPrductRemak7: [
{ required: true, message: "请选择物资类别", trigger: "change" }
],
}
}
},
methods: {
@ -739,15 +767,20 @@ export default {
this.editQuery.uuids = uuids
this.editQuery.devKeys = devKeys
this.editQuery.sourceType = 0
addDiProduct(this.editQuery).then((res) => {
if (res.code === 20000) {
this.$message.success('添加成功')
this.$emit('closeUdi', true)
} else {
this.$message.error(res.message)
this.$refs.editQuery.validate((valid) => {
if (valid) {
addDiProduct(this.editQuery).then((res) => {
if (res.code === 20000) {
this.$message.success('添加成功')
this.$emit('closeUdi', true)
} else {
this.$message.error(res.message)
}
}).catch((error) => {
})
}
}).catch((error) => {
})
},
combine() {

@ -569,6 +569,7 @@ export default {
created() {
this.findBasicProductSet();
this.getBasicThirdSys();
this.findThrTypeMethod("")
},
}
</script>

@ -353,9 +353,7 @@ export default {
this.thrProductsEditVisible = false;
this.thrProductsDetailVisible = false;
this.addProductVisible = false;
if (val) {
this.getList();
}
Object.keys(this.newProductData).forEach(key => this.newProductData[key] = null);
},
getSyncConfig() {

Loading…
Cancel
Save