提交merge1.3

This commit is contained in:
2025-12-27 15:30:40 +08:00
parent 088861f66e
commit 3c497417dc
167 changed files with 0 additions and 17577 deletions

View File

@@ -166,20 +166,12 @@ import {
reject,
init,
getpurchaseInventoryDetail,
<<<<<<< HEAD
getpurchaseInventoryDetailReturn
} from "./components/api";
import { purchaseInventoryApproved as purchaseReturnApproved } from '../returnedPurchase/components/api';
import { useStore } from '@/store/store';
import { formatDate } from '@/utils/index';
=======
getpurchaseInventoryDetailReturn,
} from './components/api';
import { useStore } from '@/store/store';
import { formatDate } from '@/utils/index';
import ChkstockDetailsDialog from '@/views/medicationmanagement/chkstock/components/chkstockDetailsDialog.vue';
import TransferDetailsDialog from '@/views/medicationmanagement/transferManagent/components/transferDetailsDialog.vue';
>>>>>>> v1.3
import useTagsViewStore from '@/store/modules/tagsView';
const router = useRouter();
const route = useRoute();
@@ -257,28 +249,8 @@ function handelApply(row) {
proxy.$modal.msgSuccess('操作成功');
getList();
}
<<<<<<< HEAD
})
}else if(row.typeEnum == 5){ // 采购退货审批通过
console.log("采购退货审批通过typeEnum:", row.typeEnum);
console.log("供应单据号:", row.supplyBusNo);
purchaseReturnApproved(row.supplyBusNo).then((res) => {
console.log("采购退货审批结果:", res);
if (res.code == 200) {
proxy.$modal.msgSuccess("操作成功");
getList();
} else {
proxy.$modal.msgError("操作失败: " + (res.msg || "未知错误"));
}
}).catch((error) => {
console.error("采购退货审批错误:", error);
proxy.$modal.msgError("操作异常: " + error.message);
});
}else{
=======
});
} else {
>>>>>>> v1.3
purchaseInventoryApproved(row.supplyBusNo).then((res) => {
if (res.code == 200) {
proxy.$modal.msgSuccess('操作成功');
@@ -290,30 +262,17 @@ function handelApply(row) {
// 审批,查看
function handelApplys(row, view) {
<<<<<<< HEAD
if (row.typeEnum == 2) {
=======
if (row.typeEnum == 100086) {
>>>>>>> v1.3
//商品调拨
// 跳转到审核页面
router.replace({
path: '/medicationmanagement/transferManagement/transferManagent',
query: { supplyBusNo: row.supplyBusNo, view: view },
});
<<<<<<< HEAD
} else if (row.typeEnum == 8) {
//8 批量
router.replace({
path: '/medicationmanagement/transferManagement/batchTransfer',
query: { supplyBusNo: row.supplyBusNo, view: view },
});
=======
} else if (row.typeEnum == 8 || row.typeEnum == 2) {
//8 批量
isApply.value = true;
proxy.$refs['tranDetailsDialogRef'].open(row.supplyBusNo);
>>>>>>> v1.3
} else if (row.typeEnum == 7) {
//领用出库审批通过
router.replace({
@@ -327,17 +286,9 @@ function handelApplys(row, view) {
query: { supplyBusNo: row.supplyBusNo, view: view },
});
} else if (row.typeEnum == 4) {
<<<<<<< HEAD
//盘点审批
router.replace({
path: '/medicationmanagement/chkstock/chkstockPart',
query: { supplyBusNo: row.supplyBusNo, view: view },
});
=======
isApply.value = true;
//盘点审批
proxy.$refs['detailsDialogRef'].open(row.supplyBusNo);
>>>>>>> v1.3
} else if (row.typeEnum == 10) {
// 批量盘点
router.replace({

View File

@@ -37,11 +37,8 @@
>
</el-col>
</el-row>
<<<<<<< HEAD
=======
<el-button type="primary" plain @click="handleExport" v-if="viewStatus == 'view'">导出</el-button>
>>>>>>> v1.3
<el-form
:model="receiptHeaderForm"
ref="receiptHeaderRef"
@@ -586,11 +583,7 @@
:prop="`purchaseinventoryList.${scope.$index}.manufacturerText`"
:rules="tableRules.manufacturerText"
>
<<<<<<< HEAD
<el-input v-model="scope.row.manufacturer" placeholder="" disabled />
=======
<el-input v-model="scope.row.manufacturerText" placeholder="" disabled />
>>>>>>> v1.3
</el-form-item>
</template>
</el-table-column>
@@ -710,22 +703,12 @@ import {
addBatch, //保存批量盘点
productStocktakingApproved,
reject,
<<<<<<< HEAD
getpharmacyCabinetList
} from "../components/api";
import PopoverList from "@/components/OpenHis/popoverList/index.vue";
import MedicineList from "../components/medicineList.vue";
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue'
import { formatDate,formatDateymd } from "@/utils/index";
import { ref } from "vue";
=======
} from '../components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import MedicineList from '../components/medicineList.vue';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import { formatDate, formatDateymd } from '@/utils/index';
import { ref } from 'vue';
>>>>>>> v1.3
const router = useRouter();
const route = useRoute();
@@ -1576,11 +1559,7 @@ function getDetailAll() {
// form.purchaseinventoryList[index].statusMaxvalue = false
e.volume = e.totalVolume;
e.name = e.itemName;
<<<<<<< HEAD
e.manufacturer = e.manufacturerText;
=======
e.manufacturerText = e.manufacturerText;
>>>>>>> v1.3
if (e.purposeTypeEnum) {
warehous_type.value.map((item) => {
if (item.value == e.purposeTypeEnum) {
@@ -1710,11 +1689,7 @@ function getDetail(type) {
form.purchaseinventoryList[index].statusMaxvalue = false;
e.volume = e.totalVolume;
e.name = e.itemName;
<<<<<<< HEAD
e.manufacturer = e.manufacturerText;
=======
e.manufacturerText = e.manufacturerText;
>>>>>>> v1.3
if (e.purposeTypeEnum) {
warehous_type.value.map((item) => {
if (item.value == e.purposeTypeEnum) {
@@ -2097,11 +2072,7 @@ function handleReject() {
store.clearCurrentDataPLPDALL();
// 跳转到审核页面
router.replace({
<<<<<<< HEAD
path: '/aaaa/medicationmanagement/billapproval',
=======
path: '/aaaa/billapproval',
>>>>>>> v1.3
query: { type: 'chkstockBatch' },
});
}
@@ -2118,11 +2089,7 @@ function handelApply() {
store.clearCurrentDataPLPDALL();
// 跳转到审核页面
router.replace({
<<<<<<< HEAD
path: '/aaaa/medicationmanagement/billapproval',
=======
path: '/aaaa/billapproval',
>>>>>>> v1.3
query: { type: 'chkstockBatch' },
});
}
@@ -2199,13 +2166,9 @@ function getStockReceiptTypeList() {
console.log('详情页查询下拉树response1111111', response);
// categoryListOptions.value = response.data.categoryListOptions; // 药品类型
<<<<<<< HEAD
profitReasonOptions.value = response.data.profitReasonOptions; // 盈亏原因
=======
profitReasonOptions.value = response.data.profitReasonOptions; // 盈亏原因
// receiptHeaderForm.purposeTypeEnum = warehous_type.value[0].value // 仓库类型默认值
// handleChangePurposeTypeEnum(receiptHeaderForm.purposeTypeEnum)
>>>>>>> v1.3
// cabinetListOptionsBk.value = response.data.purposeTypeListOptions; // 盘点仓库列表(未过滤)
// purposeTypeListOptions.value = cabinetListOptionsBk.value.filter(item => item.formEnum === receiptHeaderForm.purposeTypeEnum) // 盘点仓库列表
@@ -2316,31 +2279,6 @@ function totalQuantityChange(rowData, index, value) {
editBatchTransfer(index);
}
// 切换仓库类型获取药房/药库列表 目的仓库切换
<<<<<<< HEAD
function handleChangePurposeTypeEnum(value,type) {
// 确保value是数字类型
const numValue = Number(value);
// 清空已选择的盘点仓库
if(!route.query.supplyBusNo&&!type){
receiptHeaderForm.purposeLocationId = ''
receiptHeaderForm.purposeLocationId1 = ''
}
// 根据选择的仓库类型调用不同的API获取对应类型的仓库列表
if (numValue === 16 || numValue === 11) {
// 使用统一接口获取药房或药库列表
getpharmacyCabinetList().then((res) => {
// 过滤出符合当前类型的仓库列表
const filteredList = res.data.filter(item => item.formEnum === numValue);
purposeTypeListOptions.value = filteredList;
// 调用getinitValue设置默认仓库和货位
getinitValue();
}).catch((error) => {
console.error('获取仓库列表失败:', error);
purposeTypeListOptions.value = [];
freightListOptions.value = [];
=======
function handleChangePurposeTypeEnum(value, type) {
if (value == 16) {
getPharmacyList().then((res) => {
@@ -2359,7 +2297,6 @@ function handleChangePurposeTypeEnum(value, type) {
receiptHeaderForm.purposeLocationId1 = '';
}
// getinitValue()
>>>>>>> v1.3
});
} else if (numValue === 17) {
// 处理耗材库类型
@@ -2443,8 +2380,6 @@ function handleTraceNo(value, row, index) {
}
getStockReceiptTypeList(); // 详情页查询下拉树结构
getbusNo(); // 单据号取得
<<<<<<< HEAD
=======
// 导出
const exportRequiredParams = ref({
@@ -2461,7 +2396,6 @@ function handleExport() {
`批量盘点单明细_${proxy.formatDateStr(new Date(), 'YYYY-MM-DD')}.xlsx`
);
}
>>>>>>> v1.3
</script>
<style scoped>
.custom-tree-node {

View File

@@ -6,28 +6,6 @@
"paperType": "自定义",
"height": 130,
"width": 210,
<<<<<<< HEAD
"paperHeader": 0,
"paperFooter": 365.6692913385827,
"paperNumberDisabled": true,
"paperNumberContinue": true,
"expandCss": "",
"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"
},
=======
"paperHeader": 73.5,
"paperFooter": 337.5,
"paperNumberDisabled": true,
@@ -35,7 +13,6 @@
"expandCss": "",
"overPrintOptions": {},
"watermarkOptions": {},
>>>>>>> v1.3
"panelLayoutOptions": {},
"printElements": [
{
@@ -44,11 +21,7 @@
"top": 12,
"height": 12,
"width": 115.5,
<<<<<<< HEAD
"title": "长春大学医院盘点单",
=======
"title": "长春市朝阳区中医院医院盘点单",
>>>>>>> v1.3
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 12,
@@ -99,11 +72,7 @@
"top": 33,
"height": 9.75,
"width": 120,
<<<<<<< HEAD
"title": "机构:长春大学医院",
=======
"title": "机构:长春市朝阳区中医院医院",
>>>>>>> v1.3
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0
@@ -149,11 +118,7 @@
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
<<<<<<< HEAD
"width": 50.418660151829066,
=======
"width": 59.68821015182906,
>>>>>>> v1.3
"field": "name",
"checked": true,
"columnId": "name",
@@ -168,11 +133,7 @@
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
<<<<<<< HEAD
"width": 47.38277249096388,
=======
"width": 46.07372249096389,
>>>>>>> v1.3
"field": "volume",
"checked": true,
"columnId": "volume",
@@ -187,17 +148,10 @@
"tableQRCodeLevel": 0,
"tableSummaryTitle": true,
"tableSummary": "",
<<<<<<< HEAD
"width": 70.82692033621548,
"field": "manufacturer",
"checked": true,
"columnId": "manufacturer",
=======
"width": 62.86642033621548,
"field": "manufacturerText",
"checked": true,
"columnId": "manufacturerText",
>>>>>>> v1.3
"fixed": false,
"rowspan": 1,
"colspan": 1
@@ -313,8 +267,6 @@
"colspan": 1
},
{
<<<<<<< HEAD
=======
"title": "厂家/产地",
"titleSync": false,
"halign": "center",
@@ -330,7 +282,6 @@
"colspan": 1
},
{
>>>>>>> v1.3
"title": "盘前库存",
"titleSync": false,
"align": "center",
@@ -461,31 +412,8 @@
},
{
"options": {
<<<<<<< HEAD
"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"
}
},
{
"options": {
"left": 261.24609375,
"top": 130.74609375,
=======
"left": 456,
"top": 343.5,
>>>>>>> v1.3
"height": 12,
"width": 109.5,
"title": "制单人",
@@ -502,8 +430,4 @@
]
}
]
<<<<<<< HEAD
}
=======
}
>>>>>>> v1.3

View File

@@ -4,114 +4,12 @@ import {parseStrEmpty} from '@/utils/openhis';
// 查询盘点列表
export function getStockTakeList (query) {
return request ({
<<<<<<< HEAD
url: '/nurse-station/orgdevice-stocktake/summary-from',
=======
url: '/nurse-station/org-device-stockTake/summary-from',
>>>>>>> v1.3
method: 'get',
params: query,
});
}
<<<<<<< HEAD
// 盘点编辑页列表
export function getstocktakingDetail (busNo) {
return request ({
url: '/inventory-manage/stocktaking/stocktaking-receipt',
method: 'get',
params: {busNo}, // 确保参数正确传递
});
}
// 添加/编辑入库单据
export function addProductStocktaking (data) {
return request ({
url: '/inventory-manage/stocktaking/product-stocktaking',
method: 'put',
data: data,
});
}
// 查询盘点列表初始化查询区数据
export function getInit () {
return request ({
url: '/inventory-manage/stocktaking/init',
method: 'get',
});
}
// 查询盘点详情初始化查询区数据
export function getDetailInit () {
return request ({
url: '/inventory-manage/stocktaking/detail-init',
method: 'get',
});
}
// 生成批量盘点
export function getStocktakingReceiptBatch () {
return request ({
url: '/inventory-manage/stocktaking/stocktaking-receipt-batch',
method: 'get',
});
}
//保存批量盘点
export function addBatch (data) {
return request ({
url: '/inventory-manage/stocktaking/stocktaking-receipt-addBatch',
method: 'put',
data: data,
});
}
// 删除单据
export function delProductStocktaking (param) {
return request ({
url: '/inventory-manage/stocktaking/product-stocktaking?supplyRequestIds=' +
param,
method: 'delete',
});
}
// 提交审批
export function submitApproval (busNo) {
return request ({
url: '/inventory-manage/stocktaking/submit-approval',
method: 'put',
data: busNo,
});
}
// 撤回审批
export function withdrawApproval (busNo) {
return request ({
url: '/inventory-manage/stocktaking/withdraw-approval',
method: 'put',
data: busNo,
});
}
// 获取药品目录
export function getMedicineList (queryParams) {
return request ({
url: '/app-common/inventory-item',
method: 'get',
params: queryParams,
});
}
// 获取药品目录
export function getCount (queryParams) {
return request ({
url: '/inventory-manage/purchase/inventory-item-info',
method: 'get',
params: queryParams,
});
}
=======
>>>>>>> v1.3
// 获取药房列表
export function getPharmacyList () {
return request ({
@@ -127,13 +25,6 @@ export function getDispensaryList () {
method: 'get',
});
}
<<<<<<< HEAD
export function stocktakingReceiptAuto () {
return request ({
url: '/inventory-manage/stocktaking/stocktaking-receipt-auto',
method: 'get',
=======
// 获取药品目录
export function getMedicineList (queryParams) {
return request ({
@@ -148,6 +39,5 @@ export function saveOrgDeviceSummary (data) {
url: '/nurse-station/org-device-stockTake/org-device-summary',
method: 'put',
data,
>>>>>>> v1.3
});
}

View File

@@ -35,11 +35,7 @@
align="center"
prop="doseUnitCode_dictText"
/> -->
<<<<<<< HEAD
<el-table-column label="生产厂家" align="center" prop="manufacturer" />
=======
<el-table-column label="生产厂家" align="center" prop="manufacturerText" />
>>>>>>> v1.3
<el-table-column
label="编码"
align="center"

View File

@@ -1,10 +1,6 @@
<template>
<div class="app-container">
<<<<<<< HEAD
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
=======
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="rules">
>>>>>>> v1.3
<el-form-item label="项目名称" prop="name">
<el-input
v-model="queryParams.name"
@@ -14,11 +10,7 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="仓库类型" prop="purposeTypeEnum">
=======
<el-form-item label="仓库" prop="purposeTypeEnum">
>>>>>>> v1.3
<el-select
v-model="queryParams.purposeTypeEnum"
placeholder="请选择"
@@ -26,10 +18,7 @@
filterable
style="width: 200px"
@change="handleChangePurposeTypeEnum"
<<<<<<< HEAD
=======
@keyup.enter="handleQuery"
>>>>>>> v1.3
>
<el-option
v-for="item in warehous_type"
@@ -39,34 +28,18 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="盘点仓库" prop="purposeLocationId">
<el-select
v-model="queryParams.purposeLocationId"
=======
<el-form-item label="盘点仓库" prop="sourceLocationId">
<el-select
v-model="queryParams.sourceLocationId"
>>>>>>> v1.3
placeholder="请选择"
clearable
filterable
style="width: 200px"
<<<<<<< HEAD
@change="handleCabinetChange(receiptHeaderForm.purposeLocationId)"
>
<el-option
v-for="item in [
{ id: 1, name: '仓库1' },
{ id: 2, name: '仓库2' },
]"
=======
:disabled="!queryParams.purposeTypeEnum"
@keyup.enter="handleQuery"
>
<el-option
v-for="item in purposeTypeListOptions"
>>>>>>> v1.3
:key="item.id"
:label="item.name"
:value="item.id"
@@ -81,19 +54,6 @@
filterable
style="width: 200px"
>
<<<<<<< HEAD
<el-option
v-for="item in [
{ id: 1, name: '货位1' },
{ id: 2, name: '货位2' },
]"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
=======
<el-option v-for="item in []" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
@@ -108,14 +68,11 @@
format="YYYY-MM-DD"
></el-date-picker>
</el-form-item>
>>>>>>> v1.3
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<<<<<<< HEAD
=======
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@@ -129,17 +86,13 @@
>
</el-col>
</el-row>
>>>>>>> v1.3
<el-table
v-loading="loading"
:data="dataList"
@selection-change="handleSelectionChange"
height="calc(100vh - 250px)"
>
<<<<<<< HEAD
=======
<el-table-column type="selection" width="55" align="center" fixed></el-table-column>
>>>>>>> v1.3
<el-table-column
label="项目"
align="center"
@@ -149,16 +102,6 @@
fixed
></el-table-column>
<el-table-column label="规格" align="center" prop="totalVolume" />
<<<<<<< HEAD
<el-table-column label="厂家/产地" align="center" prop="manufacturer" show-overflow-tooltip />
<el-table-column label="产品批号" align="center" prop="lotNumber" />
<el-table-column label="单价" align="center" key="unit" prop="unitPrice" />
<el-table-column label="发放数量" align="center" prop="dispenseQuantity" />
<el-table-column label="库存数量" align="center" prop="quantity" />
<el-table-column label="盈亏数量" align="center" prop="itemQuantity">
<template #default="scope">
<el-input v-model="scope.row.itemQuantity" :input-style="{ textAlign: 'center' }" type="number" />
=======
<el-table-column label="厂家/产地" align="center" prop="manufacturerText" show-overflow-tooltip />
<el-table-column label="产品批号" align="center" prop="lotNumber" />
<el-table-column label="单价(元)" align="center" key="unit" prop="unitPrice" />
@@ -188,7 +131,6 @@
<el-table-column label="盈亏数量" align="center" prop="profitLoss">
<template #default="scope">
{{ calcProfitLoss(scope.row) }}
>>>>>>> v1.3
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="unitCode_dictText" />
@@ -197,14 +139,9 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
<<<<<<< HEAD
size="mini"
type="text"
=======
size="small"
type="primary"
link
>>>>>>> v1.3
icon="Check"
@click="handleSave(scope.row)"
v-hasPermi="['chkstock:partDeptDevice:edit']"
@@ -216,27 +153,6 @@
</div>
</template>
<script setup>
<<<<<<< HEAD
import { ref, reactive, toRaw, computed, watch, onMounted } from 'vue';
const { proxy } = getCurrentInstance();
import { getStockTakeList } from './components/api.js';
const { warehous_type } = proxy.useDict('warehous_type');
const dataList = ref([]);
const queryParams = reactive({
// pageNo: 1,
// pageSize: 10,
});
const loading = ref(false);
const showSearch = ref(true);
const total = ref(0);
// 获取列表
const getList = () => {
loading.value = true;
getStockTakeList(queryParams.value).then((res) => {
loading.value = false;
dataList.value = res.data;
total.value = res.data.length;
=======
import { ref, reactive, getCurrentInstance, onMounted } from 'vue';
import {
getStockTakeList,
@@ -271,33 +187,12 @@ const getList = () => {
getStockTakeList(params).then((res) => {
loading.value = false;
dataList.value = res.data;
>>>>>>> v1.3
});
};
// 搜索
const handleQuery = () => {
getList();
};
<<<<<<< HEAD
// 重置
const resetQuery = () => {
queryParams.value = {};
handleQuery();
};
// 重置
const reset = () => {};
// 多选
const handleSelectionChange = (selection) => {};
// 保存
const handleSave = (row) => {
console.log(row);
// 校验盈亏数量
if (row.itemQuantity == '' || row.itemQuantity == null) {
proxy.$modal.msgWarning('盈亏数量不能为空');
return;
}
=======
// 重置
const resetQuery = () => {
@@ -367,7 +262,6 @@ const handleSave = (row) => {
}
const payload = buildSummaryPayload(targetRows);
>>>>>>> v1.3
proxy.$modal
.confirm('确定保存吗?', '保存', {
confirmButtonText: '保存',
@@ -375,15 +269,6 @@ const handleSave = (row) => {
type: 'warning',
})
.then(() => {
<<<<<<< HEAD
proxy.$modal.msgSuccess('保存成功');
getList();
})
.catch(() => {});
};
const handleChangePurposeTypeEnum = (val) => {};
const handleCabinetChange = (val) => {};
=======
saveOrgDeviceSummary(payload).then(() => {
proxy.$modal.msgSuccess('保存成功');
getList();
@@ -407,7 +292,6 @@ const handleChangePurposeTypeEnum = (val) => {
getList();
};
>>>>>>> v1.3
onMounted(() => {
getList();
});

View File

@@ -33,11 +33,7 @@
"top": 13.5,
"height": 12,
"width": 75,
<<<<<<< HEAD
"title": "长春大学医院",
=======
"title": "长春市朝阳区中医院医院",
>>>>>>> v1.3
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 12,
@@ -88,11 +84,7 @@
"top": 33,
"height": 9.75,
"width": 120,
<<<<<<< HEAD
"title": "机构:长春大学医院",
=======
"title": "机构:长春市朝阳区中医院医院",
>>>>>>> v1.3
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0

View File

@@ -39,17 +39,9 @@
>
</el-col>
</el-row>
<<<<<<< HEAD
<el-button type="primary" icon="View" @click="handlePrintPreview">
预览单据
</el-button>
<el-button type="success" plain icon="Printer" @click="handlePrint">
打印单据
=======
<el-button type="primary" plain icon="Printer" @click="handlePrint"> 打印单据 </el-button>
<el-button type="primary" plain @click="handleExport" v-if="viewStatus == 'view'">
导出
>>>>>>> v1.3
</el-button>
<el-form
:model="receiptHeaderForm"
@@ -260,15 +252,7 @@
:prop="`purchaseinventoryList.${scope.$index}.manufacturerText`"
:rules="tableRules.manufacturerText"
>
<<<<<<< HEAD
<el-input
v-model="scope.row.manufacturerText"
placeholder=""
disabled
/>
=======
<el-input v-model="scope.row.manufacturerText" placeholder="" disabled />
>>>>>>> v1.3
</el-form-item>
</template>
</el-table-column>
@@ -792,18 +776,6 @@ const data = reactive({
medicationType: [{ required: true, message: "请选择药品类型", trigger: "change" }],
},
tableRules: {
<<<<<<< HEAD
itemId: [{ required: true, message: "项目不能为空", trigger: "blur" }],
statusEnum_enumText: [{ required: true, message: "规格不能为空", trigger: "blur" }],
unitCode: [{ required: true, message: "计量单位不能为空", trigger: "blur" }],
purposeLocationId: [{ required: true, message: "目的仓库不能为空", trigger: "blur" }],
lotNumber: [{ required: true, message: "产品批号不能为空", trigger: "change" }],
startTime: [{ required: true, message: "开始时间不能为空", trigger: "blur" }],
endTime: [{ required: true, message: "结束时间不能为空", trigger: "blur" }],
price: [{ required: true, message: "单价不能为空", trigger: "blur" }],
invoiceNo: [{ required: true, message: "发票号不能为空", trigger: "blur" }],
totalPrice: [{ required: true, message: "总价不能为空", trigger: "blur" }],
=======
itemId: [{ required: true, message: '项目不能为空', trigger: 'blur' }],
statusEnum_enumText: [{ required: true, message: '规格不能为空', trigger: 'blur' }],
unitCode: [{ required: true, message: '计量单位不能为空', trigger: 'blur' }],
@@ -814,7 +786,6 @@ const data = reactive({
price: [{ required: true, message: '单价不能为空', trigger: 'blur' }],
invoiceNo: [{ required: true, message: '发票号不能为空', trigger: 'blur' }],
totalPrice: [{ required: true, message: '总价不能为空', trigger: 'blur' }],
>>>>>>> v1.3
},
});
@@ -905,26 +876,16 @@ onUnmounted(() => {
function addNewRow() {
// 先校验表头表单
<<<<<<< HEAD
proxy.$refs["receiptHeaderRef"].validate((valid) => {
=======
proxy.$refs['receiptHeaderRef'].validate((valid) => {
>>>>>>> v1.3
if (valid) {
// 检查表格中是否有未保存的行
const unsavedRows = form.purchaseinventoryList.filter((row) => !row.isSave);
if (unsavedRows.length > 0) {
// 校验表格中未保存的行
<<<<<<< HEAD
proxy.$refs["formRef"].validate((tableValid) => {
if (!tableValid) {
proxy.$message.warning("请先完善当前行的必填信息后再添加新行");
=======
proxy.$refs['formRef'].validate((tableValid) => {
if (!tableValid) {
proxy.$message.warning('请先完善当前行的必填信息后再添加新行');
>>>>>>> v1.3
return;
}
@@ -936,39 +897,6 @@ function addNewRow() {
// 检查必填字段
if (!row.itemId || !row.name) {
<<<<<<< HEAD
errors.push("项目");
}
if (!row.volume) {
errors.push("规格");
}
if (!row.unitCode) {
errors.push("计量单位");
}
if (!row.purposeLocationId) {
errors.push("仓库");
}
if (!row.itemQuantity || row.itemQuantity === "" || row.itemQuantity === 0) {
errors.push("采购数量");
}
if (!row.lotNumber) {
errors.push("产品批号");
}
if (!row.startTime) {
errors.push("生产日期");
}
if (!row.endTime) {
errors.push("有效期至");
}
if (!row.price || row.price === "" || row.price === 0) {
errors.push("采购单价");
}
if (!row.invoiceNo || row.invoiceNo === "") {
errors.push("发票号");
}
if (!row.totalPrice || row.totalPrice === "" || row.totalPrice === 0) {
errors.push("合计金额");
=======
errors.push('项目');
}
if (!row.volume) {
@@ -1000,17 +928,12 @@ function addNewRow() {
}
if (!row.totalPrice || row.totalPrice === '' || row.totalPrice === 0) {
errors.push('合计金额');
>>>>>>> v1.3
}
if (errors.length > 0) {
invalidRows.push({
rowIndex: rowIndex + 1,
<<<<<<< HEAD
errors: errors.join("、"),
=======
errors: errors.join('、'),
>>>>>>> v1.3
});
}
});
@@ -1018,40 +941,14 @@ function addNewRow() {
if (invalidRows.length > 0) {
const errorMsg = invalidRows
.map((item) => `${item.rowIndex}行缺少:${item.errors}`)
<<<<<<< HEAD
.join("");
proxy.$message.warning(errorMsg + ",请完善后再添加新行");
=======
.join('');
proxy.$message.warning(errorMsg + ',请完善后再添加新行');
>>>>>>> v1.3
return;
}
// 所有校验通过,允许新增
const newRow = {
rowKey: Date.now(),
<<<<<<< HEAD
id: "",
itemTable: "",
itemQuantity: "",
itemId: "",
unitCode: "",
remake: "",
supplierId: "",
purposeTypeEnum: "",
purposeLocationId: null,
purposeLocationStoreId: null,
practitionerId: "",
traceNo: "",
invoiceNo: "-",
startTime: "",
endTime: "",
price: "",
totalPrice: "",
sellPrice: "",
minSellPrice: "",
=======
id: '',
itemTable: '',
itemQuantity: '',
@@ -1071,7 +968,6 @@ function addNewRow() {
totalPrice: '',
sellPrice: '',
minSellPrice: '',
>>>>>>> v1.3
unitList: {}, // 单位列表
isEditing: true, // 标记当前行是否正在编辑
error: false, // 新增 error 字段
@@ -1084,27 +980,6 @@ function addNewRow() {
// 没有未保存的行,直接新增
const newRow = {
rowKey: Date.now(),
<<<<<<< HEAD
id: "",
itemTable: "",
itemQuantity: "",
itemId: "",
unitCode: "",
remake: "",
supplierId: "",
purposeTypeEnum: "",
purposeLocationId: null,
purposeLocationStoreId: null,
practitionerId: "",
traceNo: "",
invoiceNo: "-",
startTime: "",
endTime: "",
price: "",
totalPrice: "",
sellPrice: "",
minSellPrice: "",
=======
id: '',
itemTable: '',
itemQuantity: '',
@@ -1124,7 +999,6 @@ function addNewRow() {
totalPrice: '',
sellPrice: '',
minSellPrice: '',
>>>>>>> v1.3
unitList: {}, // 单位列表
isEditing: true, // 标记当前行是否正在编辑
error: false, // 新增 error 字段
@@ -1233,15 +1107,6 @@ function selectRow(rowValue, index) {
form.purchaseinventoryList[index].unitCode = rowValue.unitCode;
form.purchaseinventoryList[index].manufacturerText = rowValue.manufacturerText;
form.purchaseinventoryList[index].partPercent = rowValue.partPercent;
<<<<<<< HEAD
form.purchaseinventoryList[index].invoiceNo = "-";
form.purchaseinventoryList[index].price = (rowValue.purchaseAmount || 0).toFixed(2);
price.value = (rowValue.purchaseAmount || 0).toFixed(2);
form.purchaseinventoryList[index].unitList = rowValue.unitList[0];
unitMap.value["unitCode"] = rowValue.unitCode;
unitMap.value["minUnitCode"] = rowValue.minUnitCode;
unitMap.value["currentCode"] = rowValue.unitCode;
=======
form.purchaseinventoryList[index].invoiceNo = '-';
form.purchaseinventoryList[index].price = rowValue.purchaseAmount || 0;
price.value = rowValue.purchaseAmount || 0;
@@ -1249,7 +1114,6 @@ function selectRow(rowValue, index) {
unitMap.value['unitCode'] = rowValue.unitCode;
unitMap.value['minUnitCode'] = rowValue.minUnitCode;
unitMap.value['currentCode'] = rowValue.unitCode;
>>>>>>> v1.3
form.purchaseinventoryList[index].itemQuantity = 0;
form.purchaseinventoryList[index].totalPrice = 0;
}
@@ -1274,17 +1138,9 @@ function handleLocationClick(item, row, index) {
row.unitList.minUnitCode_dictText
) || 0;
<<<<<<< HEAD
form.purchaseinventoryList[index].itemTable = res.data[0].itemTable || "";
form.purchaseinventoryList[index].startTime =
formatDateymd(res.data[0].productionDate) || "";
form.purchaseinventoryList[index].endTime =
formatDateymd(res.data[0].expirationDate) || "";
=======
form.purchaseinventoryList[index].itemTable = res.data[0].itemTable || '';
form.purchaseinventoryList[index].startTime = formatDateymd(res.data[0].productionDate) || '';
form.purchaseinventoryList[index].endTime = formatDateymd(res.data[0].expirationDate) || '';
>>>>>>> v1.3
startTimeOld.value = form.purchaseinventoryList[index].startTime
? form.purchaseinventoryList[index].startTime
: "";
@@ -1510,11 +1366,7 @@ function addPurchaseinventorys(rowList) {
}
function handleTraceNoInput(value, row) {
<<<<<<< HEAD
row.traceNo = value.concat(",");
=======
row.traceNo = value.concat(',');
>>>>>>> v1.3
}
/** 选择条数 */
@@ -1794,16 +1646,6 @@ function formatPrintData() {
),
printDate: new Date().toLocaleString("zh-CN"),
...receiptHeaderForm,
<<<<<<< HEAD
purchaseinventoryList: form.purchaseinventoryList.map((item, index) => ({
...item,
rowNumber: index + 1,
itemQuantity: Number(item.itemQuantity) || 0,
price: Number(item.price).toFixed(2),
totalPrice: Number(item.totalPrice).toFixed(2),
})),
};
=======
purchaseinventoryList: form.purchaseinventoryList,
});
const printElements = templateJson;
@@ -1812,7 +1654,6 @@ function formatPrintData() {
printer: 'EPSON LQ-80KFII',
title: '打印标题',
}); //开始打印
>>>>>>> v1.3
}
function deleteSelectedRows() {
@@ -1854,11 +1695,7 @@ function handleTotalAmount() {
/** 重置操作表单 */
function reset() {
<<<<<<< HEAD
proxy.resetForm("receiptHeaderRef");
=======
proxy.resetForm('receiptHeaderRef');
>>>>>>> v1.3
form.purchaseinventoryList = [];
// 完全重置所有表单字段
Object.assign(receiptHeaderForm, {
@@ -1967,13 +1804,8 @@ function handleReject() {
store.clearCurrentData();
// 跳转到审核页面
router.replace({
<<<<<<< HEAD
path: "/aaaa/medicationmanagement/billapproval",
query: { type: "purchaseDocument" },
=======
path: '/aaaa/billapproval',
query: { type: 'purchaseDocument' },
>>>>>>> v1.3
});
}
});
@@ -1989,13 +1821,8 @@ function handelApply() {
store.clearCurrentData();
// 跳转到审核页面
router.replace({
<<<<<<< HEAD
path: "/aaaa/medicationmanagement/billapproval",
query: { type: "purchaseDocument" },
=======
path: '/aaaa/billapproval',
query: { type: 'purchaseDocument' },
>>>>>>> v1.3
});
}
})

View File

@@ -653,11 +653,7 @@ function handleDelete(row) {
return item.id;
});
}
<<<<<<< HEAD
console.log(ids, 'ids');
=======
const deleteIds = selectedRows.value.map((item) => item.supplierId).join(',');
>>>>>>> v1.3
proxy.$modal
.confirm('是否确认删除以上数据?')
.then(function () {

View File

@@ -1,32 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="100px">
<<<<<<< HEAD
</el-form>
<el-table
v-loading="loading"
:data="basicInformationDetailsList"
@selection-change="handleSelectionChange"
height="calc(100vh - 300px)"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="序号"
align="center"
key="no"
prop="no"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="数据上报日期"
align="center"
key="dataReportingDate"
prop="dataReportingDate"
width="200"
:show-overflow-tooltip="true"
>
=======
<el-form-item label="药品类别:" prop="itemTypeCode">
<el-select multiple v-model="queryParams.itemTypeCode" clearable style="width: 200px">
<el-option v-for="category in itemList" :key="category.value" :label="category.label"
@@ -58,68 +32,11 @@
<el-table-column label="序号" align="center" key="no" prop="no" width="200" :show-overflow-tooltip="true" />
<el-table-column label="数据上报日期" align="center" key="dataReportingDate" prop="dataReportingDate" width="200"
:show-overflow-tooltip="true">
>>>>>>> v1.3
<template #default="scope">
<span>{{ parseTime(scope.row.occurrenceTime) }}</span>
</template>
</el-table-column>
<!-- itemTable -->
<<<<<<< HEAD
<el-table-column
label="省级行政区划代码"
align="center"
key="provinceCodes"
prop="provinceCodes"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="组织机构代码"
align="center"
key="organizationCode"
prop="organizationCode"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="医疗机构代码"
align="center"
key="medicalCode"
prop="medicalCode"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="组织机构名称"
align="center"
key="organizationName"
prop="organizationName"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="年度药品总收入(元)"
align="center"
key="yearMedicineTotalRevenue"
prop="yearMedicineTotalRevenue"
:show-overflow-tooltip="true"
/>
<el-table-column
label="实有床位数"
align="center"
key="actualBedsNo"
prop="actualBedsNo"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
=======
<el-table-column label="省级行政区划代码" align="center" key="provinceCodes" prop="provinceCodes" width="200"
:show-overflow-tooltip="true" />
<el-table-column label="组织机构代码" align="center" key="organizationCode" prop="organizationCode" width="200"
@@ -135,19 +52,10 @@
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@pagination="getList" />
>>>>>>> v1.3
</div>
</template>
<script setup name="basicInformationDetails">
<<<<<<< HEAD
import {
getReportBasicInformationDetails,
} from './statisticalManagent';
const basicInformationDetailsList = ref([]);
const loading = ref(true);
=======
import { ElMessage } from 'element-plus';
import {
getReportBasicInformationDetails,
@@ -156,7 +64,6 @@ import { onMounted } from 'vue';
const basicInformationDetailsList = ref([]);
const loading = ref(false);
>>>>>>> v1.3
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
@@ -164,11 +71,7 @@ const total = ref(0);
const approvalTime = ref([]);
const supplierListOptions = ref([]);
const locationIdList = ref([]);
<<<<<<< HEAD
=======
const occurrenceTime = ref([]);
>>>>>>> v1.3
const data = reactive({
form: {},
queryParams: {
@@ -177,19 +80,13 @@ const data = reactive({
searchKey: undefined,
occurrenceTimeSTime: undefined,
occurrenceTimeETime: undefined,
<<<<<<< HEAD
=======
occurrenceTime,
itemTypeCode:[]
>>>>>>> v1.3
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
<<<<<<< HEAD
=======
const { proxy } = getCurrentInstance();
const { fin_type_code } = proxy.useDict(
'fin_type_code'
@@ -211,19 +108,10 @@ onMounted(() => {
console.log("fin_type_code:",fin_type_code);
})
>>>>>>> v1.3
function getList() {
loading.value = true;
getReportBasicInformationDetails(queryParams.value).then((res) => {
loading.value = false;
<<<<<<< HEAD
basicInformationDetailsList.value = res.data.records;
total.value = res.data.total;
});
}
getList();
=======
basicInformationDetailsList.value = res.data
});
}
@@ -258,7 +146,6 @@ function handleExport() {
`年度药品总收入_${proxy.formatDateStr(new Date(), 'YYYY-MM-DD')}.xlsx`
);
}
>>>>>>> v1.3
</script>
<style scoped>
.custom-tree-node {

View File

@@ -25,16 +25,6 @@
v-model="queryParams.medCategoryCodes"
placeholder="请选择药品类别"
clearable
<<<<<<< HEAD
style="width: 150px"
@change="handleQuery"
>
<el-option
v-for="categoryCode in item_category_code"
:key="categoryCode.value"
:label="categoryCode.label"
:value="categoryCode.value"
=======
multiple
filterable
style="width: 260px"
@@ -47,7 +37,6 @@
:key="dict.value"
:label="dict.label"
:value="dict.value"
>>>>>>> v1.3
/>
</el-select>
</el-form-item>
@@ -100,11 +89,7 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="库存范围:" prop="zeroFlag">
=======
<el-form-item label="库存范围" prop="zeroFlag">
>>>>>>> v1.3
<el-select
v-model="queryParams.zeroFlag"
placeholder="请选择库存范围"
@@ -120,11 +105,7 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="仓库药房:" prop="locationId">
=======
<el-form-item label="仓库药房" prop="locationId">
>>>>>>> v1.3
<el-select
v-model="locationId"
placeholder="请选择仓库药房"
@@ -141,11 +122,7 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="供应商:" prop="supplierId">
=======
<el-form-item label="供应商" prop="supplierId">
>>>>>>> v1.3
<el-select
v-model="supplierId"
placeholder="请选择供应商"
@@ -162,8 +139,6 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
=======
<el-form-item label="备份日期" prop="backUpDate">
<el-date-picker
v-model="queryParams.backUpDate"
@@ -174,7 +149,6 @@
style="width: 150px"
/>
</el-form-item>
>>>>>>> v1.3
</el-form>
<el-row :gutter="10" class="mb8">
@@ -303,11 +277,7 @@
:show-overflow-tooltip="true"
>
<template #default="scope">
<<<<<<< HEAD
<span>{{ scope.row.purchasePrice?.toFixed(2) + ' 元' }}</span>
=======
<span>{{ scope.row.purchasePrice?.toFixed(3) + ' 元' }}</span>
>>>>>>> v1.3
</template>
</el-table-column>
<el-table-column
@@ -320,11 +290,7 @@
:show-overflow-tooltip="true"
>
<template #default="scope">
<<<<<<< HEAD
<span>{{ scope.row.salePrice?.toFixed(2) + ' 元' }}</span>
=======
<span>{{ scope.row.salePrice?.toFixed(3) + ' 元' }}</span>
>>>>>>> v1.3
</template>
</el-table-column>
<el-table-column
@@ -337,11 +303,7 @@
:show-overflow-tooltip="true"
>
<template #default="scope">
<<<<<<< HEAD
<span>{{ scope.row.totalPurchasePrice?.toFixed(2) + ' 元' }}</span>
=======
<span>{{ scope.row.totalPurchasePrice?.toFixed(3) + ' 元' }}</span>
>>>>>>> v1.3
</template>
</el-table-column>
<el-table-column
@@ -354,11 +316,7 @@
:show-overflow-tooltip="true"
>
<template #default="scope">
<<<<<<< HEAD
<span>{{ scope.row.totalSalePrice?.toFixed(2) + ' 元' }}</span>
=======
<span>{{ scope.row.totalSalePrice?.toFixed(3) + ' 元' }}</span>
>>>>>>> v1.3
</template>
</el-table-column>
<el-table-column
@@ -508,31 +466,18 @@ import {
cancelSupply,
stopSupply,
productPageTotal,
<<<<<<< HEAD
=======
productBackupPageTotal,
getproductReturnBackUpPage,
>>>>>>> v1.3
} from './statisticalManagent';
import traceabilityCodeManagement from './traceabilityCodeManagement.vue';
import { formatDateStr } from '@/utils/index';
import { getSupplierList } from '@/api/public';
import { useStore } from '@/store/store';
<<<<<<< HEAD
=======
import { computed, watch } from 'vue';
>>>>>>> v1.3
const store = useStore();
const { proxy } = getCurrentInstance();
<<<<<<< HEAD
const { item_category_code, inventory_range } = proxy.useDict(
'item_category_code',
'inventory_range'
);
=======
const { item_category_code, inventory_range, device_category_code, med_category_code } =
proxy.useDict(
'item_category_code',
@@ -546,7 +491,6 @@ const medCategoryCodeOptions = computed(() => {
const deviceCategoryCodeOptions = computed(() => {
return [{ value: 'all', label: '全部' }, ...device_category_code.value];
});
>>>>>>> v1.3
const purchaseinventoryList = ref([]);
const visible = ref(false);
const recordInfo = ref({});
@@ -597,9 +541,6 @@ watch(
},
{ immediate: true } // 修正拼写错误
);
<<<<<<< HEAD
=======
watch(
() => queryParams.value.backUpDate,
(newValue, oldValue) => {
@@ -648,7 +589,6 @@ function handleChangeDeviceCategoryCode(value) {
queryParams.value.devCategoryCodes = value || [];
}
}
>>>>>>> v1.3
function getPharmacyCabinetLists() {
getPharmacyCabinetList().then((response) => {
locationIdList.value = response.data;
@@ -660,18 +600,6 @@ function getPharmacyCabinetLists() {
chrgitmLv_enumTextOptions.value = response.data.chrgitmLvOptions;
});
}
<<<<<<< HEAD
/** 查询调拨管理项目列表 */
function getList() {
console.log(store.remainingDays, '1');
loading.value = true;
salePriceTotal.value = 0;
priceTotal.value = 0;
queryParams.value.locationIds = locationId.value.join(',');
queryParams.value.supplierIds = supplierId.value.join(',');
getproductReturnPage(queryParams.value).then((res) => {
=======
/** 查询备份日期库存明细列表 */
function getBackUpList() {
loading.value = true;
@@ -695,7 +623,6 @@ function getBackUpList() {
backUpDate: undefined,
};
getproductReturnBackUpPage(params).then((res) => {
>>>>>>> v1.3
loading.value = false;
purchaseinventoryList.value = res.data.records;
if (purchaseinventoryList.value && purchaseinventoryList.value.length > 0) {
@@ -707,9 +634,6 @@ function getBackUpList() {
}
total.value = res.data.total;
});
<<<<<<< HEAD
productPageTotal(queryParams.value).then((res) => {
=======
productBackupPageTotal(params).then((res) => {
salePriceTotal.value = res.data.purchasePriceStatistics;
priceTotal.value = res.data.salePriceStatistics;
@@ -746,7 +670,6 @@ function getList() {
total.value = res.data.total;
});
productPageTotal(params).then((res) => {
>>>>>>> v1.3
salePriceTotal.value = res.data.purchasePriceStatistics;
priceTotal.value = res.data.salePriceStatistics;
});

View File

@@ -203,15 +203,11 @@
show-summary 每页单独合计-->
<el-table-column type="selection" width="60px" align="center" />
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 1 || inventoryScope == 3 || inventoryScope == 5"
=======
v-if="
queryParams.inventoryScope == 1 ||
queryParams.inventoryScope == 3 ||
queryParams.inventoryScope == 5
"
>>>>>>> v1.3
label="发药人"
align="center"
key="practitionerName"
@@ -220,15 +216,11 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 1 || inventoryScope == 3 || inventoryScope == 5"
=======
v-if="
queryParams.inventoryScope == 1 ||
queryParams.inventoryScope == 3 ||
queryParams.inventoryScope == 5
"
>>>>>>> v1.3
label="发药单号"
align="center"
key="dispenseNo"
@@ -237,17 +229,12 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 2 || inventoryScope == 4 || inventoryScope == 6"
:label="inventoryScope == 2 ? '门诊号' : '住院号'"
=======
v-if="
queryParams.inventoryScope == 2 ||
queryParams.inventoryScope == 4 ||
queryParams.inventoryScope == 6
"
:label="queryParams.inventoryScope == 2 ? '门诊号' : '住院号'"
>>>>>>> v1.3
align="center"
key="outpatientNo"
prop="outpatientNo"
@@ -261,15 +248,11 @@
</template>
</el-table-column> -->
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 2 || inventoryScope == 4 || inventoryScope == 6"
=======
v-if="
queryParams.inventoryScope == 2 ||
queryParams.inventoryScope == 4 ||
queryParams.inventoryScope == 6
"
>>>>>>> v1.3
label="处方号"
align="center"
key="prescriptionNo"
@@ -278,15 +261,11 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 2 || inventoryScope == 4 || inventoryScope == 6"
=======
v-if="
queryParams.inventoryScope == 2 ||
queryParams.inventoryScope == 4 ||
queryParams.inventoryScope == 6
"
>>>>>>> v1.3
label="病人"
align="center"
key="patientName"
@@ -295,15 +274,11 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 2 || inventoryScope == 4 || inventoryScope == 6"
=======
v-if="
queryParams.inventoryScope == 2 ||
queryParams.inventoryScope == 4 ||
queryParams.inventoryScope == 6
"
>>>>>>> v1.3
label="发药人"
align="center"
key="practitionerName"
@@ -312,15 +287,11 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 2 || inventoryScope == 4 || inventoryScope == 6"
=======
v-if="
queryParams.inventoryScope == 2 ||
queryParams.inventoryScope == 4 ||
queryParams.inventoryScope == 6
"
>>>>>>> v1.3
label="发药单号"
align="center"
key="dispenseNo"
@@ -337,11 +308,7 @@
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 1 || inventoryScope == 3"
=======
v-if="queryParams.inventoryScope == 1 || queryParams.inventoryScope == 3"
>>>>>>> v1.3
label="药品编码"
align="center"
key="busNo"
@@ -359,11 +326,7 @@
:show-overflow-tooltip="true"
/> -->
<el-table-column
<<<<<<< HEAD
v-if="inventoryScope == 1 || inventoryScope == 3"
=======
v-if="queryParams.inventoryScope == 1 || queryParams.inventoryScope == 3"
>>>>>>> v1.3
label="医保编码"
align="center"
key="ybNo"
@@ -541,10 +504,6 @@ const multiple = ref(true);
const total = ref(0);
const occurrenceTime = ref([]);
const practitionerNameOptions = ref([]);
<<<<<<< HEAD
const inventoryScope = ref(1);
=======
>>>>>>> v1.3
const locationIdList = ref([]);
const data = reactive({
@@ -561,11 +520,8 @@ const data = reactive({
// patientName: undefined,
dispenseTimeSTime: undefined,
dispenseTimeETime: undefined,
<<<<<<< HEAD
=======
inventoryScope: 1,
flag: 2,
>>>>>>> v1.3
},
rules: {},
});
@@ -580,16 +536,6 @@ watch(
},
{ immediate: true }
);
<<<<<<< HEAD
watch(
() => inventoryScope.value,
(newVlaue) => {
inventoryScope.value = newVlaue;
},
{ immediate: true }
);
=======
>>>>>>> v1.3
// 监听路由变化
watch(
() => route.query,
@@ -611,11 +557,8 @@ watch(
queryParams.value.dispenseTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
}
queryParams.value.flag = 1;
<<<<<<< HEAD
=======
console.log('11111111111111');
>>>>>>> v1.3
// 执行查询
getList();
}
@@ -667,13 +610,9 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
// 合并一样的列住院号 outpatientNumber属性
if (
columnIndex === 1 &&
<<<<<<< HEAD
(inventoryScope.value == 2 || inventoryScope.value == 4 || inventoryScope.value == 6)
=======
(queryParams.value.inventoryScope == 2 ||
queryParams.value.inventoryScope == 4 ||
queryParams.value.inventoryScope == 6)
>>>>>>> v1.3
) {
if (
rowIndex === 0 ||
@@ -757,18 +696,12 @@ const getSummaries = (param) => {
};
function inventoryChange(val) {
<<<<<<< HEAD
inventoryScope.value = val;
xiaojiTotal.value = [];
purchaseinventoryList.value = [];
=======
xiaojiTotal.value = [];
purchaseinventoryList.value = [];
console.log('val=======>', val);
queryParams.value.flag = val == 1 || val == 2 ? 2 : 1;
console.log('queryParams=======>', JSON.stringify(queryParams));
>>>>>>> v1.3
getList();
}
function getPharmacyCabinetLists() {
@@ -801,196 +734,6 @@ function getPharmacyCabinetLists() {
}
/** 查询调拨管理项目列表 */
function getList(type) {
<<<<<<< HEAD
if (type) {
xiaojiTotal.value = [];
purchaseinventoryList.value = [];
}
loading.value = true;
// let queryParamsValues ={...queryParams.value}
// delete queryParamsValues.inventoryScope
if (inventoryScope.value == 1 || inventoryScope.value == 3 || inventoryScope.value == 5) {
var dispensePrice = 0;
var refundPrice = 0;
getAmbPractitionerDetail(queryParams.value).then((res) => {
purchaseinventoryList.value = res.data.records;
total.value = res.data.total;
loading.value = false;
if (purchaseinventoryList.value.length == 0) {
return;
}
purchaseinventoryList.value.map((k) => {
k.dispensePrice = k.dispensePrice || '0.00';
k.refundPrice = k.refundPrice || '0.00';
k.dispenseQuantity = k.dispenseQuantity
? k.dispenseQuantity + k.unitCode_dictText
: '0.00' + k.unitCode_dictText;
k.refundQuantity = k.refundQuantity
? k.refundQuantity + k.refundUnitCode_dictText
: '0.00' + k.unitCode_dictText;
if (total.value && total.value <= queryParams.value.pageSize) {
dispensePrice += Number(k.dispensePrice);
refundPrice += Number(k.refundPrice);
}
});
// 1页数据
if (total.value && total.value <= queryParams.value.pageSize) {
dispensePrice = dispensePrice ? dispensePrice.toFixed(4) : dispensePrice;
refundPrice = refundPrice ? refundPrice.toFixed(4) : refundPrice;
let pageNoAll = total.value / queryParams.value.pageSize;
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({
practitionerName: '合计',
dispensePrice: dispensePrice,
refundPrice: refundPrice,
});
}
}
// 带分页数据
if (total.value && total.value > queryParams.value.pageSize) {
let queryParamsValue = {
pageNo: 1,
pageSize: total.value,
};
getAmbPractitionerDetail(queryParamsValue).then((res) => {
purchaseinventoryListAll.value = res.data.records || [];
if (purchaseinventoryListAll.value.length > 0) {
purchaseinventoryListAll.value.map((k) => {
k.dispensePrice = k.dispensePrice || '0.00';
k.refundPrice = k.refundPrice || '0.00';
k.dispenseQuantity = k.dispenseQuantity
? k.dispenseQuantity + k.unitCode_dictText
: '0.00' + k.unitCode_dictText;
k.refundQuantity = k.refundQuantity
? k.refundQuantity + k.refundUnitCode_dictText
: '0.00' + k.unitCode_dictText;
dispensePrice += Number(k.dispensePrice);
refundPrice += Number(k.refundPrice);
});
dispensePrice = dispensePrice ? dispensePrice.toFixed(4) : dispensePrice;
refundPrice = refundPrice ? refundPrice.toFixed(4) : refundPrice;
let pageNoAll = total.value / queryParams.value.pageSize;
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({
practitionerName: '合计',
dispensePrice: dispensePrice,
refundPrice: refundPrice,
});
}
}
});
}
});
} else if (inventoryScope.value == 2 || inventoryScope.value == 4 || inventoryScope.value == 6) {
var dispensePrice2 = 0;
var refundPrice2 = 0;
getAmbMedicationDetail(queryParams.value).then((res) => {
purchaseinventoryList.value = res.data.records;
total.value = res.data.total;
if (purchaseinventoryList.value.length == 0) {
return;
}
purchaseinventoryList.value.map((k) => {
k.dispensePrice = k.dispensePrice || '0.00';
k.refundPrice = k.refundPrice || '0.00';
k.dispenseQuantity = k.dispenseQuantity
? k.dispenseQuantity + k.unitCode_dictText
: '0.00' + k.unitCode_dictText;
k.refundQuantity = k.refundQuantity
? k.refundQuantity + k.refundUnitCode_dictText
: '0.00' + k.unitCode_dictText;
if (total.value && total.value <= queryParams.value.pageSize) {
dispensePrice2 += Number(k.dispensePrice);
refundPrice2 += Number(k.refundPrice);
}
});
// 1页数据
if (total.value && total.value <= queryParams.value.pageSize) {
dispensePrice2 = dispensePrice2 ? dispensePrice2.toFixed(4) : dispensePrice2;
refundPrice2 = refundPrice2 ? refundPrice2.toFixed(4) : refundPrice2;
let pageNoAll = total.value / queryParams.value.pageSize;
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({
prescriptionNo: '合计',
dispensePrice: dispensePrice2,
refundPrice: refundPrice2,
});
}
}
loading.value = false;
// 带分页数据
if (total.value && total.value > queryParams.value.pageSize) {
let queryParamsValue = {
pageNo: 1,
pageSize: total.value,
};
getAmbMedicationDetail(queryParamsValue).then((res) => {
purchaseinventoryListAll.value = res.data.records;
if (purchaseinventoryListAll.value.length == 0) {
return;
}
purchaseinventoryListAll.value.map((k, index) => {
k.dispensePrice = k.dispensePrice || '0.00';
k.refundPrice = k.refundPrice || '0.00';
k.dispenseQuantity = k.dispenseQuantity
? k.dispenseQuantity + k.unitCode_dictText
: '0.00' + k.unitCode_dictText;
k.refundQuantity = k.refundQuantity
? k.refundQuantity + k.refundUnitCode_dictText
: '0.00' + k.unitCode_dictText;
dispensePrice2 += Number(k.dispensePrice);
refundPrice2 += Number(k.refundPrice);
//处理每页门诊号相同数据分开不在一页的问题start
for (let m = 1; m < queryParams.value.pageSize && m < index; m++) {
if (
queryParams.value.pageNo > 1 &&
index == queryParams.value.pageSize * (queryParams.value.pageNo - 1) &&
k.outpatientNo == purchaseinventoryListAll.value[index - m]?.outpatientNo
) {
purchaseinventoryList.value.unshift(purchaseinventoryListAll.value[index - m]); // 加
//修改计算的小计缺少加过来的部分
let dispenseNoIndex1 = purchaseinventoryList.value.findIndex(
(o) =>
o.prescriptionNo == '小计' &&
o.outpatientNo == purchaseinventoryListAll.value[index - m].outpatientNo
);
purchaseinventoryList.value[dispenseNoIndex1].dispensePrice =
Number(purchaseinventoryList.value[dispenseNoIndex1].dispensePrice) +
Number(purchaseinventoryListAll.value[index - m].dispensePrice);
purchaseinventoryList.value[dispenseNoIndex1].refundPrice =
Number(purchaseinventoryList.value[dispenseNoIndex1].refundPrice) +
Number(purchaseinventoryListAll.value[index - m].refundPrice);
}
if (
index + m == queryParams.value.pageSize * queryParams.value.pageNo &&
k.outpatientNo == purchaseinventoryListAll.value[index + m]?.outpatientNo
) {
let dispenseNoIndex = purchaseinventoryList.value.findIndex(
(o) => o.dispenseNo == k.dispenseNo
);
purchaseinventoryList.value.splice(dispenseNoIndex, 1); // 减
if (
purchaseinventoryList.value[dispenseNoIndex - 1] &&
purchaseinventoryList.value[dispenseNoIndex - 1].prescriptionNo == '小计'
) {
purchaseinventoryList.value.splice(dispenseNoIndex + 1, 1); // 减掉带小计的
}
}
}
// end
});
dispensePrice2 = dispensePrice2 ? dispensePrice2.toFixed(4) : dispensePrice2;
refundPrice2 = refundPrice2 ? refundPrice2.toFixed(4) : refundPrice2;
let pageNoAll = total.value / queryParams.value.pageSize;
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({
prescriptionNo: '合计',
dispensePrice: dispensePrice2,
refundPrice: refundPrice2,
});
=======
console.log('query=======>', JSON.stringify(queryParams));
if (type) {
@@ -1072,13 +815,10 @@ function getList(type) {
refundPrice: refundPrice,
});
}
>>>>>>> v1.3
}
});
}
});
<<<<<<< HEAD
=======
} else if (
queryParams.value.inventoryScope == 2 ||
queryParams.value.inventoryScope == 4 ||
@@ -1197,7 +937,6 @@ function getList(type) {
});
}
});
>>>>>>> v1.3
} else {
total.value = 0;
loading.value = false;

View File

@@ -1,9 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="100px">
<<<<<<< HEAD
</el-form>
=======
<el-form-item label="源仓库:" prop="sourceLocationId" label-width="80px">
<el-select
v-model="queryParams.sourceLocationId"
@@ -62,7 +59,6 @@
<el-button type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
</el-row>
>>>>>>> v1.3
<el-table
v-loading="loading"
:data="medicationStockOutDetailsList"
@@ -73,13 +69,8 @@
<el-table-column
label="医疗机构代码"
align="center"
<<<<<<< HEAD
key="medicalInstitutionCode"
prop="medicalInstitutionCode"
=======
key="medinsCode"
prop="medinsCode"
>>>>>>> v1.3
width="220"
:show-overflow-tooltip="true"
/>
@@ -87,13 +78,8 @@
<el-table-column
label="组织机构名称"
align="center"
<<<<<<< HEAD
key="organizationName"
prop="organizationName"
=======
key="orgCode"
prop="orgCode"
>>>>>>> v1.3
width="220"
:show-overflow-tooltip="true"
/>
@@ -124,43 +110,24 @@
<el-table-column
label="产品名称"
align="center"
<<<<<<< HEAD
key="lotName"
prop="lotName"
=======
key="productName"
prop="productName"
>>>>>>> v1.3
width="220"
:show-overflow-tooltip="true"
/>
<el-table-column
<<<<<<< HEAD
label="出库数量(最小销售包装单位)"
align="center"
key="quantitySales"
prop="quantitySales"
=======
label="出库数量"
align="center"
key="totalQuantity"
prop="totalQuantity"
>>>>>>> v1.3
:show-overflow-tooltip="true"
width="220"
/>
<el-table-column
<<<<<<< HEAD
label="出库数量(最小制剂单位)"
align="center"
key="quantityPreparation"
prop="quantityPreparation"
=======
label="单位"
align="center"
key="minUnit"
prop="minUnit"
>>>>>>> v1.3
:show-overflow-tooltip="true"
width="220"
/>
@@ -178,20 +145,12 @@
<script setup name="medicationStockOutDetails">
import {
getReportMedicationStockOutDetails,
<<<<<<< HEAD
} from './statisticalManagent';
const medicationStockOutDetailsList = ref([]);
const loading = ref(true);
=======
getPharmacyCabinetList,
} from './statisticalManagent';
import { ElMessage } from 'element-plus';
const { proxy } = getCurrentInstance();
const medicationStockOutDetailsList = ref([]);
const loading = ref(false);
>>>>>>> v1.3
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
@@ -199,10 +158,7 @@ const total = ref(0);
const approvalTime = ref([]);
const supplierListOptions = ref([]);
const locationIdList = ref([]);
<<<<<<< HEAD
=======
const occurrenceTime = ref([]);
>>>>>>> v1.3
const data = reactive({
form: {},
@@ -210,11 +166,8 @@ const data = reactive({
pageNo: 1,
pageSize: 10,
searchKey: undefined,
<<<<<<< HEAD
=======
sourceLocationId:undefined,
purposeLocationId:undefined,
>>>>>>> v1.3
occurrenceTimeSTime: undefined,
occurrenceTimeETime: undefined,
},
@@ -224,26 +177,17 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data);
function getList() {
<<<<<<< HEAD
=======
if(queryParams.value.sourceLocationId==null||
queryParams.value.purposeLocationId==null||
queryParams.value.occurrenceTimeSTime==null||
queryParams.value.occurrenceTimeETime==null){
ElMessage.warning("请构建完整的查询条件");
}else{
>>>>>>> v1.3
loading.value = true;
getReportMedicationStockOutDetails(queryParams.value).then((res) => {
loading.value = false;
medicationStockOutDetailsList.value = res.data.records;
total.value = res.data.total;
<<<<<<< HEAD
});
}
getList();
=======
});}
}
function getPharmacyCabinetLists() {
@@ -283,7 +227,6 @@ function handleExport() {
// getList();
getPharmacyCabinetLists();
>>>>>>> v1.3
</script>
<style scoped>
.custom-tree-node {

View File

@@ -1,7 +1,5 @@
<template>
<div class="app-container">
<<<<<<< HEAD
=======
<!-- 搜索区域 -->
<div class="search-form mb-4">
<el-form :model="queryParams" inline @submit.prevent>
@@ -44,7 +42,6 @@
</div>
<!-- 数据表格 -->
>>>>>>> v1.3
<el-table
v-loading="loading"
:data="medicationUsageList"
@@ -64,22 +61,14 @@
align="center"
key="orgName"
prop="orgName"
<<<<<<< HEAD
width="200"
=======
width="200"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
label="国家药品编码(YPID)"
align="center"
key="nationalDrugCode"
<<<<<<< HEAD
prop="ypCode"
=======
prop="nationalDrugCode"
>>>>>>> v1.3
width="200"
:show-overflow-tooltip="true"
/>
@@ -104,11 +93,7 @@
align="center"
key="itemName"
prop="itemName"
<<<<<<< HEAD
width="200"
=======
width="200"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -130,22 +115,14 @@
<el-table-column
label="销售数量(最小制剂单位)"
align="center"
<<<<<<< HEAD
key="dosageSalesQuantity"
prop="dosageSalesQuantity"
=======
key="unitCode_dictText"
prop="unitCode_dictText"
>>>>>>> v1.3
width="200"
:show-overflow-tooltip="true"
/>
</el-table>
<<<<<<< HEAD
=======
<!-- 分页组件 -->
>>>>>>> v1.3
<pagination
v-show="total > 0"
:total="total"
@@ -157,21 +134,6 @@
</template>
<script setup name="medicationUsageDetails">
<<<<<<< HEAD
import {
getReportMedicationUsage
} from './statisticalManagent';
const medicationUsageList = ref([]);
const loading = ref(true);
const ids = ref([]);
const total = ref(0);
const queryParams = ref({
pageNo: 1,
pageSize: 10,
=======
import { ref, onMounted } from 'vue';
import { getReportMedicationUsage } from './statisticalManagent';
@@ -194,28 +156,12 @@ const queryParams = ref({
searchKey: '', // 搜索关键词
startTime: '', // 开始时间
endTime: '', // 结束时间
>>>>>>> v1.3
});
/** 查询调拨管理项目列表 */
function getList() {
loading.value = true;
getReportMedicationUsage(queryParams.value).then((res) => {
<<<<<<< HEAD
loading.value = false;
medicationUsageList.value = res.data.records;
total.value = res.data.total;
})
}
/** 选择条数 */
function handleSelectionChange(selection) {
ids.value = selection.map((item) => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
=======
medicationUsageList.value = res.data.records;
total.value = res.data.total;
loading.value = false;
@@ -241,25 +187,10 @@ function resetQuery() {
getList(); // 重置后重新查询
}
>>>>>>> v1.3
// 页面加载时获取数据
onMounted(() => {
getList();
});
<<<<<<< HEAD
</script>
<style scoped>
.custom-tree-node {
display: flex;
align-items: center;
}
.title {
font-weight: bold;
font-size: large;
margin-bottom: 10px;
=======
</script>
<style scoped>
@@ -272,6 +203,5 @@ onMounted(() => {
/* 表格与搜索框间距 */
.mb-4 {
margin-bottom: 16px;
>>>>>>> v1.3
}
</style>

View File

@@ -61,21 +61,6 @@
:value="supplyStatus.id"
/>
</el-select>
<<<<<<< HEAD
</el-form-item>
<!-- 字典item_type -->
<el-form-item label="项目类型:" prop="clinicalType">
<el-select v-model="queryParams.clinicalType" placeholder="" clearable style="width: 150px">
<el-option
v-for="supplyStatus in clinicalTypeOptions"
:key="supplyStatus.value"
:label="supplyStatus.label"
:value="supplyStatus.value"
/>
</el-select>
</el-form-item>
<!-- 医保号门诊号患者姓名项目名项目编码 -->
=======
</el-form-item>
<el-form-item label="项目类型:" prop="clinicalType" label-width="90px">
<el-tree-select
@@ -95,7 +80,6 @@
@clear="handleTreeClear"
/>
</el-form-item>
>>>>>>> v1.3
<el-form-item
label="医保号/门诊号/患者姓名/项目名/项目编码"
prop="searchKey"
@@ -117,14 +101,6 @@
style="margin-left: 20px; margin-right: 0px; margin-bottom: 5px"
>
<el-col :span="1.5">
<<<<<<< HEAD
<!-- v-hasPermi="['system:user:import']" -->
<el-button type="primary" plain icon="Search" @click="handleQuery">查询</el-button>
</el-col>
<el-col :span="1.5">
<!-- v-hasPermi="['system:user:export']" -->
<el-button type="warning" plain icon="CircleClose" @click="handleClear">重置</el-button>
=======
<el-button type="primary" plain icon="Search" @click="handleQuery">查询</el-button>
</el-col>
<el-col :span="1.5">
@@ -132,7 +108,6 @@
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport">导出</el-button>
>>>>>>> v1.3
</el-col>
</el-row>
@@ -143,14 +118,7 @@
@selection-change="handleSelectionChange"
:span-method="arraySpanMethod"
>
<<<<<<< HEAD
<!-- :span-method="arraySpanMethod" -->
<!-- :summary-method="getSummaries"
show-summary 每页单独合计-->
<el-table-column type="selection" width="50px" align="center" resizable />
=======
<el-table-column type="selection" width="50px" align="center" />
>>>>>>> v1.3
<el-table-column
label="门诊号"
align="center"
@@ -194,10 +162,6 @@
:show-overflow-tooltip="true"
resizable
/>
<<<<<<< HEAD
=======
>>>>>>> v1.3
<el-table-column
label="药品项目"
align="center"
@@ -223,10 +187,6 @@
:show-overflow-tooltip="true"
resizable
/>
<<<<<<< HEAD
=======
>>>>>>> v1.3
<el-table-column
label="开单人"
align="center"
@@ -334,26 +294,13 @@ import {
getReportChargeInit,
} from './statisticalManagent';
import useUserStore from '@/store/modules/user';
<<<<<<< HEAD
=======
import { get } from 'lodash';
>>>>>>> v1.3
import { watch } from 'vue';
const userStore = useUserStore();
const router = useRouter();
const { proxy } = getCurrentInstance();
const totalAmount = ref(0);
<<<<<<< HEAD
// const {
// item_category_code,
// hosp_lv
// } = proxy.useDict(
// "item_category_code",
// "hosp_lv"
// );
=======
>>>>>>> v1.3
const purchaseinventoryListAll = ref([]);
const xiaojiTotal = ref([]);
const rowSpan = ref(1);
@@ -369,9 +316,6 @@ const multiple = ref(true);
const total = ref(0);
const occurrenceTime = ref([]);
const getDepartmentOptions = ref([]);
<<<<<<< HEAD
// const queryParams.value.statisticsType = ref(1)
=======
// 树形结构相关变量
const selectedTypeIds = ref([]); // 选中的节点ID集合
@@ -389,7 +333,6 @@ const { device_category_code, med_category_code, activity_category_code } = prox
'med_category_code',
'activity_category_code'
);
>>>>>>> v1.3
const data = reactive({
form: {},
@@ -398,23 +341,13 @@ const data = reactive({
pageSize: 10,
statisticsType: 1,
searchKey: undefined,
<<<<<<< HEAD
// ybCode: undefined,
// busNo:undefined,
// name: undefined,
=======
>>>>>>> v1.3
departmentId: undefined,
issuerId: undefined,
payeeId: undefined,
clinicalType: undefined,
<<<<<<< HEAD
// clinicalName:undefined,
=======
medicationCategoryCode: undefined,
deviceCategoryCode: undefined,
activityCategoryCode: undefined,
>>>>>>> v1.3
chargeTimeSTime: undefined,
chargeTimeETime: undefined,
},
@@ -426,13 +359,8 @@ const { queryParams, form, rules } = toRefs(data);
// 监听表格数据变化计算合计金额
watch(
() => purchaseinventoryList.value,
<<<<<<< HEAD
(newVlaue) => {
if (newVlaue && newVlaue.length > 0) {
=======
(newValue) => {
if (newValue && newValue.length > 0) {
>>>>>>> v1.3
handleTotalAmount();
}
},
@@ -442,54 +370,6 @@ watch(
// 监听统计类型变化
watch(
() => queryParams.value.statisticsType,
<<<<<<< HEAD
(newVlaue) => {
queryParams.value.statisticsType = newVlaue;
},
{ immediate: true }
);
/**计算合计金额 */
function handleTotalAmount() {
totalAmount.value = purchaseinventoryList.value.reduce((accumulator, currentRow) => {
return accumulator + (Number(currentRow.totalPrice) || 0);
}, 0);
}
function getTotals(row, i) {
let totalPriceSums = Number(purchaseinventoryList.value[i].totalPrice);
// let totalReturnPriceSums = Number(purchaseinventoryList.value[i].refundPrice)
for (let j = 1; i - j >= 0; j++) {
if (purchaseinventoryList.value[i].busNo == purchaseinventoryList.value[i - j].busNo) {
totalPriceSums += Number(purchaseinventoryList.value[i - j].totalPrice);
// totalReturnPriceSums += Number(purchaseinventoryList.value[i-j].refundPrice)
}
}
xiaojiTotal.value.push({
inde: i + 1,
busNo: row.busNo,
genderEnum_enumText: row.genderEnum_enumText,
totalPrice: totalPriceSums.toFixed(4) || 0.0,
});
// var totalPrice2 = 0
// var refundPrice2 = 0
purchaseinventoryList.value.splice(i + 1, 0, {
busNo: row.busNo,
genderEnum_enumText: row.genderEnum_enumText,
departmentName: '小计',
totalPrice: totalPriceSums.toFixed(4) || 0.0,
});
// purchaseinventoryList.value.map(k=>{
// if(k.departmentName!='小计'){
// totalPrice2 += Number(k.totalPrice)
// refundPrice2 += Number(k.refundPrice)
// }
// })
// totalPrice2 = totalPrice2?totalPrice2.toFixed(4):totalPrice2
// refundPrice2 = refundPrice2?refundPrice2.toFixed(4):refundPrice2
// purchaseinventoryList.value.push({departmentName:'合计',totalPrice:totalPrice2,refundPrice:refundPrice2})
}
const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
// 合并一样的列住院号 outpatientNumber属性&&(queryParams.value.statisticsType==1||queryParams.value.statisticsType==4||queryParams.value.statisticsType==6)
=======
(newValue) => {
queryParams.value.statisticsType = newValue;
},
@@ -700,7 +580,6 @@ function getTotals(row, i) {
// 表格合并行方法
const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
>>>>>>> v1.3
if (columnIndex === 1 && purchaseinventoryList.value.length > 0) {
if (
rowIndex === 0 ||
@@ -708,11 +587,7 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
) {
let rowspan = 1;
let totalPriceSum = 0;
<<<<<<< HEAD
// let totalReturnPriceSum = 0
=======
>>>>>>> v1.3
for (let i = rowIndex + 1; i < purchaseinventoryList.value.length + 1; i++) {
if (purchaseinventoryList.value[i - 1].departmentName != '合计') {
if (
@@ -721,30 +596,17 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
) {
rowspan++;
totalPriceSum += Number(purchaseinventoryList.value[i].totalPrice);
<<<<<<< HEAD
// totalReturnPriceSum += Number(purchaseinventoryList.value[i].refundPrice)
=======
>>>>>>> v1.3
if (i == purchaseinventoryList.value.length - 1) {
let findIndexTotal = xiaojiTotal.value.findIndex((k) => k.busNo == row.busNo);
if (findIndexTotal < 0) {
getTotals(row, i);
}
<<<<<<< HEAD
} else {
}
} else {
totalPriceSum += Number(row.totalPrice);
// totalReturnPriceSum += Number(row.refundPrice)
let findIndexTotal = xiaojiTotal.value.findIndex((k) => k.busNo == row.busNo);
=======
}
} else {
totalPriceSum += Number(row.totalPrice);
let findIndexTotal = xiaojiTotal.value.findIndex((k) => k.busNo == row.busNo);
>>>>>>> v1.3
if (findIndexTotal < 0) {
xiaojiTotal.value.push({
inde: i,
@@ -752,84 +614,19 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
busNo: row.busNo,
totalPrice: totalPriceSum,
});
<<<<<<< HEAD
=======
>>>>>>> v1.3
purchaseinventoryList.value.splice(i, 0, {
busNo: row.busNo,
genderEnum_enumText: row.genderEnum_enumText,
departmentName: '小计',
totalPrice: totalPriceSum.toFixed(4) || 0.0,
});
<<<<<<< HEAD
// console.log(purchaseinventoryList.value,"12121")
=======
>>>>>>> v1.3
}
break;
}
}
rowspan++;
}
<<<<<<< HEAD
return { rowspan, colspan: 1 };
} else {
// 非起始行不显示
return { rowspan: 0, colspan: 0 };
}
// }else{ // 姓名列patientName
// if (columnIndex ===2&&purchaseinventoryList.value.length>0) {
// if (rowIndex === 0 || (rowIndex > 0 && row.name !== purchaseinventoryList.value[rowIndex - 1]?.name)) {
// let rowspan = 1;
// for (let i = rowIndex + 1; i < purchaseinventoryList.value.length; i++) {
// if (purchaseinventoryList.value[i].name === row.name) {
// rowspan++;
// } else {
// break;
// }
// }
// return { rowspan:rowspan, colspan: 1 };
// } else {
// return { rowspan: 0, colspan: 0 };
// }
// }
}
};
const getSummaries = (param) => {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = h('div', { style: { textDecoration: 'underline' } }, ['合计']);
return;
}
const values = data.map(
(item) => item.departmentName != '小计' && Number(item[column.property])
);
if (column.property == 'totalPrice') {
sums[index] = `${values.reduce((prev, curr) => {
const value = Number(curr);
if (!Number.isNaN(value)) {
return (Number(prev) + Number(curr)).toFixed(4) || 0.0;
} else {
return Number(prev);
}
}, 0.0)}`;
} else {
sums[index] = ' ';
}
});
return sums;
};
function inventoryChange(val) {
queryParams.value.statisticsType = val;
xiaojiTotal.value = [];
purchaseinventoryList.value = [];
getList();
}
=======
return { rowspan, colspan: 1 };
} else {
@@ -847,22 +644,12 @@ function inventoryChange(val) {
}
// 初始化数据加载
>>>>>>> v1.3
function getPharmacyCabinetLists() {
getReportChargeInit().then((response) => {
inventoryOptions.value = response.data.statisticsTypeOptions;
queryParams.value.statisticsType = 1;
issuerOptions.value = response.data.issuerOptions;
payeeOptions.value = response.data.payeeOptions;
<<<<<<< HEAD
clinicalTypeOptions.value = response.data.clinicalTypeOptions;
});
getDepartmentList().then((response) => {
getDepartmentOptions.value = response.data; // 科室
});
}
/** 查询调拨管理项目列表 */
=======
clinicalTypeOptions.value = response.data.clinicalTypeOptions || [];
// 确保字典数据加载完成后再构建树形
@@ -877,7 +664,6 @@ function getPharmacyCabinetLists() {
}
// 查询列表数据
>>>>>>> v1.3
function getList(type) {
if (type) {
xiaojiTotal.value = [];
@@ -885,60 +671,6 @@ function getList(type) {
}
loading.value = true;
<<<<<<< HEAD
// purchaseinventoryList.value = [
// {busNo:'M2505070009100304',name:"张三",departmentName:'CF2505070009101361',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'依折麦布片',busNo:'yp3065',medicalName:'依折麦布片',ybNo:'XC10AXY097A0010',totalVolume:'10mg*10',salePrice:'63.56',price:'63.56',totalPrice:'63.56',number:'1盒',totalPrice:'63.56',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'Y013201',manufacturerText:'杭州默沙东制药有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100304',name:"张三",departmentName:'CF2505070009101362',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100305',name:"李四",departmentName:'CF2505070009101363',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100305',name:"李四",departmentName:'CF2505070009101364',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'依折麦布片',busNo:'yp3065',medicalName:'依折麦布片',ybNo:'XC10AXY097A0010',totalVolume:'10mg*10',salePrice:'63.56',price:'63.56',totalPrice:'63.56',number:'1盒',totalPrice:'63.56',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'Y013201',manufacturerText:'杭州默沙东制药有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100305',name:"李四",departmentName:'CF2505070009101365',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100305',name:"李四",departmentName:'CF2505070009101366',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100306',name:"王五",departmentName:'CF2505070009101367',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'依折麦布片',busNo:'yp3065',medicalName:'依折麦布片',ybNo:'XC10AXY097A0010',totalVolume:'10mg*10',salePrice:'63.56',price:'63.56',totalPrice:'63.56',number:'1盒',totalPrice:'63.56',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'Y013201',manufacturerText:'杭州默沙东制药有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100306',name:"王五",departmentName:'CF2505070009101368',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100306',name:"王五",departmentName:'CF2505070009101369',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100307',name:"赵六",departmentName:'CF2505070009101368',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'4.8',price:'4.8',totalPrice:'4.8',number:'1盒',totalPrice:'4.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// {busNo:'M2505070009100307',name:"赵六",departmentName:'CF2505070009101369',birthDate:'2025-05-07 16:28',practitionerName:'张三',practitionerName:'王东收费',clinicalName:'布洛芬缓释胶囊',busNo:'yp3065',medicalName:'布洛芬缓释胶囊',ybNo:'XC10AXY097A0010',totalVolume:'0.3g*24',salePrice:'2.8',price:'2.8',totalPrice:'2.8',number:'1盒',totalPrice:'2.8',refundQuantity:'0.00盒',refundPrice:'0.00',lotNumber:'72240709',manufacturerText:'上海信谊天平药业有限公司',supplierName:'旧系统批量'},
// ]
var totalPrice2 = 0;
// var refundPrice2 = 0
// var purchaseinventoryLists = []
// var purchaseinventoryListsArray = []
getReportChargePage(queryParams.value).then((res) => {
console.log('API返回数据:', res.data.records && res.data.records.length > 0 ? res.data.records[0] : {}); // 调试日志
// purchaseinventoryLists = res.data.records||[] //转换数据结构
// if(purchaseinventoryLists.length>0){
// purchaseinventoryLists.map(p=>{
// purchaseinventoryListsArray = [...purchaseinventoryListsArray, ...p.reportPageItemDto]
// // purchaseinventoryList.value.concat(p.reportPageItemDto)
// })
// }
// purchaseinventoryList.value = purchaseinventoryListsArray
purchaseinventoryList.value = res.data.records || [];
total.value = res.data.total;
purchaseinventoryList.value.map((k) => {
k.totalPrice = k.totalPrice ? k.totalPrice.toFixed(4) : '0.0000';
k.price = k.price ? k.price.toFixed(4) : '0.0000';
// k.refundPrice = k.refundPrice || '0.00'
k.number = k.number
? k.number + (k.quantityUnit_dictText ? k.quantityUnit_dictText : '')
: '0.0000' + k.quantityUnit_dictText
? k.quantityUnit_dictText
: '';
// k.refundQuantity = k.refundQuantity?(k.refundQuantity+k.refundUnitCode_dictText):('0.00'+ k.quantityUnit_dictText)
if (total.value && total.value <= queryParams.value.pageSize) {
totalPrice2 += Number(k.totalPrice);
// refundPrice2 += Number(k.refundPrice)
}
});
if (total.value <= res.data.size) {
loading.value = false;
}
// 1页数据
if (total.value && total.value <= queryParams.value.pageSize) {
totalPrice2 = totalPrice2 ? totalPrice2.toFixed(4) : totalPrice2;
// refundPrice2 = refundPrice2?refundPrice2.toFixed(4):refundPrice2
let pageNoAll = total.value / queryParams.value.pageSize;
=======
var totalPrice2 = 0;
// 构建请求参数自动排除undefined/null属性
@@ -997,31 +729,11 @@ function getList(type) {
totalPrice2 = totalPrice2 ? totalPrice2.toFixed(4) : totalPrice2;
let pageNoAll = total.value / queryParams.value.pageSize;
>>>>>>> v1.3
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({ departmentName: '合计', totalPrice: totalPrice2 });
}
}
<<<<<<< HEAD
// 带分页数据
if (total.value && total.value > queryParams.value.pageSize) {
// var purchaseinventoryListsAll = []
// var purchaseinventoryListsArrayAll = []
let queryParamsValue = { ...queryParams.value };
queryParamsValue.pageSize = total.value;
queryParamsValue.pageNo = 1;
getReportChargePage(queryParamsValue).then((res) => {
// purchaseinventoryListsAll = res.data.records||[]
// if(purchaseinventoryListsAll.length>0){
// purchaseinventoryListsAll.map(p=>{
// purchaseinventoryListsArrayAll = [...purchaseinventoryListsArrayAll, ...p.reportPageItemDto]
// // purchaseinventoryList.value.concat(p.reportPageItemDto)
// })
// }
// purchaseinventoryListAll.value = purchaseinventoryListsArrayAll
purchaseinventoryListAll.value = res.data.records || [];
=======
// 多页数据处理
if (total.value && total.value > queryParams.value.pageSize && !queryParams.value.searchKey) {
let queryParamsValue = { ...queryParams.value };
@@ -1038,26 +750,10 @@ function getList(type) {
getReportChargePage(queryParamsValue).then((res) => {
purchaseinventoryListAll.value = res.data.records || [];
>>>>>>> v1.3
if (purchaseinventoryListAll.value.length > 0) {
purchaseinventoryListAll.value.map((k, index) => {
k.totalPrice = k.totalPrice ? k.totalPrice.toFixed(4) : '0.0000';
k.price = k.price ? k.price.toFixed(4) : '0.0000';
<<<<<<< HEAD
// k.refundPrice = k.refundPrice || '0.00'
k.number = k.number
? k.number + k.quantityUnit_dictText
? k.quantityUnit_dictText
: ''
: '0.0000' + k.quantityUnit_dictText
? k.quantityUnit_dictText
: '';
// k.refundQuantity = k.refundQuantity?(k.refundQuantity+k.refundUnitCode_dictText):('0.00'+ k.quantityUnit_dictText)
totalPrice2 += Number(k.totalPrice);
// refundPrice2 += Number(k.refundPrice)
//处理不同页门诊号相同小计在最后回显问题start
// m<queryParams.value.pageSize&&
=======
k.number = k.number
? k.number + (k.quantityUnit_dictText ? k.quantityUnit_dictText : '')
: '0.0000' + (k.quantityUnit_dictText ? k.quantityUnit_dictText : '');
@@ -1065,44 +761,23 @@ function getList(type) {
totalPrice2 += Number(k.totalPrice);
// 处理跨页门诊号小计
>>>>>>> v1.3
for (let m = 1; m < index; m++) {
if (
queryParams.value.pageNo > 1 &&
index == queryParams.value.pageSize * (queryParams.value.pageNo - 1) &&
k.busNo == purchaseinventoryListAll.value[index - m]?.busNo
) {
<<<<<<< HEAD
// purchaseinventoryList.value.unshift(purchaseinventoryListAll.value[index-m]) // 加
// //修改计算的小计缺少加过来的部分
let dispenseNoIndex1 = purchaseinventoryList.value.findIndex(
(o) =>
o.departmentName == '小计' &&
o.busNo == purchaseinventoryListAll.value[index - m].busNo
=======
let dispenseNoIndex1 = purchaseinventoryList.value.findIndex(
(o) => o.departmentName == '小计' && o.busNo == purchaseinventoryListAll.value[index - m].busNo
>>>>>>> v1.3
);
if (dispenseNoIndex1 > 0) {
purchaseinventoryList.value[dispenseNoIndex1].totalPrice =
<<<<<<< HEAD
Number(purchaseinventoryList.value[dispenseNoIndex1].totalPrice) +
Number(purchaseinventoryListAll.value[index - m].totalPrice);
purchaseinventoryList.value[dispenseNoIndex1].totalPrice = purchaseinventoryList
.value[dispenseNoIndex1].totalPrice
? purchaseinventoryList.value[dispenseNoIndex1].totalPrice.toFixed(4)
: '0.0000';
}
}
=======
(Number(purchaseinventoryList.value[dispenseNoIndex1].totalPrice) +
Number(purchaseinventoryListAll.value[index - m].totalPrice)).toFixed(4) || '0.0000';
}
}
>>>>>>> v1.3
if (
index + m == queryParams.value.pageSize * queryParams.value.pageNo &&
k.busNo == purchaseinventoryListAll.value[index + m]?.busNo
@@ -1111,22 +786,6 @@ function getList(type) {
purchaseinventoryList.value[purchaseinventoryList.value.length - 1]
.departmentName == '小计'
) {
<<<<<<< HEAD
purchaseinventoryList.value.splice(purchaseinventoryList.value.length - 1, 1); // 减掉第二页还有相同门诊号的第一页的小计
}
// let dispenseNoIndex = purchaseinventoryList.value.findIndex(o=>o.paymentId==k.paymentId&&o.chargeId==k.chargeId) //通过唯一主键进行区分
// purchaseinventoryList.value.splice(dispenseNoIndex,1) // 减
// if(purchaseinventoryList.value[dispenseNoIndex-1]&&purchaseinventoryList.value[dispenseNoIndex-1].departmentName=='小计'){
// purchaseinventoryList.value.splice(dispenseNoIndex+1,1) // 减掉带小计的
// }
}
}
// end
});
totalPrice2 = totalPrice2 ? totalPrice2.toFixed(4) : totalPrice2;
// refundPrice2 = refundPrice2?refundPrice2.toFixed(4):refundPrice2
loading.value = false;
=======
purchaseinventoryList.value.splice(purchaseinventoryList.value.length - 1, 1);
}
}
@@ -1136,7 +795,6 @@ function getList(type) {
totalPrice2 = totalPrice2 ? totalPrice2.toFixed(4) : totalPrice2;
loading.value = false;
>>>>>>> v1.3
let pageNoAll = total.value / queryParams.value.pageSize;
if (Math.ceil(pageNoAll) == queryParams.value.pageNo) {
purchaseinventoryList.value.push({ departmentName: '合计', totalPrice: totalPrice2 });
@@ -1147,40 +805,24 @@ function getList(type) {
});
}
<<<<<<< HEAD
/** 搜索按钮操作 */
=======
// 查询按钮点击事件
>>>>>>> v1.3
function handleQuery() {
queryParams.value.chargeTimeSTime =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[0] + ' 00:00:00'
: '';
<<<<<<< HEAD
=======
>>>>>>> v1.3
queryParams.value.chargeTimeETime =
occurrenceTime.value && occurrenceTime.value.length == 2
? occurrenceTime.value[1] + ' 23:59:59'
: '';
<<<<<<< HEAD
=======
>>>>>>> v1.3
queryParams.value.pageNo = 1;
getList(1);
}
// 重置按钮点击事件
function handleClear() {
<<<<<<< HEAD
// 清空查询条件
occurrenceTime.value = '';
queryParams.value.chargeTimeSTime = '';
queryParams.value.chargeTimeETime = '';
=======
occurrenceTime.value = [];
queryParams.value.chargeTimeSTime = '';
queryParams.value.chargeTimeETime = '';
@@ -1194,7 +836,6 @@ function handleClear() {
queryParams.value.activityCategoryCode = undefined;
selectedTypeIds.value = [];
>>>>>>> v1.3
proxy.resetForm('queryRef');
getList(1);
}
@@ -1206,28 +847,15 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
<<<<<<< HEAD
// 初始化日期范围为当前月第一天到今天
=======
// 初始化日期范围为当月
>>>>>>> v1.3
function initDefaultDateRange() {
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth();
<<<<<<< HEAD
// 当前月第一天
const firstDay = new Date(year, month, 1);
// 今天
const today = now;
// 格式化为YYYY-MM-DD格式
=======
const firstDay = new Date(year, month, 1);
const today = now;
>>>>>>> v1.3
const formatDate = (date) => {
const y = date.getFullYear();
const m = String(date.getMonth() + 1).padStart(2, '0');
@@ -1237,16 +865,10 @@ function initDefaultDateRange() {
occurrenceTime.value = [formatDate(firstDay), formatDate(today)];
<<<<<<< HEAD
// 同时设置到queryParams中确保首次加载时传递时间参数
=======
>>>>>>> v1.3
queryParams.value.chargeTimeSTime = occurrenceTime.value[0] + ' 00:00:00';
queryParams.value.chargeTimeETime = occurrenceTime.value[1] + ' 23:59:59';
}
<<<<<<< HEAD
=======
// 导出Excel
function handleExport() {
// 构建导出参数(移除分页参数)
@@ -1268,7 +890,6 @@ function handleExport() {
);
}
>>>>>>> v1.3
// 初始化页面
getPharmacyCabinetLists();
initDefaultDateRange();

View File

@@ -1,7 +1,5 @@
<template>
<div class="app-container">
<<<<<<< HEAD
=======
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="100px">
<el-form-item label="搜索条件" prop="searchKey">
<el-input
@@ -49,7 +47,6 @@
<el-button type="warning" plain icon="Download" @click="handleExport">导出</el-button>
</el-col>
</el-row>
>>>>>>> v1.3
<el-table
v-loading="loading"
:data="patientDetailsList"
@@ -69,11 +66,7 @@
align="center"
key="medName"
prop="medName"
<<<<<<< HEAD
width="140"
=======
width="140"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -97,10 +90,6 @@
align="center"
key="doseFormCode_dictText"
prop="doseFormCode_dictText"
<<<<<<< HEAD
width="140px"
=======
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -108,9 +97,6 @@
align="center"
key="totalVolume"
prop="totalVolume"
<<<<<<< HEAD
width="140"
=======
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -118,7 +104,6 @@
align="center"
key="packageUnit_dictText"
prop="packageUnit_dictText"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -126,10 +111,6 @@
align="center"
key="unitCode_dictText"
prop="unitCode_dictText"
<<<<<<< HEAD
width="160"
=======
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -137,25 +118,14 @@
align="center"
key="isSelected"
prop="isSelected"
<<<<<<< HEAD
width="140"
:show-overflow-tooltip="true"
/>
<el-table-column
=======
:show-overflow-tooltip="true"
/>
<el-table-column
>>>>>>> v1.3
label="生产企业"
align="center"
key="manufacturerText"
prop="manufacturerText"
<<<<<<< HEAD
width="100"
=======
width="240"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -163,10 +133,6 @@
align="center"
key="price"
prop="price"
<<<<<<< HEAD
width="200"
=======
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -174,11 +140,7 @@
align="center"
key="quantity"
prop="quantity"
<<<<<<< HEAD
width="200"
=======
width="160"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -186,11 +148,7 @@
align="center"
key="totalPrice"
prop="totalPrice"
<<<<<<< HEAD
width="200"
=======
width="140"
>>>>>>> v1.3
:show-overflow-tooltip="true"
/>
</el-table>
@@ -205,35 +163,16 @@
</template>
<script setup name="patientDetails">
<<<<<<< HEAD
import {
getReportPatientDetails
} from './statisticalManagent';
=======
import { ref, onMounted, getCurrentInstance } from 'vue';
import { getReportPatientDetails } from './statisticalManagent';
// 获取当前实例的proxy
const { proxy } = getCurrentInstance();
>>>>>>> v1.3
const patientDetailsList = ref([]);
const loading = ref(true);
const ids = ref([]);
const total = ref(0);
<<<<<<< HEAD
const queryParams = ref({
pageNo: 1,
pageSize: 10,
searchKey: undefined,
occurrenceTimeSTime: undefined,
occurrenceTimeETime: undefined,
});
/** 查询调拨管理项目列表 */
=======
const single = ref(true);
const multiple = ref(true);
const queryRef = ref();
@@ -253,16 +192,12 @@ const queryParams = ref({
});
/** 查询患者明细列表 */
>>>>>>> v1.3
function getList() {
loading.value = true;
getReportPatientDetails(queryParams.value).then((res) => {
loading.value = false;
patientDetailsList.value = res.data.records;
total.value = res.data.total;
<<<<<<< HEAD
})
=======
}).catch(() => {
loading.value = false;
});
@@ -279,18 +214,11 @@ function handleClear() {
proxy.resetForm('queryRef');
queryParams.value.pageNo = 1;
getList();
>>>>>>> v1.3
}
/** 选择条数 */
function handleSelectionChange(selection) {
ids.value = selection.map((item) => item.id);
<<<<<<< HEAD
single.value = selection.length != 1;
multiple.value = !selection.length;
}
=======
single.value = selection.length !== 1;
multiple.value = !selection.length;
}
@@ -306,18 +234,12 @@ function handleExport() {
);
}
>>>>>>> v1.3
// 页面加载时获取数据
onMounted(() => {
getList();
});
<<<<<<< HEAD
</script>
=======
</script>
>>>>>>> v1.3
<style scoped>
.custom-tree-node {
display: flex;
@@ -329,11 +251,8 @@ onMounted(() => {
font-size: large;
margin-bottom: 10px;
}
<<<<<<< HEAD
=======
.mb8 {
margin-bottom: 8px;
}
>>>>>>> v1.3
</style>

View File

@@ -148,13 +148,8 @@ const queryParams = ref({
pageNo: 1,
pageSize: 10,
searchKey: undefined,
<<<<<<< HEAD
occurrenceTimeSTime: undefined,
occurrenceTimeETime: undefined,
=======
encounterBusNo: undefined,
patientName: undefined,
>>>>>>> v1.3
});
/** 查询调拨管理项目列表 */

View File

@@ -313,20 +313,11 @@ export function ybRequestFileUp(data) {
});
}
export function getExpirationWarning(query) {
<<<<<<< HEAD
// return request({
// url: '/inventory-manage/product/expiration-warning',
// method: 'get',
// params: query
// })
return null;
=======
return request({
url: '/inventory-manage/product/expiration-warning',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
export function getClroptins(query) {
return request({
@@ -401,13 +392,6 @@ export function handOperatedApplyReconcileAccounts(data) {
}
export function productPageTotal(query) {
<<<<<<< HEAD
return request({
url: '/inventory-manage/product/product-statistics',
method: 'get',
params: query
})
=======
return request({
url: '/inventory-manage/product/product-statistics',
method: 'get',
@@ -420,7 +404,6 @@ export function productBackupPageTotal(query) {
method: 'get',
params: query,
});
>>>>>>> v1.3
}
export function getMedDevInfo(query) {
@@ -440,239 +423,123 @@ export function getMedDevAll(query) {
}
export function getReportStocktakingPageAuto(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/stocktaking/report-stocktaking-page-auto',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/stocktaking/report-stocktaking-page-auto',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//报表导出
export function exportRecords(params) {
<<<<<<< HEAD
return request({
url: '/pharmacy-manage/medication-details/excel-out',
method: 'get',
params: qparamsuery
})
=======
return request({
url: '/pharmacy-manage/medication-details/excel-out',
method: 'get',
params: qparamsuery,
});
>>>>>>> v1.3
}
//查看单据详情
export function getDocumentDetails(params) {
<<<<<<< HEAD
return request({
url: '/inventory-manage/purchase/inventory-receipt',
method: 'get',
params: params
})
=======
return request({
url: '/inventory-manage/purchase/inventory-receipt',
method: 'get',
params: params,
});
>>>>>>> v1.3
}
//药剂科报表_常规报表:出库明细表(例子)
export function getStockOutDetail(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/stock-out-detail-page',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/stock-out-detail-page',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//查询患者明细主报表--20251106追加
export function getReportPatientMasterDetail(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/patient-master-detail',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/patient-master-detail',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//线下采购占比报表--20251106追加
export function getReportOfflinePurchaseRatio(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/offline-purchase-ratio',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/offline-purchase-ratio',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药品使用情况报表--20251106追加
export function getReportMedicationUsage(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/medication-usage',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/medication-usage',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//查询患者明细报表--20251106追加
export function getReportPatientDetails(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/patient-details',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/patient-details',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:药品费用增长率--20251106追加
export function getDrugExpensesGrowthRate(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/drug-expenses-growth-rate',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/drug-expenses-growth-rate',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:30天回款率--20251106追加
export function getThirtyDayCollectionRate(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/thirty-day-collection-rate',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/thirty-day-collection-rate',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:基本情况--20251106追加
export function getReportBasicInformationDetails(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/basic-information-details',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/basic-information-details',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:药品出库情况--20251106追加
export function getReportMedicationStockOutDetails(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/medication-stock-out-details',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/medication-stock-out-details',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:产品使用情况--20251106追加
export function getReportProductUsageDetails(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/product-usage-details',
method: 'get',
params: query
})
=======
return request({
url: '/report-manage/report/product-usage-details',
method: 'get',
params: query,
});
>>>>>>> v1.3
}
//药剂科报表:非中选产品采购量占比--20251106追加
export function getReportNonWinQtyRatio(query) {
<<<<<<< HEAD
return request({
url: '/report-manage/report/non-win-qty-ratio',
method: 'get',
params: query
})
}
=======
return request({
url: '/report-manage/report/non-win-qty-ratio',
method: 'get',
@@ -741,4 +608,3 @@ export function tracePatient(query) {
params: query,
});
}
>>>>>>> v1.3

View File

@@ -169,15 +169,7 @@ import traceabilityPersonInfo from './traceabilityPersonInfo.vue';
const { proxy } = getCurrentInstance();
<<<<<<< HEAD
const {
item_category_code,
} = proxy.useDict(
"item_category_code",
);
=======
const { item_category_code } = proxy.useDict('item_category_code');
>>>>>>> v1.3
const purchaseinventoryList = ref([]);
const loading = ref(true);

View File

@@ -1,11 +1,6 @@
<template>
<div class="app-container" v-loading="pageLoading" loading-text="审批中...">
<<<<<<< HEAD
<el-row :gutter="10" class="mb8" v-if="viewStatus">
=======
<!-- <el-row :gutter="10" class="mb8" v-if="viewStatus">
>>>>>>> v1.3
<el-col :span="1.5">
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
>审批通过</el-button
@@ -127,10 +122,7 @@
style="width: 150px"
:disabled="data.isEdit"
>
<<<<<<< HEAD
=======
<!-- purchase_type -->
>>>>>>> v1.3
<el-option
v-for="supplier in sourceTypeListOptions"
:key="supplier.id"
@@ -184,10 +176,7 @@
style="width: 150px"
:disabled="data.isEdit"
>
<<<<<<< HEAD
=======
<!-- purchase_type -->
>>>>>>> v1.3
<el-option
v-for="supplier in purposeTypeListOptions"
:key="supplier.id"
@@ -539,12 +528,7 @@ import { formatDate, formatDateymd } from '@/utils/index';
import useUserStore from '@/store/modules/user';
import { useStore } from '@/store/store';
import useTagsViewStore from '@/store/modules/tagsView';
<<<<<<< HEAD
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue'
import { nextTick } from 'vue';
=======
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
>>>>>>> v1.3
const tagsViewStore = useTagsViewStore();
const store = useStore();
const router = useRouter();
@@ -600,16 +584,7 @@ const forms = reactive({
});
const receiptHeaderForm = reactive({
busNo: undefined,
<<<<<<< HEAD
occurrence_time: formatDate(new Date()),
sourceTypeEnum: 16, // 默认药房类型
purposeTypeEnum: 16, // 默认药房类型
sourceLocationId: '',
purposeLocationId: '',
medicationType: '',
=======
occurrenceTime: formatDate(new Date()),
>>>>>>> v1.3
});
const data = reactive({
@@ -654,25 +629,9 @@ const data = reactive({
});
const { queryParams, rules, tableRules } = toRefs(data);
<<<<<<< HEAD
const purposeTypeListOptions = ref([]);
const sourceTypeListOptions = ref([]);
// 立即初始化模拟仓库数据
const mockWarehouses = [
{ id: '1', name: '药房1号' },
{ id: '2', name: '药房2号' },
{ id: '3', name: '药房3号' },
{ id: '4', name: '中心药房' },
{ id: '5', name: '门诊药房' }
];
// 设置模拟数据到仓库列表选项
// 通过onMounted中调用的handleChangeSourceTypeEnum和handleChangePurposeTypeEnum函数动态获取仓库数据
const sourceLocationStoreIdListOptions = ref(undefined);
=======
const purposeTypeListOptions = ref(undefined);
const sourceTypeListOptions = ref(undefined);
const sourceLocationStoreIdListOptions = ref(undefined);
>>>>>>> v1.3
const purposeLocationStoreIdListOptions = ref(undefined);
const categoryListOptions = ref(undefined);
@@ -712,143 +671,6 @@ watch(
{ immediate: true }
);
<<<<<<< HEAD
// 挂载时绑定事件
onMounted(() => {
document.addEventListener("click", handleClickOutside);
// 初始化仓库数据,默认加载药房类型(16)的仓库
handleChangeSourceTypeEnum(receiptHeaderForm.sourceTypeEnum, 1);
handleChangePurposeTypeEnum(receiptHeaderForm.purposeTypeEnum, 1);
});
// 卸载时移除事件
onUnmounted(() => {
document.removeEventListener("click", handleClickOutside);
});
function addNewRow() {
proxy.$refs["receiptHeaderRef"].validate((valid) => {
if (valid) {
if (data.isAdding) {
proxy.$message.warning("请先保存当前行后再新增!");
return;
}
const newRow = {
id: "",
supplyBusNo:"",
occurrence_time:"",
typeEnum_enumText:"",
statusEnum_enumText:"",
sourceLocationId:"", // 源仓库
purposeLocationId:"", //目的仓库
sourceLocationName:"",
purposeLocationName:"",
approverId_dictText:"",
applicantId_dictText:"",
approvalTime:"",
createTime:"",
itemTable: "",
itemQuantity: "",
itemMaxQuantity:"",
itemId: "",
unitCode: "",
remake: "",
supplierId: "",
purposeTypeEnum: "",
purposeLocationId: null,
purposeLocationStoreId: null,
practitionerId: "",
traceNo: "",
invoiceNo: "",
startTime: "",
endTime: "",
price: "",
totalPrice: "",
objQuantity:"",
orgQuantity:"",
// sellPrice: "",
// minSellPrice: "",
// locationInventoryList: [{value:1,label:'药房'},{value:2,label:'仓库'}], // 库房列表
unitList: {}, // 单位列表
isEditing: true, // 标记当前行是否正在编辑
error: false, // 新增 error 字段
isSave: false, // 当前行是否保存
};
form.purchaseinventoryList.push(newRow);
data.isAdding = true; // 设置标志位为 true表示有未保存的
}
});
}
function handleBlur(row, index) {
let hasError = false;
for (let key in row) {
if(!row[key]){
if(key=='itemQuantity'||key=='totalSourceQuantity'||key=='totalPurposeQuantity'||key=='price'||key=='totalPrice'){
row[key] = 0
}else{
row[key] = ''
}
}
}
if(receiptHeaderForm.medicationType){
if(!row.itemTable){
if (receiptHeaderForm.medicationType == 1) {
row.itemTable = "med_medication_definition";
} else {
console.log('Unknown warehouse type:', value);
row.itemTable = "adm_device_definition";
}
}
}
row.sourceLocationId =receiptHeaderForm.sourceLocationId
row.sourceLocationStoreId = receiptHeaderForm.sourceLocationStoreId;
row.purposeLocationId = receiptHeaderForm.purposeLocationId
row.purposeLocationStoreId = receiptHeaderForm.purposeLocationStoreId;
row.busNo = receiptHeaderForm.busNo;
row.applyTime = formatDate(row.applyTime)
row.startTime = formatDateymd(row.startTime)
row.endTime = formatDateymd(row.endTime)
row.occurrence_time = receiptHeaderForm.occurrence_time;
let sourceTypeEnum = warehous_type.value.filter(e=>{return e.label==receiptHeaderForm.sourceTypeEnum})
row.sourceTypeEnum = (sourceTypeEnum&&sourceTypeEnum[0])?sourceTypeEnum[0].value:receiptHeaderForm.sourceTypeEnum
let purposeTypeEnum = warehous_type.value.filter(e=>{return e.label==receiptHeaderForm.purposeTypeEnum})
row.purposeTypeEnum = (purposeTypeEnum&&purposeTypeEnum[0])?purposeTypeEnum[0].value:receiptHeaderForm.purposeTypeEnum
let sourceLocationId = sourceTypeListOptions.value.filter(e=>{return e.name==receiptHeaderForm.sourceLocationId})
row.sourceLocationId = (sourceLocationId&&sourceLocationId[0])?sourceLocationId[0].id:receiptHeaderForm.sourceLocationId
let purposeLocationId = purposeTypeListOptions.value.filter(e=>{return e.name==receiptHeaderForm.purposeLocationId})
row.purposeLocationId = (purposeLocationId&&purposeLocationId[0])?purposeLocationId[0].id:receiptHeaderForm.purposeLocationId
row.applicantId = userStore.id;
}
// 取消行编辑
function cancelEditRow(){
const findIndexId = form.purchaseinventoryList.findIndex(e=>e.id==currentRow.value.id)
form.purchaseinventoryList[findIndexId] = {}
}
// 点击行时记录当前行
function handleRowClick(row) {
// getMedicineList({ itemId: row.itemId,sourceLocationId:row.sourceLocationId,purposeLocationId:row.purposeLocationId }).then((res) => {
// });
currentRow.value = row;
}
// 监听表格外的点击事件
function handleClickOutside(event) {
// if (tableRef.value && !tableRef.value.$el.contains(event.target)) {
// if (currentRow.value) {
// handleSave(currentRow.value);
// currentRow.value = null; // 清空当前行
// }
// }
}
=======
// 监听路由变化
watch(
() => route.query,
@@ -877,7 +699,6 @@ watch(
},
{ immediate: true }
);
>>>>>>> v1.3
function handelApply() {
pageLoading.value = true;
@@ -936,19 +757,6 @@ function handleSubmitApproval() {
}
// 切换仓库类型获取药房/药库列表 目的仓库切换
<<<<<<< HEAD
function handleChangePurposeTypeEnum(value,type) {
console.log('handleChangePurposeTypeEnum called with value:', value, 'type:', type);
receiptHeaderForm.purposeLocationId = '';
if(value === 16){ // 药房类型
getPharmacyList().then(res => {
console.log('getPharmacyList response:', res);
if (res && res.data) {
purposeTypeListOptions.value = res.data;
if(!type && res.data.length > 0) {
receiptHeaderForm.purposeLocationId = res.data[0].id;
}
=======
function handleChangePurposeTypeEnum(value, type) {
if (value == 16) {
getPharmacyList().then((res) => {
@@ -956,28 +764,16 @@ function handleChangePurposeTypeEnum(value, type) {
if (!route.query.supplyBusNo && !type) {
receiptHeaderForm.purposeLocationId = '';
receiptHeaderForm.purposeLocationId1 = '';
>>>>>>> v1.3
}
}).catch(error => {
console.error('Error fetching pharmacy list:', error);
});
<<<<<<< HEAD
} else if(value === 17){ // 药库类型
getDispensaryList().then(res => {
console.log('getDispensaryList response:', res);
if (res && res.data) {
purposeTypeListOptions.value = res.data;
if(!type && res.data.length > 0) {
receiptHeaderForm.purposeLocationId = res.data[0].id;
}
=======
} else if (value == 11) {
getDispensaryList().then((res) => {
purposeTypeListOptions.value = res.data;
if (!route.query.supplyBusNo && !type) {
receiptHeaderForm.purposeLocationId = '';
receiptHeaderForm.purposeLocationId1 = '';
>>>>>>> v1.3
}
}).catch(error => {
console.error('Error fetching dispensary list:', error);
@@ -986,20 +782,6 @@ function handleChangePurposeTypeEnum(value, type) {
purposeTypeListOptions.value = [];
}
}
<<<<<<< HEAD
// 源仓库切换
function handleChangeSourceTypeEnum(value,type) {
console.log('handleChangeSourceTypeEnum called with value:', value, 'type:', type);
receiptHeaderForm.sourceLocationId = '';
if(value === 16){ // 药房类型
getPharmacyList().then(res => {
console.log('getPharmacyList response:', res);
if (res && res.data) {
sourceTypeListOptions.value = res.data;
if(!type && res.data.length > 0) {
receiptHeaderForm.sourceLocationId = res.data[0].id;
}
=======
// 源仓库切换
function handleChangeSourceTypeEnum(value, type) {
if (value == 16) {
@@ -1008,28 +790,16 @@ function handleChangeSourceTypeEnum(value, type) {
if (!route.query.supplyBusNo && !type) {
receiptHeaderForm.sourceLocationId = '';
receiptHeaderForm.sourceLocationId1 = '';
>>>>>>> v1.3
}
}).catch(error => {
console.error('Error fetching pharmacy list:', error);
});
<<<<<<< HEAD
} else if(value === 17){ // 药库类型
getDispensaryList().then(res => {
console.log('getDispensaryList response:', res);
if (res && res.data) {
sourceTypeListOptions.value = res.data;
if(!type && res.data.length > 0) {
receiptHeaderForm.sourceLocationId = res.data[0].id;
}
=======
} else if (value == 11) {
getDispensaryList().then((res) => {
sourceTypeListOptions.value = res.data;
if (!route.query.supplyBusNo && !type) {
receiptHeaderForm.sourceLocationId = '';
receiptHeaderForm.sourceLocationId1 = '';
>>>>>>> v1.3
}
}).catch(error => {
console.error('Error fetching dispensary list:', error);
@@ -1440,52 +1210,6 @@ function getTransferProductTypeList() {
categoryListOptions.value = response.data.categoryListOptions;
});
}
<<<<<<< HEAD
function getBusNoInitList() {
if(route.query.supplyBusNo||(forms.purchaseinventoryList&&forms.purchaseinventoryList[0]&&forms.purchaseinventoryList[0].id)){ // 编辑
store.clearCurrentDataPLDB()
store.clearCurrentDataPLDBAll()
receiptHeaderForm.busNo = route.query.supplyBusNo?route.query.supplyBusNo:receiptHeaderForm.busNo
viewStatus.value = route.query.view
data.isEdit = true;
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)
})
sessionStorage.setItem('busNopl',"")
}else{ //新增
data.isEdit = false;
if(!sessionStorage.getItem('busNopl')){
store.clearCurrentDataPLDB()
store.clearCurrentDataPLDBAll()
getBusNoInit().then((response) => {
receiptHeaderForm.busNo = response.data.busNo;
sessionStorage.setItem('busNopl', receiptHeaderForm.busNo)
})
}else{
receiptHeaderForm.busNo = sessionStorage.getItem('busNopl')
}
}
}
// 初始化函数
function initComponent() {
console.log('initComponent called');
getTransferProductTypeList();
getBusNoInitList();
console.log('组件初始化完成,仓库列表数据已预先设置');
}
// 调用初始化函数
initComponent();
=======
getTransferProductTypeList();
// 导出
@@ -1503,7 +1227,6 @@ function handleExport() {
`批量调拨单据明细记录_${proxy.formatDateStr(new Date(), 'YYYY-MM-DD')}.xlsx`
);
}
>>>>>>> v1.3
</script>
<style scoped>
.custom-tree-node {