修复耗材显示不全问题

This commit is contained in:
2026-03-30 16:09:01 +08:00
parent 51812fb0cc
commit e5cdf0a3dc
2 changed files with 95 additions and 29 deletions

View File

@@ -72,7 +72,7 @@ const AuthAPI = {
}); });
}, },
// 耗材列表 // 耗材列表分页
productcons(params: any) { productcons(params: any) {
return request<any, Responseres>({ return request<any, Responseres>({
url: `/product/admin/product/cons/page`, url: `/product/admin/product/cons/page`,
@@ -80,7 +80,14 @@ const AuthAPI = {
params params
}); });
}, },
// 耗材列表
productconsList(params: any) {
return request<any, Responseres>({
url: `/product/admin/product/cons/list`,
method: "get",
params
});
},
// 上下架 // 上下架
onOff(data: any) { onOff(data: any) {
return request<any, Responseres>({ return request<any, Responseres>({

View File

@@ -2,14 +2,26 @@
<div class="app-container"> <div class="app-container">
<!-- 列表 --> <!-- 列表 -->
<!-- 搜索 --> <!-- 搜索 -->
<page-search ref="searchRef" :search-config="searchConfig" @query-click="newHandleQueryClick" <page-search
@reset-click="handleResetClick2" /> ref="searchRef"
:search-config="searchConfig"
@query-click="newHandleQueryClick"
@reset-click="handleResetClick2"
/>
<!-- 顶部数据 --> <!-- 顶部数据 -->
<Statistics :data="gongjiData"></Statistics> <Statistics :data="gongjiData"></Statistics>
<!-- 列表 --> <!-- 列表 -->
<page-content ref="contentRef" :content-config="contentConfig" @add-click="handleAddClick" <page-content
@edit-click="handleEditClick" @export-click="handleExportClick" @search-click="handleSearchClick" ref="contentRef"
@toolbar-click="handleToolbarClick" @operat-click="handleOperatClick" @filter-change="handleFilterChange"> :content-config="contentConfig"
@add-click="handleAddClick"
@edit-click="handleEditClick"
@export-click="handleExportClick"
@search-click="handleSearchClick"
@toolbar-click="handleToolbarClick"
@operat-click="handleOperatClick"
@filter-change="handleFilterChange"
>
<!-- <template #status="scope"> <!-- <template #status="scope">
<el-tag :type="scope.row[scope.prop] == 1 ? 'success' : 'info'"> <el-tag :type="scope.row[scope.prop] == 1 ? 'success' : 'info'">
{{ scope.row[scope.prop] == 1 ? "启用" : "禁用" }} {{ scope.row[scope.prop] == 1 ? "启用" : "禁用" }}
@@ -25,11 +37,20 @@
<DictLabel v-model="scope.row[scope.prop]" code="gender" /> <DictLabel v-model="scope.row[scope.prop]" code="gender" />
</template> </template>
<template #shangjia="scope"> <template #shangjia="scope">
<el-switch v-model="scope.row[scope.prop]" :active-value="1" :inactive-value="0" <el-switch
@click="handleSwitchChange(scope.row)"></el-switch> v-model="scope.row[scope.prop]"
:active-value="1"
:inactive-value="0"
@click="handleSwitchChange(scope.row)"
></el-switch>
</template> </template>
<template #isStock="scope"> <template #isStock="scope">
<el-switch disabled v-model="scope.row[scope.prop]" :active-value="1" :inactive-value="0"></el-switch> <el-switch
disabled
v-model="scope.row[scope.prop]"
:active-value="1"
:inactive-value="0"
></el-switch>
</template> </template>
<template #kucunedit="scope"> <template #kucunedit="scope">
@@ -42,16 +63,29 @@
</template> </template>
<template #tuikuantuihui="scope"> <template #tuikuantuihui="scope">
<el-switch v-if="!scope.row.productId" v-model="scope.row[scope.prop]" :active-value="1" :inactive-value="0" <el-switch
@click="handleSwitchhaocai(scope.row)"></el-switch> v-if="!scope.row.productId"
v-model="scope.row[scope.prop]"
:active-value="1"
:inactive-value="0"
@click="handleSwitchhaocai(scope.row)"
></el-switch>
</template> </template>
<template #sellOut="scope"> <template #sellOut="scope">
<el-switch v-model="scope.row[scope.prop]" :active-value="1" :inactive-value="0" <el-switch
@click="handleSwitchChangeTwo(scope.row)"></el-switch> v-model="scope.row[scope.prop]"
:active-value="1"
:inactive-value="0"
@click="handleSwitchChangeTwo(scope.row)"
></el-switch>
</template> </template>
<template #mobile="scope"> <template #mobile="scope">
<el-text>{{ scope.row[scope.prop] }}</el-text> <el-text>{{ scope.row[scope.prop] }}</el-text>
<copy-button v-if="scope.row[scope.prop]" :text="scope.row[scope.prop]" style="margin-left: 2px" /> <copy-button
v-if="scope.row[scope.prop]"
:text="scope.row[scope.prop]"
style="margin-left: 2px"
/>
</template> </template>
<template #consumables="scope"> <template #consumables="scope">
<template v-if="scope.row.type != null"> <template v-if="scope.row.type != null">
@@ -74,7 +108,11 @@
</page-modal> </page-modal>
<!-- 编辑 --> <!-- 编辑 -->
<page-modal ref="editModalRef" :modal-config="editModalConfig" @submit-click="handleSubmitClick"> <page-modal
ref="editModalRef"
:modal-config="editModalConfig"
@submit-click="handleSubmitClick"
>
<template #gender="scope"> <template #gender="scope">
<Dict v-model="scope.formData[scope.prop]" code="gender" v-bind="scope.attrs" /> <Dict v-model="scope.formData[scope.prop]" code="gender" v-bind="scope.attrs" />
</template> </template>
@@ -121,16 +159,30 @@
<el-table-column label="序号" type="index" width="60"></el-table-column> <el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="耗材名称" prop="consInfoId"> <el-table-column label="耗材名称" prop="consInfoId">
<template v-slot="scope"> <template v-slot="scope">
<el-select v-model="scope.row.consInfoId" reserve-keyword placeholder="请输入关键词" <el-select
@change="selectionChange($event, scope.row)"> v-model="scope.row.consInfoId"
<el-option v-for="item in options" :key="item.id" :label="item.conName" :value="item.id"></el-option> reserve-keyword
placeholder="请输入关键词"
@change="selectionChange($event, scope.row)"
>
<el-option
v-for="item in options"
:key="item.id"
:label="item.conName"
:value="item.id"
></el-option>
</el-select> </el-select>
<!-- <div class="tips" v-if="scope.row.stockNumber">库存{{ scope.row.stockNumber }}</div> --> <!-- <div class="tips" v-if="scope.row.stockNumber">库存{{ scope.row.stockNumber }}</div> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位" prop="conUnit"> <el-table-column label="单位" prop="conUnit">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.conUnit" readonly disabled placeholder="请选择耗材"></el-input> <el-input
v-model="scope.row.conUnit"
readonly
disabled
placeholder="请选择耗材"
></el-input>
<!-- <el-select v-model="scope.row.conUnit" reserve-keyword placeholder="请输入关键词"> <!-- <el-select v-model="scope.row.conUnit" reserve-keyword placeholder="请输入关键词">
<el-option <el-option
v-for="item in returnConUnits(scope.row.consInfoId)" v-for="item in returnConUnits(scope.row.consInfoId)"
@@ -149,13 +201,20 @@
<el-table-column label="操作" width="100"> <el-table-column label="操作" width="100">
<template v-slot="scope"> <template v-slot="scope">
<div class="table_btn_wrap"> <div class="table_btn_wrap">
<div class="btn sub" v-if="haocaiData.consList.length > 1" <div
@click="haocaiData.consList.splice(scope.$index, 1)"> class="btn sub"
v-if="haocaiData.consList.length > 1"
@click="haocaiData.consList.splice(scope.$index, 1)"
>
<el-icon> <el-icon>
<RemoveFilled /> <RemoveFilled />
</el-icon> </el-icon>
</div> </div>
<div class="btn add" v-if="scope.$index == haocaiData.consList.length - 1" @click="createItem(scope.row)"> <div
class="btn add"
v-if="scope.$index == haocaiData.consList.length - 1"
@click="createItem(scope.row)"
>
<el-icon> <el-icon>
<CirclePlusFilled /> <CirclePlusFilled />
</el-icon> </el-icon>
@@ -255,8 +314,8 @@ onMounted(async () => {
// 获取耗材列表 // 获取耗材列表
gethaocaiList(); gethaocaiList();
const res = await UserAPI.getPage() const res = await UserAPI.getPage();
form.warnLine = res.warnLine || '' form.warnLine = res.warnLine || "";
// console.log('contentRef.value===', res); // console.log('contentRef.value===', res);
}); });
@@ -310,7 +369,7 @@ function getTongji(params: IObject | undefined) {
// 显示批量导入 // 显示批量导入
function handleUploadClick() { function handleUploadClick() {
importDataRef.value.show() importDataRef.value.show();
} }
// 导出商品 // 导出商品
@@ -398,7 +457,7 @@ async function handleToolbarClick(name: string) {
ElMessage.success("操作成功,数据正在后台同步中..."); ElMessage.success("操作成功,数据正在后台同步中...");
} }
if (name === "upload") { if (name === "upload") {
importDataRef.value.show() importDataRef.value.show();
} }
} }
async function confirm() { async function confirm() {
@@ -451,8 +510,8 @@ async function handleOperatClick(data: IOperatData) {
} }
async function gethaocaiList() { async function gethaocaiList() {
let res = await UserAPI.productcons({ id: route.query.id }); let res = await UserAPI.productconsList({ id: route.query.id });
options.value = res.records; options.value = res || [];
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">