前端最新版本同步

This commit is contained in:
Zhang.WH
2025-09-25 10:36:07 +08:00
parent a3a06d6f3c
commit 1276dc4adb
117 changed files with 11964 additions and 2466 deletions

View File

@@ -979,7 +979,12 @@ function addNewRow() {
}
function submit(value){
form.purchaseinventoryList[currentIndex.value].traceNo = value;
if (form.purchaseinventoryList[currentIndex.value].traceNo) {
form.purchaseinventoryList[currentIndex.value].traceNo =
form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value;
} else {
form.purchaseinventoryList[currentIndex.value].traceNo = value;
}
openTraceNoDialog.value = false;
}
@@ -2139,6 +2144,7 @@ function getbusNo() {
getstocktakingDetail(queryParams.value).then((res) => {
console.log(res.data.records?res.data.records:res.data,1212121)
form.purchaseinventoryList = res.data.records?res.data.records:res.data
receiptHeaderForm.occurrenceTime = formatDate(res.data.records[0].occurrenceTime)
total.value = res.data.total
getDetail(1)
getAllBatchList(2)

View File

@@ -837,7 +837,12 @@ function handleScan(row,index){
}
function submit(value){
form.purchaseinventoryList[currentIndex.value].traceNo = value;
if (form.purchaseinventoryList[currentIndex.value].traceNo) {
form.purchaseinventoryList[currentIndex.value].traceNo =
form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value;
} else {
form.purchaseinventoryList[currentIndex.value].traceNo = value;
}
openTraceNoDialog .value = false;
}
function formatContent(value){
@@ -988,6 +993,7 @@ function getTransferProductDetails(type){
queryParams.value.busNo = receiptHeaderForm.busNo
getstocktakingDetail(queryParams.value).then((res) => {
form.purchaseinventoryList = res.data.records?res.data.records:res.data
receiptHeaderForm.occurrenceTime = formatDate(res.data.records[0].occurrenceTime)
total.value = res.data.total;
form.purchaseinventoryList.map((e,index)=>{
e.isSave = true
@@ -1277,6 +1283,8 @@ function handleLocationClick(purposeLocationId,itemId, index,lotNumber) {
form.purchaseinventoryList[index].unitCode = form.purchaseinventoryList[index].unitList.minUnitCode
form.purchaseinventoryList[index].unitCode_dictText = form.purchaseinventoryList[index].unitList.minUnitCode_dictText
// 这里临时存一下大单位价格 切换到大单位直接取这个值,切换单位会有除不尽的情况,临时处理一下
form.purchaseinventoryList[index].unitPrice = res.data[0].price
// 单价 大单位单价
if(form.purchaseinventoryList[index].unitCode==form.purchaseinventoryList[index].unitList.minUnitCode){
form.purchaseinventoryList[index].price = res.data[0].price / form.purchaseinventoryList[index].partPercent|| "";
@@ -1443,7 +1451,7 @@ function getMaxCounts(row,index,counts){
// form.purchaseinventoryList[index].unitList.minUnitCode_dictText
// }
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price * row.partPercent;
form.purchaseinventoryList[index].unitPrice;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
}
}

View File

@@ -871,6 +871,7 @@ function getTransferProductDetails() {
// 编辑
getTransferProductDetail(receiptHeaderForm.busNo).then((res) => {
form.purchaseinventoryList = res.data;
receiptHeaderForm.occurrenceTime = res.data[0].occurrenceTime ? formatDate(res.data[0].occurrenceTime) : new Date()
form.purchaseinventoryList.map((e, index) => {
e.isSave = true;
form.purchaseinventoryList[index].statusMaxvalue = false;
@@ -1132,7 +1133,8 @@ function selectRow(rowValue, index) {
form.purchaseinventoryList[index].unitList.minUnitCode;
form.purchaseinventoryList[index].unitCode_dictText =
form.purchaseinventoryList[index].unitList.minUnitCode_dictText;
// 存一下大单位价格 切换单位会有除不尽的情况 临时处理一下
form.purchaseinventoryList[index].unitPrice = res.data[0].price
// 单价 大单位单价
if (
form.purchaseinventoryList[index].unitCode ==
@@ -1338,7 +1340,7 @@ function getMaxCounts(row, index, counts) {
}
} else {
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price * row.partPercent;
form.purchaseinventoryList[index].unitPrice;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
}
console.log(form.purchaseinventoryList[index].price, '121212121');

View File

@@ -37,82 +37,82 @@
style="width: 100%"
border
>
<el-table-column prop="locationId_dictText" label="库房" width="180" />
<el-table-column prop="initialAmount" label="期初金额" width="120" align="right" />
<el-table-column prop="finalAmount" label="期末金额" width="120" align="right">
<el-table-column prop="locationId_dictText" label="库房" min-width="150" show-overflow-tooltip />
<el-table-column prop="initialAmount" label="期初金额" min-width="160" align="right" />
<el-table-column prop="finalAmount" label="期末金额" min-width="160" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 1)">
{{ scope.row.finalAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="expectFinalAmount" label="预期期末金额" width="140" align="right" />
<el-table-column prop="offsetAmount" label="偏移量" width="100" align="right" />
<el-table-column prop="purchaseInAmount" label="采购入库金额" width="140" align="right">
<el-table-column prop="expectFinalAmount" label="预期期末金额" min-width="160" align="right" />
<el-table-column prop="offsetAmount" label="偏移量" min-width="100" align="right" />
<el-table-column prop="purchaseInAmount" label="采购入库金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 2)">
{{ scope.row.purchaseInAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="purchaseInNumber" label="采购入库单据数" width="140" align="right" />
<el-table-column prop="purchaseReturnAmount" label="采购出库金额" width="140" align="right">
<el-table-column prop="purchaseInNumber" label="采购入库单据数" min-width="120" align="right" />
<el-table-column prop="purchaseReturnAmount" label="采购出库金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 3)">
{{ scope.row.purchaseReturnAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="purchaseReturnNumber" label="采购出库单据数" width="140" align="right" />
<el-table-column prop="applyOutAmount" label="领用出库金额" width="140" align="right">
<el-table-column prop="purchaseReturnNumber" label="采购出库单据数" min-width="120" align="right" />
<el-table-column prop="applyOutAmount" label="领用出库金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 4)">
{{ scope.row.applyOutAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="applyOutNumber" label="领用出库单据数" width="140" align="right" />
<el-table-column prop="applyReturnAmount" label="领用退货金额" width="140" align="right">
<el-table-column prop="applyOutNumber" label="领用出库单据数" min-width="120" align="right" />
<el-table-column prop="applyReturnAmount" label="领用退货金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 5)">
{{ scope.row.applyReturnAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="applyReturnNumber" label="领用退货单据数" width="140" align="right" />
<el-table-column prop="transferInAmount" label="调拨入库金额" width="140" align="right" />
<el-table-column prop="transferInNumber" label="调拨入库单据数" width="140" align="right">
<el-table-column prop="applyReturnNumber" label="领用退货单据数" min-width="120" align="right" />
<el-table-column prop="transferInAmount" label="调拨入库金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 6)">
{{ scope.row.transferInNumber }}
{{ scope.row.transferInAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="transferOutAmount" label="调拨出库金额" width="140" align="right">
<el-table-column prop="transferInNumber" label="调拨入库单据数" min-width="120" align="right" />
<el-table-column prop="transferOutAmount" label="调拨出库金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 6)">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 10)">
{{ scope.row.transferOutAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="transferOutNumber" label="调拨出库单据数" width="140" align="right" />
<el-table-column prop="checkProfitLossAmount" label="盘点盈亏金额" width="140" align="right">
<el-table-column prop="transferOutNumber" label="调拨出库单据数" min-width="120" align="right" />
<el-table-column prop="checkProfitLossAmount" label="盘点盈亏金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 7)">
{{ scope.row.checkProfitLossAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="checkProfitLossNumber" label="盘点盈亏单据数" width="140" align="right" />
<el-table-column prop="lossAmount" label="报损金额" width="120" align="right">
<el-table-column prop="checkProfitLossNumber" label="盘点盈亏单据数" min-width="120" align="right" />
<el-table-column prop="lossAmount" label="报损金额" min-width="100" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 8)">
{{ scope.row.lossAmount }}
</div>
</template>
</el-table-column>
<el-table-column prop="lossNumber" label="报损单据数" width="120" align="right" />
<el-table-column prop="drugIssueAmount" label="药品发放金额" width="140" align="right">
<el-table-column prop="lossNumber" label="报损单据数" min-width="100" align="right" />
<el-table-column prop="drugIssueAmount" label="药品发放金额" min-width="120" align="right">
<template #default="scope">
<div style="color: dodgerblue;cursor: pointer;" @click="skipToPage(scope, 9)">
{{ scope.row.drugIssueAmount }}
@@ -198,15 +198,26 @@ const setDefaultDateRange = () => {
const handleSearch = async () => {
try {
loading.value = true;
// 构建查询参数
// 构建查询参数并拼接时间
const params = {
...searchParams
locationId: searchParams.locationId
};
// 处理开始时间,拼接 00:00:00
if (searchParams.startTime) {
params.startTime = searchParams.startTime + ' 00:00:00';
}
// 处理结束时间,拼接 00:00:00
if (searchParams.endTime) {
params.endTime = searchParams.endTime + ' 00:00:00';
}
// 调用API获取数据实际项目中替换为真实API调用
const response = await getList(params);
loading.value = false;
console.log('查询结果:', response)
reconciliationData.value = [];
reconciliationData.value.push(response.data.data)
} catch (error) {
@@ -252,31 +263,32 @@ const skipToPage = (records, index) => {
let path = '';
switch (index) {
case 1:
path = '/medicationmanagement/chkstock/chkstockPart'; // 盘点
path = '/aa/4/chkstockPartDetails'; // 库存
break;
case 2:
path = '/medicationmanagement/medicationmanagement/purchaseDocument'; // 采购入库页
path = '/aa/4/purchaseDocumentDetsils'; // 采购入库页
break;
case 3:
path = '/medicationmanagement/medicationmanagement/returnedPurchase'; // 采购退货页
path = '/aa/4/purchaseReturnDetsils'; // 采购退货页
break;
case 4:
path = '/medicationmanagement/requisitionManagement/requisitionManagement'; // 领用出库页
path = '/aa/4/requisitionDetails'; // 领用出库页
break;
case 5:
path = '/medicationmanagement/requisitionManagement/returningInventory'; // 领用退库页
path = '/aa/4/returnOrutboundDetails'; // 领用退库页
break;
case 6:
path = '/medicationmanagement/transferManagement/transferManagent'; // 调拨页
case 10:
path = '/aa/4/transferManagentDetails'; // 调拨页
break;
case 7:
path = '/medicationmanagement/chkstock/chkstockPart'; // 盘点页
path = '/aa/4/chkstockPartDetails'; // 盘点页
break;
case 8:
path = '/medicationmanagement/lossReportingManagement/lossReportingManagement'; // 报损页
path = '/aa/4/lossReportingDetails'; // 报损页
break;
case 9:
path = '/giveGrug/pharmacymanagement'; // 药品发放
path = '/aa/3/medicationDetails'; // 药品发放
break;
default:
ElMessage.warning('无效的页面索引');
@@ -284,15 +296,35 @@ const skipToPage = (records, index) => {
}
// 跳转到对应页面并传递参数
router.push({
path: path,
query: {
locationId: locationId,
startTime: startTime,
endTime: endTime,
fromReconciliation: 'true' // 添加标志参数
}
});
if(index === 10) {
router.push({
path: path,
query: {
sourceLocationId: locationId,
occurrenceTimeSTime: startTime,
occurrenceTimeETime: endTime,
}
});
}else if(index ===1) {
router.push({
path: path,
query: {
sourceLocationId: locationId,
time: endTime,
type: '1'
}
});
}else {
router.push({
path: path,
query: {
purposeLocationId: locationId,
occurrenceTimeSTime: startTime,
occurrenceTimeETime: endTime
}
});
}
}

View File

@@ -23,6 +23,11 @@
align="center"
prop="itemType_enumText"
/>
<el-table-column
label="价格"
align="center"
prop="purchaseAmount"
/>
<el-table-column
label="包装单位"
align="center"

View File

@@ -0,0 +1,339 @@
{
"panels": [
{
"index": 0,
"name": 1,
"paperType": "自定义",
"height": 130,
"width": 210,
"paperNumberDisabled": true,
"paperNumberContinue": true,
"overPrintOptions": {
"content": "",
"opacity": 0.7,
"type": 1
},
"watermarkOptions": {
"content": "",
"fillStyle": "rgba(184, 184, 184, 0.3)",
"fontSize": "14px",
"rotate": 25,
"width": 200,
"height": 200,
"timestamp": false,
"format": "YYYY-MM-DD HH:mm"
},
"panelLayoutOptions": {},
"paperHeader": 0,
"paperFooter": 841.8897637795277,
"printElements": [
{
"options": {
"left": 252,
"top": 13.5,
"height": 12,
"width": 75,
"title": "医院",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 12,
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 19.5,
"top": 33,
"height": 9.75,
"width": 120,
"title": "日期",
"field": "occurrenceTime",
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 222,
"top": 33,
"height": 9.75,
"width": 120,
"title": "单据号",
"field": "busNo",
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 465,
"top": 33,
"height": 9.75,
"width": 120,
"title": "机构:医院",
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 19.5,
"top": 57,
"height": 9.75,
"width": 322.5,
"title": "供应商",
"field": "supplierName",
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 19.5,
"top": 84,
"height": 36,
"width": 570,
"title": "undefined+beforeDragIn",
"field": "purchaseinventoryList",
"coordinateSync": false,
"widthHeightSync": false,
"columns": [
[
{
"title": "项目名",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 53.52877835374887,
"field": "name",
"checked": true,
"columnId": "name",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "规格",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 50.3056193642802,
"field": "volume",
"checked": true,
"columnId": "volume",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "厂家/产地",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 84.09807741407441,
"field": "manufacturer",
"checked": true,
"columnId": "manufacturer",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "数量",
"titleSync": false,
"align": "right",
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"formatter2": "function(value,row,index,options,rowIndex,column){ return value + ' ' + row.unitCode_dictText; }",
"width": 37.02194283284556,
"field": "itemQuantity",
"checked": true,
"columnId": "itemQuantity",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "采购单价",
"titleSync": false,
"align": "right",
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"formatter2": "function(value,row,index,options,rowIndex,column){ return value + ' 元'; }",
"width": 45.05495152300426,
"field": "price",
"checked": true,
"columnId": "price",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "金额",
"titleSync": false,
"align": "right",
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"formatter2": "function(value,row,index,options,rowIndex,column){ return value + ' 元'; }",
"width": 39.04544357631049,
"field": "totalPrice",
"checked": true,
"columnId": "totalPrice",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "仓库",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 40.041954542099724,
"field": "purposeLocationName",
"checked": true,
"columnId": "purposeLocationName",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "产品批号",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 47.05067091842349,
"field": "lotNumber",
"checked": true,
"columnId": "lotNumber",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "生产日期",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 63.089377997062755,
"field": "startTime",
"checked": true,
"columnId": "startTime",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "有效期至",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 59.05673483929025,
"field": "endTime",
"checked": true,
"columnId": "endTime",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "发票号",
"titleSync": false,
"halign": "center",
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
"width": 51.706448638859854,
"field": "invoiceNo",
"checked": true,
"columnId": "invoiceNo",
"fixed": false,
"rowspan": 1,
"colspan": 1
}
]
]
},
"printElementType": {
"title": "表格",
"type": "table",
"editable": true,
"columnDisplayEditable": true,
"columnDisplayIndexEditable": true,
"columnTitleEditable": true,
"columnResizable": true,
"columnAlignEditable": true,
"isEnableEditField": true,
"isEnableContextMenu": true,
"isEnableInsertRow": true,
"isEnableDeleteRow": true,
"isEnableInsertColumn": true,
"isEnableDeleteColumn": true,
"isEnableMergeCell": true
}
},
{
"options": {
"left": 480,
"top": 130.5,
"height": 12,
"width": 109.5,
"title": "合计",
"field": "totalAmount",
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0,
"formatter": "function(title,value,options,templateData,target,paperNo){\n return value + ' 元'\n}"
},
"printElementType": {
"title": "文本",
"type": "text"
}
}
]
}
]
}

View File

@@ -2,12 +2,7 @@
<div class="app-container">
<el-row :gutter="10" class="mb8" v-if="viewStatus">
<el-col :span="1.5">
<el-button
v-if="viewStatus != 'view'"
plain
type="primary"
icon="Edit"
@click="handelApply"
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
>审批通过</el-button
>
</el-col>
@@ -26,11 +21,6 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="submitAudit">提交审核</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="Printer" :disabled="multiple" @click="handleDelete">
打印
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="EditPen" @click="handleTotalAmount">
计算金额
@@ -40,7 +30,7 @@
<el-button type="primary" plain icon="Plus" @click="handleSave">批量保存</el-button>
</el-col>
</el-row>
<el-button type="primary" plain icon="Printer" @click="handlePrint"> 打印单据 </el-button>
<el-form
:model="receiptHeaderForm"
ref="receiptHeaderRef"
@@ -63,7 +53,7 @@
placeholder=""
clearable
filterable
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
style="width: 150px"
>
<el-option
@@ -79,7 +69,7 @@
v-model="receiptHeaderForm.occurrenceTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
/>
</el-form-item>
<el-form-item label="供应商:" prop="supplierId">
@@ -89,7 +79,7 @@
clearable
filterable
style="width: 150px"
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
>
<el-option
v-for="supplier in supplierListOptions"
@@ -161,7 +151,7 @@
<!-- @cell-mouse-enter="handleMouseEnter" -->
<!-- v-click-outside-row="handleClickOutside" @row-click="handleRowClick" 点击行以外的部分自动保存 -->
<el-table
row-key="id"
row-key="rowKey"
v-loading="loading"
:data="form.purchaseinventoryList"
@selection-change="handleSelectionChange"
@@ -174,9 +164,19 @@
<el-form-item
:prop="`purchaseinventoryList.${scope.$index}.name`"
:rules="tableRules.name"
>
<el-input v-if="viewStatus=='view'" v-model="scope.row.name" placeholder="" disabled />
<PopoverList v-else @search="handleSearch" :width="1000" :modelValue="scope.row.name">
>
<el-input
v-if="viewStatus == 'view'"
v-model="scope.row.name"
placeholder=""
disabled
/>
<PopoverList
v-else
@search="handleSearch"
:width="1000"
:modelValue="scope.row.name"
>
<template #popover-content="{}">
<MedicineList
@selectRow="(row) => selectRow(row, scope.$index)"
@@ -240,7 +240,7 @@
placeholder="请选择仓库"
:class="{ 'error-border': scope.row.error }"
clearable
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
>
<el-option
v-for="(item, index) in locationList"
@@ -268,7 +268,7 @@
>
<div class="select_wrapper_div">
<el-input
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
v-model="scope.row.itemQuantity"
placeholder=""
@blur="handleTotalPrice(scope.$index)"
@@ -298,7 +298,7 @@
placeholder=" "
:class="{ 'error-border': scope.row.error }"
:clearable="false"
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
@change="(value) => handleUnitCodeChange(scope.row, scope.$index, value)"
>
<template v-if="scope.row.unitList && scope.row.partPercent > 1">
@@ -336,22 +336,24 @@
width="130"
>
<template #default="scope">
<el-tooltip :content="formatContent(scope.row.traceNo)" placement="top"
popper-class="custom-tooltip">
<el-tooltip
:content="formatContent(scope.row.traceNo)"
placement="top"
popper-class="custom-tooltip"
>
<el-form-item
:prop="`purchaseinventoryList.${scope.$index}.traceNo`"
:rules="tableRules.traceNo"
>
<el-input
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
v-model="scope.row.traceNo"
@change="(value) => handleTraceNoInput(value, scope.row)"
placeholder=""
:id="'traceNo' + `${scope.$index}`"
/>
</el-form-item>
</el-tooltip>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
@@ -366,7 +368,11 @@
:prop="`purchaseinventoryList.${scope.$index}.packagingLevels`"
:rules="tableRules.packagingLevels"
>
<el-input v-model="scope.row.packagingLevels" placeholder="" :disabled ="viewStatus=='view'"/>
<el-input
v-model="scope.row.packagingLevels"
placeholder=""
:disabled="viewStatus == 'view'"
/>
</el-form-item>
</template>
</el-table-column>
@@ -388,7 +394,7 @@
placeholder=""
@blur="handleTotalPrice(scope.$index)"
:class="{ 'error-border': scope.row.error }"
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
>
<template #suffix></template>
</el-input>
@@ -423,7 +429,12 @@
:prop="`purchaseinventoryList.${scope.$index}.lotNumber`"
:rules="tableRules.lotNumber"
>
<el-input v-model="scope.row.lotNumber" placeholder="" maxlength="100" :disabled ="viewStatus=='view'" />
<el-input
v-model="scope.row.lotNumber"
placeholder=""
maxlength="100"
:disabled="viewStatus == 'view'"
/>
</el-form-item>
</template>
</el-table-column>
@@ -445,7 +456,7 @@
placeholder="选择日期"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
@change="changeValStart($event, scope.$index)"
/>
</el-form-item>
@@ -464,7 +475,7 @@
:rules="tableRules.endTime"
>
<el-date-picker
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
v-model="scope.row.endTime"
type="date"
placeholder="选择日期"
@@ -487,7 +498,11 @@
:prop="`purchaseinventoryList.${scope.$index}.invoiceNo`"
:rules="tableRules.invoiceNo"
>
<el-input v-model="scope.row.invoiceNo" placeholder="" :disabled ="viewStatus=='view'"/>
<el-input
v-model="scope.row.invoiceNo"
placeholder=""
:disabled="viewStatus == 'view'"
/>
</el-form-item>
</template>
</el-table-column>
@@ -498,7 +513,11 @@
:prop="`purchaseinventoryList.${scope.$index}.remake`"
:rules="tableRules.remake"
>
<el-input v-model="scope.row.remake" placeholder="" :disabled ="viewStatus=='view'" />
<el-input
v-model="scope.row.remake"
placeholder=""
:disabled="viewStatus == 'view'"
/>
</el-form-item>
</template>
</el-table-column>
@@ -520,7 +539,7 @@
placeholder="请选择货位"
:class="{ 'error-border': scope.row.error }"
clearable
:disabled ="viewStatus=='view'"
:disabled="viewStatus == 'view'"
>
</el-select>
</div>
@@ -591,7 +610,13 @@
</el-col>
</el-row>
<!-- </el-dialog> -->
<TraceNoDialog :ypName="ypName" :rowData="rowData" :openDialog="openTraceNoDialog" @submit="submit" @cancel="openTraceNoDialog = false"/>
<TraceNoDialog
:ypName="ypName"
:rowData="rowData"
:openDialog="openTraceNoDialog"
@submit="submit"
@cancel="openTraceNoDialog = false"
/>
</div>
</template>
@@ -612,7 +637,7 @@ import {
const route = useRoute();
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import MedicineList from './components/medicineList.vue';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue'
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import { formatDate, formatDateymd } from '@/utils/index';
import { useStore } from '@/store/store';
import useUserStore from '@/store/modules/user';
@@ -620,11 +645,14 @@ import { nextTick, ref, watch } from 'vue';
import useTagsViewStore from '@/store/modules/tagsView';
import _, { isEqual } from 'lodash';
import { debounce } from 'lodash-es';
import templateJson from './components/templateJson.json';
import { hiprint } from 'vue-plugin-hiprint';
const router = useRouter();
const tagsViewStore = useTagsViewStore();
const userUserStore = useUserStore();
const store = useStore();
const rowData = ref({})
const rowData = ref({});
const { proxy } = getCurrentInstance();
const { warehous_type, category_code, service_type_code, specialty_code, purchase_type } =
@@ -649,8 +677,8 @@ const total = ref(0);
const title = ref('');
const visible = ref(false);
const row = ref({});
const openTraceNoDialog = ref(false)
const ypName = ref("");
const openTraceNoDialog = ref(false);
const ypName = ref('');
const rowIndex = ref(-1);
const totalAmount = ref(0);
const editData = ref({});
@@ -781,6 +809,7 @@ function addNewRow() {
// return;
// }
const newRow = {
rowKey: Date.now(),
id: '',
itemTable: '',
itemQuantity: '',
@@ -940,30 +969,35 @@ function saveRow(row, index) {
});
}
function handleScan(row,index){
if(row.purposeLocationId && row.lotNumber) {
rowData.value = row
rowData.value.locationId = row.purposeLocationId
rowData.value.itemType = receiptHeaderForm.medicationType
ypName.value = row.name
function handleScan(row, index) {
if (row.purposeLocationId && row.lotNumber) {
rowData.value = row;
rowData.value.locationId = row.purposeLocationId;
rowData.value.itemType = receiptHeaderForm.medicationType;
ypName.value = row.name;
openTraceNoDialog.value = true;
currentIndex.value = index
}else {
proxy.$message.warning('请先选择仓库和产品批号!')
currentIndex.value = index;
} else {
proxy.$message.warning('请先选择仓库和产品批号!');
}
}
function submit(value){
form.purchaseinventoryList[currentIndex.value].traceNo = value;
function submit(value) {
if (form.purchaseinventoryList[currentIndex.value].traceNo) {
form.purchaseinventoryList[currentIndex.value].traceNo =
form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value;
} else {
form.purchaseinventoryList[currentIndex.value].traceNo = value;
}
openTraceNoDialog.value = false;
}
function formatContent(value){
let content = ''
if(value){
function formatContent(value) {
let content = '';
if (value) {
value.split(',').forEach((item, index) => {
content += `[${(index + 1)}] ${item}\n`
})
return content
content += `[${index + 1}] ${item}\n`;
});
return content;
}
}
// 药品列表搜索
@@ -977,6 +1011,7 @@ function selectRow(rowValue, index) {
form.purchaseinventoryList[index] = { id: form.purchaseinventoryList[index].id };
price.value = 0;
rowIndex.value = index;
form.purchaseinventoryList[index].rowKey = Date.now();
form.purchaseinventoryList[index].itemId = rowValue.definitionId;
form.purchaseinventoryList[index].name = rowValue.name;
form.purchaseinventoryList[index].volume = rowValue.volume;
@@ -1265,6 +1300,29 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
function handlePrint() {
const result = [];
let supplierName = supplierListOptions.value.filter((item) => {
return item.value == receiptHeaderForm.supplierId;
})[0].label;
const totalAmount = form.purchaseinventoryList.reduce((accumulator, currentRow) => {
return accumulator + (Number(currentRow.totalPrice) || 0);
}, 0);
result.push({
supplierName: supplierName,
totalAmount: totalAmount,
...receiptHeaderForm,
purchaseinventoryList: form.purchaseinventoryList,
});
console.log(result, '345678987654');
const printElements = templateJson;
var hiprintTemplate = new hiprint.PrintTemplate({ template: printElements }); // 定义模板
hiprintTemplate.print2(result, {
printer: 'EPSON LQ-80KFII',
title: '打印标题',
}); //开始打印
}
function deleteSelectedRows() {
let length = selectedRows.value.length;
let ids = [];
@@ -1372,9 +1430,10 @@ function edit() {
receiptHeaderForm.supplierId = editData.value.editRow.supplierId;
receiptHeaderForm.practitionerId = editData.value.editRow.practitionerId;
console.log(editData.value.editRow, editData.value, 'editData.value.editRow');
receiptHeaderForm.occurrenceTime = editData.value.editRow.occurrenceTime
? formatDate(editData.value.editRow.occurrenceTime)
receiptHeaderForm.occurrenceTime = editData.value.item[0].occurrenceTime
? formatDate(editData.value.item[0].occurrenceTime)
: formatDate(new Date());
console.log(editData.value.item[0].occurrenceTime);
console.log(
editData.value.editRow.purposeTypeEnum,
editData.value,

View File

@@ -790,6 +790,7 @@ function getTransferProductDetails() {
data.isEdit = true;
getTransferProductDetail(receiptHeaderForm.busNo).then((res) => {
form.purchaseinventoryList = res.data;
receiptHeaderForm.occurrenceTime = formatDate(res.data[0].occurrenceTime)
form.purchaseinventoryList.map((e, index) => {
form.purchaseinventoryList[index].statusMaxvalue = false;
e.volume = e.totalVolume;

View File

@@ -826,6 +826,7 @@ function getTransferProductDetails() {
if (route.query.supplyBusNo) {
getTHTransferProductDetail(receiptHeaderForm.busNo).then((res) => {
form.purchaseinventoryList = res.data;
receiptHeaderForm.occurrenceTime = formatDate(res.data[0].occurrenceTime)
form.purchaseinventoryList.map((e, index) => {
e.isSave = true;
form.purchaseinventoryList[index].statusMaxvalue = false;

View File

@@ -83,6 +83,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -107,6 +115,14 @@
:show-overflow-tooltip="true"
/>
<el-table-column
label="单据号"
align="center"
key="supplyBusno"
prop="supplyBusno"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="项目名称"
align="center"
@@ -155,6 +171,20 @@
:show-overflow-tooltip="true"
/>
<el-table-column
label="货位"
align="center"
key="locationStoreName"
prop="locationStoreName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购单价"
align="center"
key="price"
prop="price"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
@@ -171,6 +201,34 @@
:show-overflow-tooltip="true"
/>
<el-table-column
label="盈亏金额"
align="center"
key="totalPrice"
prop="totalPrice"
:show-overflow-tooltip="true"
/>
<el-table-column
label="供应商"
align="center"
key="supplier"
prop="supplier"
:show-overflow-tooltip="true"
/>
<el-table-column
label="审核人"
align="center"
key="approverId_dictText"
prop="approverId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="制单日期"
align="center"
key="occurrenceTime"
prop="occurrenceTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="盘点日期"
align="center"
@@ -199,12 +257,13 @@ import {
getReportStocktakingPage,
getInit,
getPharmacyCabinetList,
getReportStocktakingPageAuto,
cancelSupply,
stopSupply,
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
const purchaseinventoryList = ref([]);
const loading = ref(true);
@@ -234,6 +293,38 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}else {
queryParams.value.purposeLocationId = newQuery.sourceLocationId;
queryParams.value.time = newQuery.time + ' 00:00:00';
getReportStocktakingPageAuto(queryParams.value).then((res) => {
loading.value = false;
purchaseinventoryList.value = res.data.records
total.value = res.data.total;
});
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data
@@ -245,11 +336,13 @@ function getPharmacyCabinetLists() {
/** 查询调拨管理项目列表 */
function getList() {
loading.value = true;
getReportStocktakingPage(queryParams.value).then((res) => {
loading.value = false;
purchaseinventoryList.value = res.data.records
total.value = res.data.total;
});
if(!route.query.sourceLocationId) {
getReportStocktakingPage(queryParams.value).then((res) => {
loading.value = false;
purchaseinventoryList.value = res.data.records
total.value = res.data.total;
});
}
}
/** 搜索按钮操作 */
@@ -283,6 +376,12 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/stocktaking/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()

View File

@@ -44,6 +44,17 @@
/>
</el-select>
</el-form-item>
<el-form-item label="停供状态:" prop="categoryCode">
<el-select
v-model="queryParams.inventoryStatusEnum"
placeholder="请选择药品类别"
clearable
style="width: 150px"
>
<el-option label="未停供" :value="2" />
<el-option label="已停供" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="医保等级:" prop="chrgitmLv">
<el-select
v-model="queryParams.chrgitmLv"
@@ -440,17 +451,17 @@
:style="'margin-top: 35px;'"
@pagination="getList"
/>
<el-dialog
title="药品追溯码"
v-model="visible"
width="1400"
append-to-body
destroy-on-close
:draggable="true"
>
<traceabilityCodeManagement :recordInfo="recordInfo"></traceabilityCodeManagement>
</el-dialog>
</div>
<el-dialog
title="药品追溯码"
v-model="visible"
width="1400"
append-to-body
destroy-on-close
:draggable="true"
>
<traceabilityCodeManagement :recordInfo="recordInfo"></traceabilityCodeManagement>
</el-dialog>
</template>
<script setup name="StatisticalManagement">

View File

@@ -137,6 +137,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -323,8 +331,10 @@ import {
cancelSupply,
stopSupply,
} from "./statisticalManagent";
import { watch } from "vue";
const { proxy } = getCurrentInstance();
const route = useRoute();
const {
item_type,
inventory_range,
@@ -364,6 +374,27 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.time = newQuery.occurrenceTimeETime + ' 00:00:00';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data
@@ -424,6 +455,12 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/inventory-product/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()

View File

@@ -1,278 +1,203 @@
<template>
<div class="app-container">
<!-- <el-row :gutter="10" class="mb8">
<el-form
:model="queryParams"
ref="queryRef"
:inline="true"
label-width="85px"
>
<el-form-item label="结算经办机构:" prop="setlOptins" label-width="110px">
<el-input
v-model="queryParams.setlOptins"
placeholder="请输入结算经办机构"
clearable
style="width: 150px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="结算日期:">
<el-date-picker
v-model="occurrenceTime"
value-format="YYYY-MM-DD"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 300px"
></el-date-picker>
</el-form-item>
<el-form-item label="清算类型:" prop="clrType">
<el-select
v-model="queryParams.clrType"
placeholder="请选择清算类型"
clearable
style="width: 150px"
>
<el-option
v-for="categoryCode in clrTypeOptions"
:key="categoryCode.value"
:label="categoryCode.label"
:value="categoryCode.value"
/>
</el-select>
</el-form-item>
</el-form> -->
<!-- <el-button
type="primary"
plain
icon="Edit"
@click="handleQuery"
>统计</el-button
> -->
<!-- <el-button
type="primary"
plain
icon="Edit"
@click="handleApplyForLiquidation"
>申请清算</el-button
> -->
<!-- </el-col> -->
<!-- </el-row> -->
<!-- <div style="margin-bottom:5px"> -->
<el-row :guutter="15">
<el-tabs v-model="activeTabName" type="card" class="inOut-tabs" @tab-click="hendleTabChange">
<el-tab-pane label="对账" name="first">
<el-row :guutter="15">
<el-form
:model="totalPrice"
ref="priceRef"
:inline="true"
>
<el-row :guutter="15">
<el-form-item label="结算经办机构" prop="setlOptins" label-width="160px">
<el-input
v-model="totalPrice.setlOptins"
placeholder="请输入结算经办机构"
clearable
style="width: 150px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="结算日期:" label-width="130px">
<el-date-picker
v-model="occurrenceTime"
value-format="YYYY-MM-DD"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 300px"
></el-date-picker>
</el-form-item>
<el-form-item label="清算类型:" prop="clrType" label-width="160px">
<el-select
v-model="totalPrice.clrType"
placeholder="请选择清算类型"
clearable
style="width: 150px"
>
<el-option
v-for="categoryCode in clrTypeOptions"
:key="categoryCode.value"
:label="categoryCode.label"
:value="categoryCode.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row :guutter="15">
<el-form-item label="医疗费总额:" prop="medfeeSumamt" label-width="160px">
<el-input
v-model="totalPrice.medfeeSumamt"
placeholder="请输入医疗费总额"
clearable
style="width: 150px"
/>
</el-form-item>
<el-form-item label="基金支付总额:" prop="fundAppySum" label-width="160px">
<el-input
v-model="totalPrice.fundAppySum"
placeholder="请输入基金支付总额"
clearable
style="width: 150px"
/>
</el-form-item>
<el-form-item label="个人账户支付金额:" prop="acctPay" label-width="160px">
<el-input
v-model="totalPrice.acctPay"
placeholder="请输入个人账户支付金额"
clearable
style="width: 150px"
/>
</el-form-item>
<el-form-item label="现金支付金额:" prop="cashPayamt" label-width="160px">
<el-input
v-model="totalPrice.cashPayamt"
placeholder="请输入现金支付金额"
clearable
style="width: 150px"
/>
</el-form-item>
<el-button
type="primary"
plain
icon="Edit"
@click="handOperatedApply"
>手动清算</el-button
>
</el-row>
<el-form :model="totalPrice" ref="priceRef" :inline="true">
<el-row :guutter="15">
<el-form-item label="结算经办机构:" prop="setlOptins" label-width="160px">
<el-input v-model="totalPrice.setlOptins" placeholder="请输入结算经办机构" clearable style="width: 150px"
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="结算日期" label-width="130px">
<el-date-picker v-model="occurrenceTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px"></el-date-picker>
</el-form-item>
<el-form-item label="清算类型:" prop="clrType" label-width="160px">
<el-select v-model="queryParams.clrType" placeholder="请选择清算类型" clearable style="width: 150px">
<el-option v-for="categoryCode in clrTypeOptions" :key="categoryCode.value" :label="categoryCode.label"
:value="categoryCode.value" />
</el-select>
</el-form-item>
<el-form-item label="险种类型:" prop="insutype" label-width="160px">
<el-select v-model="queryParams.insutype" placeholder="请选择险种类型" clearable style="width: 150px">
<el-option v-for="categoryCode in insutypeOptions" :key="categoryCode.value" :label="categoryCode.label"
:value="categoryCode.value" />
</el-select>
</el-form-item>
</el-row>
<el-row :guutter="15">
<el-form-item label="医疗费总额:" prop="medfeeSumamt" label-width="160px">
<el-input v-model="totalPrice.medfeeSumamt" placeholder="请输入医疗费总额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="基金支付总额:" prop="fundAppySum" label-width="160px">
<el-input v-model="totalPrice.fundAppySum" placeholder="请输入基金支付总额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="个人账户支付金额:" prop="acctPay" label-width="160px">
<el-input v-model="totalPrice.acctPay" placeholder="请输入个人账户支付金额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="现金支付金额:" prop="cashPayamt" label-width="160px">
<el-input v-model="totalPrice.cashPayamt" placeholder="请输入现金支付金额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="结算笔数:" prop="setlCnt" label-width="160px">
<el-input v-model="totalPrice.setlCnt" placeholder="请输入结算笔数" clearable style="width: 150px" />
</el-form-item>
<!-- <el-button type="primary" plain icon="Edit" @click="handOperatedApply">手动清算</el-button> -->
<el-button type="primary" plain icon="Edit" @click="handOperatedReconcileAccounts">手动对账</el-button>
</el-form>
</el-row>
</el-row>
<!-- </div> -->
<el-table
v-loading="loading"
:data="purchaseinventoryList"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="申请清算ID"
align="center"
key="outResult"
prop="outResult"
width="270"
:show-overflow-tooltip="true"
/>
<el-table-column
label="开始时间"
align="center"
key="begndate"
prop="begndate"
width="150"
:show-overflow-tooltip="true"
/>
<el-table-column
label="结束时间"
align="center"
key="enddate"
prop="enddate"
width="150"
:show-overflow-tooltip="true"
/>
<el-table-column
label="清算类别"
align="center"
key="clrType"
prop="clrType"
width="100"
:show-overflow-tooltip="true"
/>
<el-table-column
label="总费用"
align="center"
key="medfeeSumamt"
prop="medfeeSumamt"
width="170"
:show-overflow-tooltip="true"
/>
<el-table-column
label="医保认可总费用"
align="center"
key="medSumfee"
prop="medSumfee"
width="170"
:show-overflow-tooltip="true"
/>
<el-table-column
label="基金申报金额"
align="center"
key="fundAppySum"
prop="fundAppySum"
width="170"
:show-overflow-tooltip="true"
/>
<el-table-column
label="现金支付总额"
align="center"
key="cashPayamt"
prop="cashPayamt"
width="170"
:show-overflow-tooltip="true"
/>
<el-table-column
label="个人账户金额"
align="center"
key="acctPay"
prop="acctPay"
width="170"
:show-overflow-tooltip="true"
/>
<el-table-column
label="状态"
align="center"
key="status"
prop="status"
width="170"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.setlTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column
label="是否退费"
align="center"
key="refdSetlFlag"
prop="refdSetlFlag"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ scope.row.refdSetlFlag==1?'退费':'' }}</span>
</template>
</el-table-column> -->
<el-table-column
label="操作"
align="center"
width="300"
class-name="small-padding fixed-width"
fixed="right"
>
<template #default="scope">
<el-button
type="danger"
link
icon="revoked-filled"
:disabled="scope.row.id == ''"
@click="revokedSelectedRows(scope.row)"
>
撤销
</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
</el-row>
<!-- </div> -->
<el-table v-loading="loading" :data="purchaseinventoryList" @selection-change="handleSelectionChange"
@row-click="handleRowClick">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="申请清算ID" align="center" key="outResult" prop="outResult" width="270"
:show-overflow-tooltip="true" />
<el-table-column label="开始时间" align="center" key="begndate" prop="begndate" width="150"
:show-overflow-tooltip="true" />
<el-table-column label="结束时间" align="center" key="enddate" prop="enddate" width="150"
:show-overflow-tooltip="true" />
<el-table-column label="清算类别" align="center" key="clrType" prop="clrType" width="100"
:show-overflow-tooltip="true" />
<el-table-column label="总费用" align="center" key="medfeeSumamt" prop="medfeeSumamt" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="医保认可总费用" align="center" key="medSumfee" prop="medSumfee" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="基金申报金额" align="center" key="fundAppySum" prop="fundAppySum" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="现金支付总额" align="center" key="cashPayamt" prop="cashPayamt" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="个人账户金额" align="center" key="acctPay" prop="acctPay" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" key="status" prop="status" width="170" :show-overflow-tooltip="true">
<template #default="scope">
<span>{{ parseTime(scope.row.setlTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column
label="是否退费"
align="center"
key="refdSetlFlag"
prop="refdSetlFlag"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ scope.row.refdSetlFlag==1?'退费':'' }}</span>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
<template #default="scope">
<el-button type="danger" link icon="revoked-filled" :disabled="scope.row.id == ''"
@click="revokedSelectedRows(scope.row)">
撤销
</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="清算" name="second">
<el-row :guutter="15">
<el-form :model="totalPrice" ref="priceRef" :inline="true">
<el-row :guutter="15">
<el-form-item label="结算经办机构:" prop="setlOptins" label-width="160px">
<el-input v-model="totalPrice.setlOptins" placeholder="请输入结算经办机构" clearable style="width: 150px"
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="结算日期:" label-width="130px">
<el-date-picker v-model="occurrenceTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px"></el-date-picker>
</el-form-item>
<el-form-item label="清算类型:" prop="clrType" label-width="160px">
<el-select v-model="queryParams.clrType" placeholder="请选择清算类型" clearable style="width: 150px">
<el-option v-for="categoryCode in clrTypeOptions" :key="categoryCode.value" :label="categoryCode.label"
:value="categoryCode.value" />
</el-select>
</el-form-item>
<!-- <el-form-item label="险种类型:" prop="insutype" label-width="160px">
<el-select v-model="queryParams.insutype" placeholder="请选择险种类型" clearable style="width: 150px">
<el-option v-for="categoryCode in insutypeOptions" :key="categoryCode.value" :label="categoryCode.label"
:value="categoryCode.value" />
</el-select>
</el-form-item> -->
</el-row>
<el-row :guutter="15">
<el-form-item label="医疗费总额:" prop="medfeeSumamt" label-width="160px">
<el-input v-model="totalPrice.medfeeSumamt" placeholder="请输入医疗费总额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="基金支付总额:" prop="fundAppySum" label-width="160px">
<el-input v-model="totalPrice.fundAppySum" placeholder="请输入基金支付总额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="个人账户支付金额:" prop="acctPay" label-width="160px">
<el-input v-model="totalPrice.acctPay" placeholder="请输入个人账户支付金额" clearable style="width: 150px" />
</el-form-item>
<el-form-item label="现金支付金额:" prop="cashPayamt" label-width="160px">
<el-input v-model="totalPrice.cashPayamt" placeholder="请输入现金支付金额" clearable style="width: 150px" />
</el-form-item>
<!-- <el-form-item label="结算笔数:" prop="setlCnt" label-width="160px">
<el-input v-model="totalPrice.setlCnt" placeholder="请输入结算笔数" clearable style="width: 150px" />
</el-form-item> -->
<el-button type="primary" plain icon="Edit" @click="handOperatedApply">手动清算</el-button>
<!-- <el-button type="primary" plain icon="Edit" @click="handOperatedReconcileAccounts">手动对账</el-button> -->
</el-row>
</el-form>
</el-row>
<!-- </div> -->
<el-table v-loading="loading" :data="purchaseinventoryList" @selection-change="handleSelectionChange"
@row-click="handleRowClick">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="申请清算ID" align="center" key="outResult" prop="outResult" width="270"
:show-overflow-tooltip="true" />
<el-table-column label="开始时间" align="center" key="begndate" prop="begndate" width="150"
:show-overflow-tooltip="true" />
<el-table-column label="结束时间" align="center" key="enddate" prop="enddate" width="150"
:show-overflow-tooltip="true" />
<el-table-column label="清算类别" align="center" key="clrType" prop="clrType" width="100"
:show-overflow-tooltip="true" />
<el-table-column label="总费用" align="center" key="medfeeSumamt" prop="medfeeSumamt" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="医保认可总费用" align="center" key="medSumfee" prop="medSumfee" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="基金申报金额" align="center" key="fundAppySum" prop="fundAppySum" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="现金支付总额" align="center" key="cashPayamt" prop="cashPayamt" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="个人账户金额" align="center" key="acctPay" prop="acctPay" width="170"
:show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" key="status" prop="status" width="170" :show-overflow-tooltip="true">
<template #default="scope">
<span>{{ parseTime(scope.row.setlTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column
label="是否退费"
align="center"
key="refdSetlFlag"
prop="refdSetlFlag"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ scope.row.refdSetlFlag==1?'退费':'' }}</span>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
<template #default="scope">
<el-button type="danger" link icon="revoked-filled" :disabled="scope.row.id == ''"
@click="revokedSelectedRows(scope.row)">
撤销
</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</template>
@@ -282,10 +207,12 @@ import {
applyUnClearing,
autoApplyFinancialClearing,
reconcileDetailList,
handOperatedApplyFinancialClearing
handOperatedApplyFinancialClearing,
handOperatedApplyReconcileAccounts
} from "./statisticalManagent";
import { getToken } from "@/utils/auth";
import { formatDateStr } from '@/utils/index';
import { ref } from "vue";
const { proxy } = getCurrentInstance();
const purchaseinventoryList = ref([]);
const loading = ref(false);
@@ -297,7 +224,9 @@ const occurrenceTime = ref([
formatDateStr(getFirstDayOfMonth(new Date()), 'YYYY-MM-DD'), // 当前月份的第一天
formatDateStr(new Date(), 'YYYY-MM-DD') // 当天
])
const activeTabName = ref("first");
const clrTypeOptions = ref([]);
const insutypeOptions = ref([]);
const filePath = ref("")
const purchaseinventoryReturnList = ref([])
const loadingReturn = ref(false)
@@ -306,19 +235,19 @@ const selectedRow = ref([])
const fileSize = ref(10)
const uploadList = ref([]);
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const fileType = ref(["zip","txt"]);
const fileType = ref(["zip", "txt"]);
const data = reactive({
form: {},
queryParams: {
// pageNo: 1,
// pageSize: 10,
setlOptins: '229900',
filePath: undefined,
orgId:undefined,
setlOptins: '229900',
filePath: undefined,
orgId: undefined,
clrType: undefined,
fileQuryNo: undefined,
stmtBegnDate:undefined,
stmtEndDate:undefined,
fileQuryNo: undefined,
stmtBegnDate: undefined,
stmtEndDate: undefined,
},
rules: {},
});
@@ -329,6 +258,7 @@ const totalPrice = reactive({
acctPay: 0,
cashPayamt: 0,
counts: 0,
setlCnt: 0,
medSumfee: 0.00
});
@@ -337,7 +267,7 @@ const { queryParams, form, rules } = toRefs(data);
watch(
() => purchaseinventoryList.value,
(newVlaue) => {
if(newVlaue&&newVlaue.length>0){
if (newVlaue && newVlaue.length > 0) {
handleTotalAmount()
}
},
@@ -346,20 +276,20 @@ watch(
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.stmtBegnDate =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[0] + " 00:00:00"
: "";
queryParams.value.stmtEndDate =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[1] + " 23:59:59"
: "";
// queryParams.value.pageNo = 1;
getList();
queryParams.value.stmtBegnDate =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[0] + " 00:00:00"
: "";
queryParams.value.stmtEndDate =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[1] + " 23:59:59"
: "";
// queryParams.value.pageNo = 1;
getList();
}
function getFirstDayOfMonth(date) {
return new Date(date.getFullYear(), date.getMonth(), 1);
return new Date(date.getFullYear(), date.getMonth(), 1);
}
// 对象转成指定字符串分隔
@@ -377,26 +307,26 @@ function listToString(list, separator) {
function handleTotalAmount() {
totalPrice.counts = purchaseinventoryList.value.length
totalPrice.medfeeSumamt = purchaseinventoryList.value.reduce(
(accumulator, currentRow) => {
return Number(
(accumulator + Number(currentRow.medfeeSumamt || 0)).toFixed(2)
);
},
0
);
(accumulator, currentRow) => {
return Number(
(accumulator + Number(currentRow.medfeeSumamt || 0)).toFixed(2)
);
},
0
);
totalPrice.fundAppySum = purchaseinventoryList.value.reduce(
(accumulator, currentRow) => {
return Number(
(accumulator + Number(currentRow.fundPaySumamt || 0)).toFixed(2)
);
(accumulator + Number(currentRow.fundPaySumamt || 0)).toFixed(2)
);
},
0
);
totalPrice.acctPay = purchaseinventoryList.value.reduce(
(accumulator, currentRow) => {
return Number(
(accumulator + Number(currentRow.acctPay || 0)).toFixed(2)
);
(accumulator + Number(currentRow.acctPay || 0)).toFixed(2)
);
},
0
);
@@ -413,7 +343,22 @@ function getPharmacyCabinetLists() {
{ value: 11, label: '门诊' },
{ value: 21, label: '住院' },
];
insutypeOptions.value = [
{ value: 310, label: '职工基本医疗保险' },
{ value: 390, label: '城乡居民基本医疗保险' },
{ value: 320, label: '公务员医疗补助' },
{ value: 330, label: '大额医疗费用补助' },
{ value: 340, label: '离休人员医疗保障' },
{ value: 350, label: '一至六级残废军人医疗补助' },
{ value: 360, label: '老红军医疗保障' },
{ value: 370, label: '企业补充医疗保险' },
{ value: 380, label: '新型农村合作医疗' },
{ value: 391, label: '城镇居民基本医疗保险' },
{ value: 392, label: '城乡居民大病医疗保险' },
];
}
function handleSelectionChangeReturn(selection) {
idsReturn.value = selection.map((item) => item.id);
singleReturn.value = selection.length != 1;
@@ -425,20 +370,20 @@ function getList() {
// console.log(res,"res----------------")
// loading.value = false;
// purchaseinventoryList.value = [{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"4.72",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"7.43",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"1",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"-1",insutype:"410",clrType: 11,contractNo:"229900"}]
purchaseinventoryList.value = res.data.records ? res.data.records : res.data;
purchaseinventoryList.value = res.data.records ? res.data.records : res.data;
total.value = res.data.total;
});
}
function handleApplyForLiquidation () {
function handleApplyForLiquidation() {
let params = {}
params.clrType = queryParams.value.clrType?queryParams.value.clrType:""
params.setlOptins = queryParams.value.setlOptins?queryParams.value.setlOptins:""
params.stmtBegnDate = queryParams.value.stmtBegnDate?queryParams.value.stmtBegnDate:""
params.stmtEndDate = queryParams.value.stmtEndDate?queryParams.value.stmtEndDate:""
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
params.setlOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
params.stmtBegnDate = queryParams.value.stmtBegnDate ? queryParams.value.stmtBegnDate : ""
params.stmtEndDate = queryParams.value.stmtEndDate ? queryParams.value.stmtEndDate : ""
autoApplyFinancialClearing(params).then((res) => {
console.log(res.data,'res----------------');
loading.value = false;
console.log(res.data, 'res----------------');
loading.value = false;
});
}
function isAllSelected() {
@@ -447,40 +392,77 @@ function isAllSelected() {
function revokedSelectedRows(row) {
let queryParamsss = {
clrAppyEvtId:row.outResult,
clroptins:queryParams.value.setlOptins?queryParams.value.setlOptins:"",
clrAppyEvtId: row.outResult,
clroptins: queryParams.value.setlOptins ? queryParams.value.setlOptins : "",
}
applyUnClearing(queryParamsss).then(res => {
proxy.$message.success('撤销成功')
getList()
proxy.$message.success('撤销成功')
getList()
}).catch(err => {
proxy.$message.error('撤销失败')
proxy.$message.error('撤销失败')
})
}
/** 选择条数 */
function handleSelectionChange(selection) {
selectedRow.value = selection
console.log(selectedRow.value,"selectedRow.value")
console.log(selectedRow.value, "selectedRow.value")
ids.value = selection.map((item) => item.setlId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
function handOperatedApply () {
const params = {...totalPrice}
params.clrOptins = queryParams.value.setlOptins?queryParams.value.setlOptins:""
params.begndate = queryParams.value.stmtBegnDate?queryParams.value.stmtBegnDate:""
params.enddate = queryParams.value.stmtEndDate?queryParams.value.stmtEndDate:""
params.clrType = queryParams.value.clrType?queryParams.value.clrType:""
handOperatedApplyFinancialClearing(params).then(res => {
function handOperatedApply() {
const params = { ...totalPrice }
params.clrOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : ""
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : ""
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
handOperatedApplyFinancialClearing(params).then(res => {
}).catch(err => {
proxy.$message.error('申请失败')
proxy.$message.error('申请失败')
})
}
function hendleTabChange() {
totalPrice.medfeeSumamt = 0;
totalPrice.fundAppySum = 0;
totalPrice.acctPay = 0;
totalPrice.cashPayamt = 0;
totalPrice.counts = 0;
totalPrice.setlCnt = 0;
totalPrice.medSumfee = 0.00;
occurrenceTime.value = [
formatDateStr(getFirstDayOfMonth(new Date()), 'YYYY-MM-DD'), // 当前月份的第一天
formatDateStr(new Date(), 'YYYY-MM-DD') // 当天
]
purchaseinventoryList.value = []
queryParams.value = {
setlOptins: '229900',
filePath: undefined,
orgId: undefined,
clrType: undefined,
fileQuryNo: undefined,
stmtBegnDate: undefined,
stmtEndDate: undefined,
}
}
function handOperatedReconcileAccounts() {
const params = { ...totalPrice }
params.clrOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : ""
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : ""
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
params.insutype = queryParams.value.insutype ? queryParams.value.insutype : ""
handOperatedApplyReconcileAccounts(params).then(res => {
}).catch(err => {
proxy.$message.error('对账失败')
})
}
//点击列表当前行
function handleRowClick(row) {
// editRowTK.value = row
console.log(row,"row")
console.log(row, "row")
// if(row.returnStatus==1){
// loadingReturn.value = true
// generatedReturnDetail(row.supplyBusNo).then((response) => {
@@ -489,7 +471,7 @@ function handleRowClick(row) {
// // k.returnStatus_text = k.returnStatus==1?'已退库':''
// k.originalSupplyBusNo = k.originalSupplyBusNo?k.originalSupplyBusNo:row.supplyBusNo
// })
// })
// loadingReturn.value = false
// }

View File

@@ -83,6 +83,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -107,6 +115,14 @@
width="140"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单据号"
align="center"
key="supplyBusno"
prop="supplyBusno"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="项目名称"
align="center"
@@ -149,6 +165,13 @@
prop="locationName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="货位"
align="center"
key="locationStoreName"
prop="locationStoreName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
@@ -156,15 +179,50 @@
prop="unitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购单价"
align="center"
key="price"
prop="price"
:show-overflow-tooltip="true"
/>
<el-table-column
label="报损数量"
align="center"
key="itemQuantity"
prop="itemQuantity"
:show-overflow-tooltip="true"
/>
<el-table-column
label="报损金额"
align="center"
key="totalPrice"
prop="totalPrice"
:show-overflow-tooltip="true"
/>
<el-table-column
label="供应商"
align="center"
key="supplier"
prop="supplier"
:show-overflow-tooltip="true"
/>
<el-table-column
label="审核人"
align="center"
key="approverId_dictText"
prop="approverId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="制单日期"
align="center"
key="occurrenceTime"
prop="occurrenceTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="报损日期"
label="审批日期"
align="center"
key="approvalTime"
prop="approvalTime"
@@ -194,6 +252,7 @@ import {
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
const purchaseinventoryList = ref([]);
const loading = ref(true);
@@ -219,6 +278,30 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data
@@ -268,6 +351,13 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/loss/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()
</script>

View File

@@ -466,7 +466,7 @@ import { watch } from "vue";
import { endsWith } from "lodash";
const userStore = useUserStore();
const router = useRouter();
const route = useRoute();
const { proxy } = getCurrentInstance();
const totalAmount = ref(0);
const {
@@ -526,6 +526,29 @@ watch(
},
{ immediate: true }
);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.locationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.dispenseTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.dispenseTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
queryParams.value.flag = 1
// 执行查询
getList();
}
},
{ immediate: true }
);
/**计算合计金额 */
function handleTotalAmount() {
totalAmount.value = purchaseinventoryList.value.reduce(
@@ -668,6 +691,7 @@ function getList(type) {
getAmbPractitionerDetail(queryParams.value).then((res) => {
purchaseinventoryList.value = res.data.records
total.value = res.data.total;
loading.value = false;
if(purchaseinventoryList.value.length==0){
return
}
@@ -690,7 +714,6 @@ function getList(type) {
purchaseinventoryList.value.push({practitionerName:'合计',dispensePrice:dispensePrice,refundPrice:refundPrice})
}
}
loading.value = false;
// 带分页数据
if(total.value&&total.value>queryParams.value.pageSize){
let queryParamsValue = {

View File

@@ -1,11 +1,3 @@
<!--
* @Author: X_bo v-hss@tbpartners.local
* @Date: 2025-09-01 16:37:41
* @LastEditTime: 2025-09-02 17:21:49
* @LastEditors: X_bo v-hss@tbpartners.local
* @Description:
* @FilePath: \openhis-ui-vue3\src\views\medicationmanagement\statisticalManagement\pharmacyMonthlybalance.vue
-->
<template>
<div class="app-container">
<el-row>
@@ -94,6 +86,14 @@
icon="Search"
@click="handleRightQuery"
>查询</el-button>
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
:disabled="!rightQueryParams.orgId"
>导出Excel</el-button
>
</el-form-item>
</el-form>
@@ -108,6 +108,7 @@
<el-table-column label="生产厂家" prop="manufacturerText" width="500" :show-overflow-tooltip="true" />
<el-table-column label="数量" prop="totalQuantity" width="100" :show-overflow-tooltip="true" />
<el-table-column label="单位" prop="unitCode_dictText" width="100" :show-overflow-tooltip="true" />
<el-table-column label="单价" prop="unitPrice" width="100" :show-overflow-tooltip="true" />
<el-table-column label="项目总价" prop="totalMoney" width="120" :show-overflow-tooltip="true" />
<el-table-column label="所属科室" prop="orgId_dictText" width="150" :show-overflow-tooltip="true" />
<el-table-column label="发放时间" prop="dispenseTime" width="240" :show-overflow-tooltip="true">
@@ -204,9 +205,9 @@ function getRightList() {
rightLoading.value = true;
getMedDevInfo(rightQueryParams.value).then((res) => {
console.log(res)
rightTableData.value = res.data.data.records || [];
rightTableData.value = res.data.records || [];
// 设置总条数
rightTotal.value = res.data.data.total || 0;
rightTotal.value = res.data.total || 0;
rightLoading.value = false;
}).catch(() => {
rightLoading.value = false;
@@ -293,6 +294,12 @@ function handleCurrentChange(val) {
rightQueryParams.value.pageNo = val;
getRightList();
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/medication-device/excel-out", {
...rightQueryParams.value,
}, `config_${new Date().getTime()}.xlsx`);
}
</script>
<style scoped>

View File

@@ -138,6 +138,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -276,13 +284,13 @@
<el-table-column
label="制单日期"
align="center"
key="createTime"
prop="createTime"
key="occurrenceTime"
prop="occurrenceTime"
width="160"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.occurrenceTime) }}</span>
</template>
</el-table-column>
<el-table-column
@@ -316,6 +324,7 @@ import {
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
// const {
// item_type
@@ -347,8 +356,8 @@ const data = reactive({
purposeLocationId: undefined,
categoryType: undefined,
supplierId: undefined,
createTimeSTime:undefined,
createTimeETime:undefined,
occurrenceTimeSTime:undefined,
occurrenceTimeETime:undefined,
},
rules: {},
});
@@ -363,6 +372,12 @@ function getPharmacyCabinetLists() {
supplierListOptions.value = response.data.supplierListOptions
})
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/inbound/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
/** 查询调拨管理项目列表 */
function getList() {
loading.value = true;
@@ -373,13 +388,37 @@ function getList() {
});
}
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.createTimeSTime =
queryParams.value.occurrenceTimeSTime =
approvalTime.value && approvalTime.value.length == 2
? approvalTime.value[0] + " 00:00:00"
: "";
queryParams.value.createTimeETime =
queryParams.value.occurrenceTimeETime =
approvalTime.value && approvalTime.value.length == 2
? approvalTime.value[1] + " 23:59:59"
: "";
@@ -390,8 +429,8 @@ function handleQuery() {
/** 清空条件按钮操作 */
function handleClear() {
// 清空查询条件
queryParams.value.createTimeSTime = ""
queryParams.value.createTimeETime = ""
queryParams.value.occurrenceTimeSTime = ""
queryParams.value.occurrenceTimeETime = ""
approvalTime.value = ""
proxy.resetForm("queryRef");
getList();

View File

@@ -138,6 +138,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -293,13 +301,13 @@
<el-table-column
label="制单日期"
align="center"
key="createTime"
prop="createTime"
key="occurrenceTime"
prop="occurrenceTime"
width="160"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.occurrenceTime) }}</span>
</template>
</el-table-column>
<el-table-column
@@ -333,6 +341,7 @@ import {
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
// const {
// item_type
// } = proxy.useDict(
@@ -363,14 +372,38 @@ const data = reactive({
purposeLocationId: undefined,
categoryType: undefined,
supplierId: undefined,
createTimeSTime:undefined,
createTimeETime:undefined,
occurrenceTimeSTime:undefined,
occurrenceTimeETime:undefined,
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data
@@ -391,11 +424,11 @@ function getList() {
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.createTimeSTime =
queryParams.value.occurrenceTimeSTime =
approvalTime.value && approvalTime.value.length == 2
? approvalTime.value[0] + " 00:00:00"
: "";
queryParams.value.createTimeETime =
queryParams.value.occurrenceTimeETime =
approvalTime.value && approvalTime.value.length == 2
? approvalTime.value[1] + " 23:59:59"
: "";
@@ -406,8 +439,8 @@ function handleQuery() {
/** 清空条件按钮操作 */
function handleClear() {
// 清空查询条件
queryParams.value.createTimeSTime = ""
queryParams.value.createTimeETime = ""
queryParams.value.occurrenceTimeSTime = ""
queryParams.value.occurrenceTimeETime = ""
approvalTime.value = ""
proxy.resetForm("queryRef");
getList();
@@ -420,6 +453,12 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/purchase-return/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()

View File

@@ -122,6 +122,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -258,6 +266,18 @@
prop="supplierId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="制单日期"
align="center"
key="occurrenceTime"
prop="occurrenceTime"
width="160"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.occurrenceTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="审核人"
align="center"
@@ -305,6 +325,7 @@ import {
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
const {
item_type,
@@ -340,6 +361,29 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.sourceLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
@@ -398,7 +442,12 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/outbound/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()

View File

@@ -162,6 +162,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -317,6 +325,13 @@
<span>{{ parseTime(scope.row.approvalTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="制单日期"
align="center"
key="occurrenceTime"
prop="occurrenceTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="备注"
align="center"
@@ -346,6 +361,7 @@ import {
} from "./statisticalManagent";
const { proxy } = getCurrentInstance();
const route = useRoute();
const purchaseinventoryList = ref([]);
const loading = ref(true);
@@ -376,6 +392,29 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getDepartmentList().then((response) => {
@@ -430,6 +469,13 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/return-issue/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()
</script>

View File

@@ -1,402 +1,418 @@
import request from '@/utils/request'
// 查询库存明细列表
export function getproductReturnPage(query) {
return request({
url:'/inventory-manage/product/product-page',
method: 'get',
params: query
})
return request({
url: '/inventory-manage/product/product-page',
method: 'get',
params: query
})
}
// 查询单据初始化数据
export function getInit() {
return request({
url: '/inventory-manage/product/product-init',
method: 'get'
})
}
return request({
url: '/inventory-manage/product/product-init',
method: 'get'
})
}
export function getBusNoInit() { //单据号
return request({
url: '/inventory-manage/product/bus-no-init',
method: 'get'
})
export function getBusNoInit() { //单据号
return request({
url: '/inventory-manage/product/bus-no-init',
method: 'get'
})
}
// 获取药品目录
export function getMedicineList(queryParams) {
return request({
url: '/app-common/inventory-item',
method: 'get',
params: queryParams
})
return request({
url: '/app-common/inventory-item',
method: 'get',
params: queryParams
})
}
// 获取药品目录
export function getCount(queryParams) {
return request({
url:'/app-common/inventory-item-info',
method: 'get',
params: queryParams
})
return request({
url: '/app-common/inventory-item-info',
method: 'get',
params: queryParams
})
}
// 获取药房列表
export function getPharmacyList() {
return request({
url: '/app-common/pharmacy-list',
method: 'get',
})
return request({
url: '/app-common/pharmacy-list',
method: 'get',
})
}
// 药房药库列表
export function getPharmacyCabinetList() {
return request({
url: '/app-common/pharmacy-cabinet-list',
method: 'get',
})
return request({
url: '/app-common/pharmacy-cabinet-list',
method: 'get',
})
}
// 获取药库列表
export function getDispensaryList() {
return request({
url: '/app-common/cabinet-list',
method: 'get',
})
return request({
url: '/app-common/cabinet-list',
method: 'get',
})
}
// 停供
export function stopSupply(busNo) {
return request({
url: '/inventory-manage/product/stop-supply',
method: 'put',
data: busNo
})
return request({
url: '/inventory-manage/product/stop-supply',
method: 'put',
data: busNo
})
}
// 取消停供
export function cancelSupply(busNo) {
return request({
url: '/inventory-manage/product/cancel-supply',
method: 'put',
data: busNo
})
return request({
url: '/inventory-manage/product/cancel-supply',
method: 'put',
data: busNo
})
}
// 查询库存商品明细查询报表列表
export function getReportProductPage(query) {
return request({
url:'/report-manage/inventory-product/report-product-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/inventory-product/report-product-page',
method: 'get',
params: query
})
}
//查询采购入库明细报表
export function getReportInboundPCage(query) {
return request({
url:'/report-manage/inbound/report-inbound-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/inbound/report-inbound-page',
method: 'get',
params: query
})
}
//查询调拨入库明细报表
export function getReportTransferPage(query) {
return request({
url:'/report-manage/transfer/report-transfer-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/transfer/report-transfer-page',
method: 'get',
params: query
})
}
//查询库存盘点明细报表
export function getReportStocktakingPage(query) {
return request({
url:'/report-manage/stocktaking/report-stocktaking-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/stocktaking/report-stocktaking-page',
method: 'get',
params: query
})
}
//报损明细
export function getReportLossPage(query) {
return request({
url:'/report-manage/loss/report-loss-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/loss/report-loss-page',
method: 'get',
params: query
})
}
// 医保对账
export function ybRequestReconcile(data) {
return request({
url: '/yb-request/reconcile',
method: 'post',
data: data
})
return request({
url: '/yb-request/reconcile',
method: 'post',
data: data
})
}
// 合同
export function getContractList() {
return request({
url: '/app-common/contract-list',
method: 'get',
})
return request({
url: '/app-common/contract-list',
method: 'get',
})
}
// 对账列表 结算
export function getReconcileList(params) {
return request({
url: '/yb-request/reconcile-list',
method: 'get',
params:params
})
return request({
url: '/yb-request/reconcile-list',
method: 'get',
params: params
})
}
//领用出库明细
export function getRreportOutboundPage(query) {
return request({
url:'/report-manage/outbound/report-outbound-page',
method: 'get',
params: query
})
return request({
url: '/report-manage/outbound/report-outbound-page',
method: 'get',
params: query
})
}
// 获取科室列表
export function getDepartmentList() {
return request({
url: '/app-common/department-list',
method: 'get',
})
return request({
url: '/app-common/department-list',
method: 'get',
})
}
// 查询领用出库明细初始化数据 供应商
export function getOutboundInit() {
return request({
url: '/report-manage/outbound/init',
method: 'get'
})
}
return request({
url: '/report-manage/outbound/init',
method: 'get'
})
}
// 查询采购入库明细初始化数据 供应商
export function getInboundInit() {
return request({
url: '/report-manage/inbound/init',
method: 'get'
})
}
return request({
url: '/report-manage/inbound/init',
method: 'get'
})
}
//领用退库明细
export function getRreportReturnIssue(query) {
return request({
url:'/report-manage/return-issue/report-return-issue',
method: 'get',
params: query
})
return request({
url: '/report-manage/return-issue/report-return-issue',
method: 'get',
params: query
})
}
// 查询领用退库明细初始化数据 供应商
export function getReturnIssueInit() {
return request({
url: '/report-manage/return-issue/init',
method: 'get'
})
}
return request({
url: '/report-manage/return-issue/init',
method: 'get'
})
}
//采购退库明细
export function getReportPurchaseReturn(query) {
return request({
url:'/report-manage/purchase-return/report-purchase-return',
method: 'get',
params: query
})
return request({
url: '/report-manage/purchase-return/report-purchase-return',
method: 'get',
params: query
})
}
// 查询采购退库明细初始化数据
export function getPurchaseReturnInit() {
return request({
url: '/report-manage/purchase-return/init',
method: 'get'
})
return request({
url: '/report-manage/purchase-return/init',
method: 'get'
})
}
//待发药查询
export function getAwaitingPendingMedicationPageList(query) {
return request({
url:'/pharmacy-manage/pending-medication/pending-medication-page',
method: 'get',
params: query
})
return request({
url: '/pharmacy-manage/pending-medication/pending-medication-page',
method: 'get',
params: query
})
}
//发药明细 切换统计类型
export function getAmbPractitionerDetail(query) {
return request({
url:'/pharmacy-manage/medication-details/amb-practitioner-detail',
method: 'get',
params: query
})
return request({
url: '/pharmacy-manage/medication-details/amb-practitioner-detail',
method: 'get',
params: query
})
}
// 门诊发药明细流水账接口
export function getAmbMedicationDetail(query) {
return request({
url:'/pharmacy-manage/medication-details/amb-medication-detail',
method: 'get',
params: query
})
return request({
url: '/pharmacy-manage/medication-details/amb-medication-detail',
method: 'get',
params: query
})
}
// 查询发药明细初始化数据
export function getMedicationDetailsInit() {
return request({
url: '/pharmacy-manage/medication-details/init',
method: 'get'
})
return request({
url: '/pharmacy-manage/medication-details/init',
method: 'get'
})
}
// 医保对账明细
export function reconcileDetailList(data) {
return request({
url: '/yb-request/reconcile-detail-list',
method: 'post',
data:data
})
return request({
url: '/yb-request/reconcile-detail-list',
method: 'post',
data: data
})
}
// 医保对账明细导出txt
export function reconcileDetailTxt(data) {
return request({
url: '/yb-request/reconcile-detail-txt',
method: 'post',
data: data
})
return request({
url: '/yb-request/reconcile-detail-txt',
method: 'post',
data: data
})
}
// 医保明细对总账
export function reconcileGeneral(data) {
return request({
url: '/yb-request/reconcile-general',
method: 'post',
data: data
})
return request({
url: '/yb-request/reconcile-general',
method: 'post',
data: data
})
}
//查询门诊收费明细
export function getReportChargePage(params) {
return request({
url: '/report-manage/charge/report-charge-page',
method: 'get',
params:params
})
return request({
url: '/report-manage/charge/report-charge-page',
method: 'get',
params: params
})
}
//查询门诊收费明细初始值
export function getReportChargeInit() {
return request({
url: '/report-manage/charge/init',
method: 'get'
})
return request({
url: '/report-manage/charge/init',
method: 'get'
})
}
//查询挂号收费明细
export function getReportRegisterPage(params) {
return request({
url: '/report-manage/register/report-register-page',
method: 'get',
params:params
})
return request({
url: '/report-manage/register/report-register-page',
method: 'get',
params: params
})
}
//查询挂号收费明细初始值
export function getReportRegisterInit() {
return request({
url: '/report-manage/register/init',
method: 'get'
})
return request({
url: '/report-manage/register/init',
method: 'get'
})
}
// 文件上传
export function ybRequestFileUp(data) {
return request({
url: '/yb-request/file-up',
method: 'post',
data: data
})
return request({
url: '/yb-request/file-up',
method: 'post',
data: data
})
}
export function getExpirationWarning(query) {
return request({
url:'/inventory-manage/product/expiration-warning',
method: 'get',
params: query
})
return request({
url: '/inventory-manage/product/expiration-warning',
method: 'get',
params: query
})
}
export function getClroptins(query) {
return request({
url:'/yb-request/select-clroptins',
method: 'get',
params: query
})
return request({
url: '/yb-request/select-clroptins',
method: 'get',
params: query
})
}
export function applyFinancialClearing(data) {
return request({
url:'/yb-request/apply-financial-clearing',
method: 'post',
data: data
})
return request({
url: '/yb-request/apply-financial-clearing',
method: 'post',
data: data
})
}
export function applyFinancialClearingList(query) {
return request({
url:'/yb-request/apply-financial-clearing-list',
method: 'get',
params: query
})
return request({
url: '/yb-request/apply-financial-clearing-list',
method: 'get',
params: query
})
}
export function applyUnClearing(query) {
return request({
url:'/yb-request/apply-un-clearing',
method: 'get',
params: query
})
return request({
url: '/yb-request/apply-un-clearing',
method: 'get',
params: query
})
}
export function autoApplyFinancialClearing(data) {
return request({
url:'/yb-request/auto-apply-financial-clearing',
method: 'post',
data: data
})
return request({
url: '/yb-request/auto-apply-financial-clearing',
method: 'post',
data: data
})
}
export function traceabilityCodeManagementInit(data) {
return request({
url:'/inventory-manage/traceNo/init',
method: 'get',
data: data
})
return request({
url: '/inventory-manage/traceNo/init',
method: 'get',
data: data
})
}
export function inventoryReceiptPage(query) {
return request({
url:'/inventory-manage/traceNo/inventory-receipt-page',
method: 'get',
params: query
})
return request({
url: '/inventory-manage/traceNo/inventory-receipt-page',
method: 'get',
params: query
})
}
export function handOperatedApplyFinancialClearing(data) {
return request({
url:'/yb-request/hand-operated-apply-financial-clearing',
method: 'post',
data: data
})
return request({
url: '/yb-request/hand-operated-apply-financial-clearing',
method: 'post',
data: data
})
}
export function handOperatedApplyReconcileAccounts(data) {
return request({
url: '/yb-request/hand-operated-apply-reconcile-accounts',
method: 'post',
data: data
})
}
export function productPageTotal(query) {
return request({
url:'/inventory-manage/product/product-page-total',
method: 'get',
params: query
})
return request({
url: '/inventory-manage/product/product-page-total',
method: 'get',
params: query
})
}
export function getMedDevInfo(query) {
return request({
url:'/report-manage/medication-device/med-dev-info',
method: 'get',
params: query
})
return request({
url: '/report-manage/medication-device/med-dev-info',
method: 'get',
params: query
})
}
export function getMedDevAll(query) {
return request({
url:'/report-manage/medication-device/med-dev-all',
method: 'get',
params: query
})
return request({
url: '/report-manage/medication-device/med-dev-all',
method: 'get',
params: query
})
}
export function getReportStocktakingPageAuto(query) {
return request({
url: '/report-manage/stocktaking/report-stocktaking-page-auto',
method: 'get',
params: query
})
}

View File

@@ -80,6 +80,14 @@
>重置</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
<el-table
@@ -199,13 +207,13 @@
<el-table-column
label="制单日期"
align="center"
key="createTime"
prop="createTime"
key="occurrenceTime"
prop="occurrenceTime"
width="160"
:show-overflow-tooltip="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.occurrenceTime) }}</span>
</template>
</el-table-column>
<el-table-column
@@ -258,6 +266,7 @@ const multiple = ref(true);
const total = ref(0);
const occurrenceTime = ref([]);
const locationIdList = ref([]);
const route = useRoute();
const data = reactive({
form: {},
@@ -267,14 +276,41 @@ const data = reactive({
searchKey: undefined,
sourceLocationId:undefined,
purposeLocationId:undefined,
createTimeSTime:undefined,
createTimeETime:undefined,
occurrenceTimeSTime:undefined,
occurrenceTimeETime:undefined,
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
// 监听路由变化
watch(
() => route.query,
(newQuery) => {
// 如果路由中包含指定参数,则使用这些参数进行查询
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
// 设置查询参数
if (newQuery.purposeLocationId) {
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
}
if (newQuery.sourceLocationId) {
queryParams.value.sourceLocationId = newQuery.sourceLocationId;
}
if (newQuery.occurrenceTimeSTime) {
queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00';
}
if (newQuery.occurrenceTimeETime) {
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
// 执行查询
getList();
}
},
{ immediate: true }
);
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data
@@ -298,11 +334,11 @@ function getList() {
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.createTimeSTime =
queryParams.value.occurrenceTimeSTime =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[0] + " 00:00:00"
: "";
queryParams.value.createTimeETime =
queryParams.value.occurrenceTimeETime =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[1] + " 23:59:59"
: "";
@@ -313,8 +349,8 @@ function handleQuery() {
/** 清空条件按钮操作 */
function handleClear() {
// 清空查询条件
queryParams.value.createTimeSTime = ""
queryParams.value.createTimeETime = ""
queryParams.value.occurrenceTimeSTime = ""
queryParams.value.occurrenceTimeETime = ""
occurrenceTime.value = ""
proxy.resetForm("queryRef");
getList();
@@ -327,6 +363,12 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 导出按钮操作 */
function handleExport() {
proxy.$download.downloadGet("report-manage/transfer/excel-out", {
...queryParams.value
}, `dict_${new Date().getTime()}.xlsx`);
}
getList();
getPharmacyCabinetLists()

View File

@@ -1173,16 +1173,16 @@ function handleLocationClick(id,purposeLocationId,itemId, index) {
form.purchaseinventoryList[index].startTime = formatDateymd(res.data[0].productionDate)|| "";
form.purchaseinventoryList[index].endTime = formatDateymd(res.data[0].expirationDate) || "";
form.purchaseinventoryList[index].unitCode = form.purchaseinventoryList[index].unitList.minUnitCode
form.purchaseinventoryList[index].unitCode_dictText = form.purchaseinventoryList[index].unitList.minUnitCode_dictText
form.purchaseinventoryList[index].unitCode = form.purchaseinventoryList[index].unitList.unitCode
form.purchaseinventoryList[index].unitCode_dictText = form.purchaseinventoryList[index].unitList.unitCode_dictText
// 单价 大单位单价
if(form.purchaseinventoryList[index].unitCode==form.purchaseinventoryList[index].unitList.minUnitCode){
if(form.purchaseinventoryList[index].unitCode==form.purchaseinventoryList[index].unitList.unitCode){
form.purchaseinventoryList[index].price = res.data[0].price / form.purchaseinventoryList[index].partPercent|| "";
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}else{
if(form.purchaseinventoryList[index].price>1){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
startTimeOld.value = form.purchaseinventoryList[index].startTime?form.purchaseinventoryList[index].startTime:''
@@ -1250,27 +1250,29 @@ function editBatchTransfer(index){
// 单位处理
function handleUnitCodeChange(row, index, value) {
// 防止点击和已选一样的问题
if(!form.purchaseinventoryList[index].statusMaxvalue&&Number(row.measurementUnitCode)==Number(value)){
return
}
// if(!form.purchaseinventoryList[index].statusMaxvalue&&Number(row.measurementUnitCode)==Number(value)){
// return
// }
console.log(row.minUnitCode, value)
console.log(form.purchaseinventoryList[index])
if (row.minUnitCode == value) { //最小计量单位
form.purchaseinventoryList[index].totalSourceQuantity = form.purchaseinventoryList[index].oldtotalSourceQuantity
form.purchaseinventoryList[index].totalPurposeQuantity = form.purchaseinventoryList[index].oldtotalPurposeQuantity
form.purchaseinventoryList[index].itemQuantity = 0
form.purchaseinventoryList[index].totalPrice = 0
// form.purchaseinventoryList[index].itemQuantity = form.purchaseinventoryList[index].olditemQuantity
// form.purchaseinventoryList[index].itemQuantity = 0
// form.purchaseinventoryList[index].totalPrice = 0
form.purchaseinventoryList[index].itemQuantity = form.purchaseinventoryList[index].oldtotalPurposeQuantity
// 单价
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price / row.partPercent;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
} else { // 切换成大的计量单位
form.purchaseinventoryList[index].itemQuantity = 0
form.purchaseinventoryList[index].totalPrice = 0
// form.purchaseinventoryList[index].itemQuantity = 0
// form.purchaseinventoryList[index].totalPrice = 0
getMaxCounts(row,index)
}
form.purchaseinventoryList[index].statusMaxvalue = true
handleTotalPrice(index)
editBatchTransfer(index)
}
function getMaxCounts(row,index,counts){
@@ -1292,6 +1294,8 @@ function getMaxCounts(row,index,counts){
form.purchaseinventoryList[index].totalPurposeQuantity / row.partPercent;
const integerPart2 = Math.floor(form.purchaseinventoryList[index].totalPurposeQuantity); // 获取整数部分
form.purchaseinventoryList[index].itemQuantity = integerPart1
const decimalPart2 = form.purchaseinventoryList[index].totalPurposeQuantity - integerPart2; // 获取小数部分
if(decimalPart2){
@@ -1313,7 +1317,7 @@ function getMaxCounts(row,index,counts){
}else{
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price * row.partPercent;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
// 计算总价
@@ -1324,7 +1328,7 @@ function handleTotalPrice(index) {
if (purchaseItem.price > 0 && purchaseItem.itemQuantity > 0) {
form.purchaseinventoryList[index].totalPrice =
purchaseItem.price * purchaseItem.itemQuantity;
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(4);
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(2);
}
if(form.purchaseinventoryList[index].itemQuantity==0){
form.purchaseinventoryList[index].totalPrice = 0
@@ -1362,7 +1366,7 @@ function handleSave() {
}
if(rows.unitCode == rows.unitCode_dictText){
if(rows.unitCode_dictText == rows.unitList.minUnitCode_dictText){
rows.unitCode = rows.unitList.minUnitCode
rows.unitCode = rows.unitList.unitCode
}else{
rows.unitCode = rows.unitList.unitCode
rows.unitCode_dictText = rows.unitList.unitCode_dictText
@@ -1438,6 +1442,7 @@ function addTransferProducts(rowList){
/** 选择条数 */
function handleSelectionChange(selection) {
console.log(selection, 'selection')
// selectedData.value = selection.map((item) => ({ ...item })); // 存储选择的行数据
ids.value = selection.map((item) => item.id);
selectedRows.value = selection;
@@ -1499,7 +1504,12 @@ function handleScan(row,index){
currentIndex.value = index
}
function submit(value){
form.purchaseinventoryList[currentIndex.value].traceNo = value;
if (form.purchaseinventoryList[currentIndex.value].traceNo) {
form.purchaseinventoryList[currentIndex.value].traceNo =
form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value;
} else {
form.purchaseinventoryList[currentIndex.value].traceNo = value;
}
openTraceNoDialog.value = false;
}
@@ -1561,8 +1571,8 @@ function getDetailAll(){
forms.purchaseinventoryList[index].totalPurposeQuantity = forms.purchaseinventoryList[index].totalPurposeQuantity?forms.purchaseinventoryList[index].totalPurposeQuantity:0
if(e.unitList&&e.unitCode){
forms.purchaseinventoryList[index].unitList = e.unitList[0]?e.unitList[0]:e.unitList //计量单位回显数组
forms.purchaseinventoryList[index].unitCode = forms.purchaseinventoryList[index].measurementUnitCode
forms.purchaseinventoryList[index].unitCode_dictText = forms.purchaseinventoryList[index].measurementUnitCode_dictText;
forms.purchaseinventoryList[index].unitCode = forms.purchaseinventoryList[index].unitCode
forms.purchaseinventoryList[index].unitCode_dictText = forms.purchaseinventoryList[index].unitCode_dictText;
if(forms.purchaseinventoryList[index].measurementUnitCode == forms.purchaseinventoryList[index].unitList.unitCode){ // 回显大单位
getMaxCountsAll(e,index,1)
}
@@ -1571,16 +1581,16 @@ function getDetailAll(){
// 单价 大单位单价
if(forms.purchaseinventoryList[index].measurementUnitCode == forms.purchaseinventoryList[index].unitList.minUnitCode){
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price / forms.purchaseinventoryList[index].partPercent|| "";
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}else{
if(forms.purchaseinventoryList[index].price>1){
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}
}
if (forms.purchaseinventoryList[index].price > 0 && forms.purchaseinventoryList[index].itemQuantity > 0) {
forms.purchaseinventoryList[index].totalPrice =
forms.purchaseinventoryList[index].price * forms.purchaseinventoryList[index].itemQuantity;
forms.purchaseinventoryList[index].totalPrice = forms.purchaseinventoryList[index].totalPrice.toFixed(4);
forms.purchaseinventoryList[index].totalPrice = forms.purchaseinventoryList[index].totalPrice.toFixed(2);
}
}else{
forms.purchaseinventoryList[index].price = 0
@@ -1631,7 +1641,7 @@ function getMaxCountsAll(row,index,counts){
}else{
forms.purchaseinventoryList[index].price =
forms.purchaseinventoryList[index].price * row.partPercent;
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}
}
function getDetail(type){
@@ -1680,27 +1690,27 @@ function getDetail(type){
form.purchaseinventoryList[index].totalPurposeQuantity = form.purchaseinventoryList[index].totalPurposeQuantity?form.purchaseinventoryList[index].totalPurposeQuantity:0
if(e.unitList&&e.unitCode){
form.purchaseinventoryList[index].unitList = e.unitList[0]?e.unitList[0]:e.unitList //计量单位回显数组
form.purchaseinventoryList[index].unitCode = form.purchaseinventoryList[index].measurementUnitCode
form.purchaseinventoryList[index].unitCode_dictText = form.purchaseinventoryList[index].measurementUnitCode_dictText;
if(form.purchaseinventoryList[index].measurementUnitCode == form.purchaseinventoryList[index].unitList.unitCode){ // 回显大单位
form.purchaseinventoryList[index].unitCode = form.purchaseinventoryList[index].unitCode
form.purchaseinventoryList[index].unitCode_dictText = form.purchaseinventoryList[index].unitCode_dictText;
if(form.purchaseinventoryList[index].unitCode == form.purchaseinventoryList[index].unitList.unitCode){ // 回显大单位
getMaxCounts(e,index,1)
}
}
if(e.price){
// 单价 大单位单价
if(form.purchaseinventoryList[index].measurementUnitCode == form.purchaseinventoryList[index].unitList.minUnitCode){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price / form.purchaseinventoryList[index].partPercent|| "";
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
// form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price / form.purchaseinventoryList[index].partPercent|| "";
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
// parseFloat(form.purchaseinventoryList[index].price.toFixed(4))
}else{
if(form.purchaseinventoryList[index].price>1){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
if (form.purchaseinventoryList[index].price > 0 && form.purchaseinventoryList[index].itemQuantity > 0) {
form.purchaseinventoryList[index].totalPrice =
form.purchaseinventoryList[index].price * form.purchaseinventoryList[index].itemQuantity;
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(4);
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(2);
}
}else{
form.purchaseinventoryList[index].price = 0
@@ -1821,6 +1831,7 @@ function getBusNoInitList() {
queryParams.value.busNo = receiptHeaderForm.busNo
getTransferProductDetail(queryParams.value).then((res) => {
form.purchaseinventoryList = res.data.records?res.data.records:res.data
receiptHeaderForm.occurrenceTime = res.data.records[0].occurrenceTime ? formatDate(res.data.records[0].occurrenceTime) : new Date()
total.value = res.data.total
getDetail(1)
getAllBatchList(2)

View File

@@ -83,7 +83,7 @@
</el-form-item>
<el-form-item label="单据日期:">
<el-date-picker
v-model="receiptHeaderForm.occurrence_time"
v-model="receiptHeaderForm.occurrenceTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
:disabled="data.isEdit"
@@ -757,7 +757,7 @@ const form = reactive({
const rowList = ref([])
const receiptHeaderForm = reactive({
busNo: undefined,
occurrence_time: formatDate(new Date()),
occurrenceTime: formatDate(new Date()),
});
const data = reactive({
@@ -827,7 +827,7 @@ watch(
if (newVlaue&&!route.query.supplyBusNo) {
form.purchaseinventoryList = newVlaue?.purchaseinventoryList
receiptHeaderForm.busNo = newVlaue?.receiptHeaderForm.busNo
receiptHeaderForm.occurrence_time = newVlaue?.receiptHeaderForm.occurrence_time
receiptHeaderForm.occurrenceTime = newVlaue?.receiptHeaderForm.occurrenceTime
receiptHeaderForm.sourceTypeEnum = newVlaue?.receiptHeaderForm.sourceTypeEnum
handleChangeSourceTypeEnum(receiptHeaderForm.sourceTypeEnum,1)
receiptHeaderForm.sourceLocationId = newVlaue?.receiptHeaderForm.sourceLocationId
@@ -915,7 +915,7 @@ function addNewRow() {
const newRow = {
id: "",
supplyBusNo:"",
occurrence_time:"",
occurrenceTime:"",
typeEnum_enumText:"",
statusEnum_enumText:"",
sourceTypeEnum:"",
@@ -1011,7 +1011,7 @@ function handleBlur(row, index) {
row.applyTime = formatDate(row.applyTime)
row.startTime = formatDateymd(row.startTime)
row.endTime = formatDateymd(row.endTime)
row.occurrence_time = receiptHeaderForm.occurrence_time;
row.occurrenceTime = receiptHeaderForm.occurrenceTime;
let sourceTypeEnum = warehous_type.value.filter(e=>{return e.label==receiptHeaderForm.sourceTypeEnum})
@@ -1041,6 +1041,7 @@ function getTransferProductDetails(type){
getTransferProductDetail(queryParams.value).then((res) => {
form.purchaseinventoryList = res.data.records
receiptHeaderForm.occurrenceTime = formatDate(res.data.records[0].occurrenceTime)
total.value = res.data.total;
form.purchaseinventoryList.map((e,index)=>{
e.isSave = true
@@ -1091,16 +1092,16 @@ function getTransferProductDetails(type){
// 单价 大单位单价
if(form.purchaseinventoryList[index].measurementUnitCode == form.purchaseinventoryList[index].unitList.minUnitCode){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price / form.purchaseinventoryList[index].partPercent|| "";
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}else{
if(form.purchaseinventoryList[index].price>1){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
if (form.purchaseinventoryList[index].price > 0 && form.purchaseinventoryList[index].itemQuantity > 0) {
form.purchaseinventoryList[index].totalPrice =
form.purchaseinventoryList[index].price * form.purchaseinventoryList[index].itemQuantity;
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(4);
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(2);
}
}else{
form.purchaseinventoryList[index].price = 0
@@ -1165,16 +1166,16 @@ function getTransferProductDetails(type){
// 单价 大单位单价
if(forms.purchaseinventoryList[index].measurementUnitCode == forms.purchaseinventoryList[index].unitList.minUnitCode){
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price / forms.purchaseinventoryList[index].partPercent|| "";
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}else{
if(forms.purchaseinventoryList[index].price>1){
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}
}
if (forms.purchaseinventoryList[index].price > 0 && forms.purchaseinventoryList[index].itemQuantity > 0) {
forms.purchaseinventoryList[index].totalPrice =
forms.purchaseinventoryList[index].price * forms.purchaseinventoryList[index].itemQuantity;
forms.purchaseinventoryList[index].totalPrice = forms.purchaseinventoryList[index].totalPrice.toFixed(4);
forms.purchaseinventoryList[index].totalPrice = forms.purchaseinventoryList[index].totalPrice.toFixed(2);
}
}else{
forms.purchaseinventoryList[index].price = 0
@@ -1329,11 +1330,11 @@ function handleLocationClick(id,purposeLocationId,itemId, index) {
// 单价 大单位单价
if(form.purchaseinventoryList[index].unitCode==form.purchaseinventoryList[index].unitList.minUnitCode){
form.purchaseinventoryList[index].price = res.data[0].price / form.purchaseinventoryList[index].partPercent|| "";
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price>0?form.purchaseinventoryList[index].price.toFixed(4):0
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price>0?form.purchaseinventoryList[index].price.toFixed(2):0
}else{
if(form.purchaseinventoryList[index].price>1){
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
// handleUnitCodeChange(form.purchaseinventoryList[index], index, form.purchaseinventoryList[index].unitCode)
@@ -1410,7 +1411,7 @@ function handleUnitCodeChange(row, index, value) {
// 单价
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price / row.partPercent;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
} else { // 切换成大的计量单位
@@ -1462,7 +1463,7 @@ function getMaxCountsAll(row,index,counts){
}else{
forms.purchaseinventoryList[index].price =
forms.purchaseinventoryList[index].price * row.partPercent;
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(4);
forms.purchaseinventoryList[index].price = forms.purchaseinventoryList[index].price.toFixed(2);
}
}
function getMaxCounts(row,index,counts){
@@ -1506,7 +1507,7 @@ function getMaxCounts(row,index,counts){
}else{
form.purchaseinventoryList[index].price =
form.purchaseinventoryList[index].price * row.partPercent;
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(4);
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
}
}
//修改备注
@@ -1527,7 +1528,7 @@ function handleTotalPrice(index) {
if (purchaseItem.price > 0 && purchaseItem.itemQuantity > 0) {
form.purchaseinventoryList[index].totalPrice =
purchaseItem.price * purchaseItem.itemQuantity;
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(4);
form.purchaseinventoryList[index].totalPrice = form.purchaseinventoryList[index].totalPrice.toFixed(2);
// parseFloat(form.purchaseinventoryList[index].totalPrice.toFixed(4))
}
if(form.purchaseinventoryList[index].itemQuantity==0){
@@ -1687,7 +1688,12 @@ function handleScan(row,index){
currentIndex.value = index
}
function submit(value){
form.purchaseinventoryList[currentIndex.value].traceNo = value;
if (form.purchaseinventoryList[currentIndex.value].traceNo) {
form.purchaseinventoryList[currentIndex.value].traceNo =
form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value;
} else {
form.purchaseinventoryList[currentIndex.value].traceNo = value;
}
openTraceNoDialog.value = false;
}
/** 选择条数 */