提交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

@@ -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();
});