|
@@ -1,15 +1,11 @@
|
|
<template>
|
|
<template>
|
|
- <el-drawer
|
|
|
|
- title="批次信息"
|
|
|
|
- :with-header="false"
|
|
|
|
- v-model="visible"
|
|
|
|
- direction="rtl"
|
|
|
|
- size="100%"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-drawer title="批次信息" :with-header="false" v-model="visible" direction="rtl" size="100%">
|
|
<div class="page-container form-container">
|
|
<div class="page-container form-container">
|
|
<div class="form-btns-container">
|
|
<div class="form-btns-container">
|
|
<span class="title-label">
|
|
<span class="title-label">
|
|
- <el-icon><Document /></el-icon>
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
+ <Document />
|
|
|
|
+ </el-icon>
|
|
<span>批次信息</span>
|
|
<span>批次信息</span>
|
|
</span>
|
|
</span>
|
|
<el-button type="primary" @click="handleSave()"> 保存 </el-button>
|
|
<el-button type="primary" @click="handleSave()"> 保存 </el-button>
|
|
@@ -42,14 +38,11 @@
|
|
<span class="rightInfo">{{ detailInfo.productionQuantity }}</span>
|
|
<span class="rightInfo">{{ detailInfo.productionQuantity }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-row
|
|
|
|
- :gutter="20"
|
|
|
|
- style="
|
|
|
|
|
|
+ <el-row :gutter="20" style="
|
|
margin-top: 15px;
|
|
margin-top: 15px;
|
|
padding-bottom: 10px;
|
|
padding-bottom: 10px;
|
|
border-bottom: 1px solid #999;
|
|
border-bottom: 1px solid #999;
|
|
- "
|
|
|
|
- >
|
|
|
|
|
|
+ ">
|
|
<el-col :span="4">
|
|
<el-col :span="4">
|
|
<span class="leftInfo">总批数</span>
|
|
<span class="leftInfo">总批数</span>
|
|
<span class="rightInfo">{{ detailInfo.totalLotNumber }}</span>
|
|
<span class="rightInfo">{{ detailInfo.totalLotNumber }}</span>
|
|
@@ -76,10 +69,11 @@
|
|
|
|
|
|
<el-row :gutter="20" style="margin-top: 15px; margin-bottom: 15px">
|
|
<el-row :gutter="20" style="margin-top: 15px; margin-bottom: 15px">
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
- <el-button type="primary" v-hasPermi="['business:productionBatch:addLot']" @click="handleAdd()">
|
|
|
|
|
|
+ <el-button type="primary" v-hasPermi="['business:productionBatch:addLot']" @click="handleAdd()">
|
|
追增批次
|
|
追增批次
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button type="danger" v-hasPermi="['business:productionBatch:removeLot']" @click="handleMultiplyDelete()">
|
|
|
|
|
|
+ <el-button type="danger" v-hasPermi="['business:productionBatch:removeLot']"
|
|
|
|
+ @click="handleMultiplyDelete()">
|
|
删除
|
|
删除
|
|
</el-button>
|
|
</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -87,113 +81,47 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="el-table-container">
|
|
<div class="el-table-container">
|
|
- <el-table
|
|
|
|
- v-loading="loading"
|
|
|
|
- :data="lotList"
|
|
|
|
- size="small"
|
|
|
|
- border
|
|
|
|
- height="100%%"
|
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-table v-loading="loading" :data="lotList" size="small" border height="100%%"
|
|
|
|
+ @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="40" align="center" />
|
|
<el-table-column type="selection" width="40" align="center" />
|
|
- <el-table-column
|
|
|
|
- type="index"
|
|
|
|
- label="序号"
|
|
|
|
- width="50"
|
|
|
|
- align="center"
|
|
|
|
- />
|
|
|
|
- <el-table-column
|
|
|
|
- label="批次号"
|
|
|
|
- prop="lotCode"
|
|
|
|
- align="center"
|
|
|
|
- width="200px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-table-column type="index" label="序号" width="50" align="center" />
|
|
|
|
+ <el-table-column label="批次号" prop="lotCode" align="center" width="200px">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button v-if="scope.row.id!=null"
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- @click="handleColumnClick(scope.row.lotCode)"
|
|
|
|
- ><span>{{ scope.row.lotCode }}</span></el-button
|
|
|
|
- >
|
|
|
|
|
|
+ <el-button v-if="scope.row.id != null" link type="primary"
|
|
|
|
+ @click="handleColumnClick(scope.row.lotCode)"><span>{{ scope.row.lotCode }}</span></el-button>
|
|
<span v-else>{{ scope.row.lotCode }}</span>
|
|
<span v-else>{{ scope.row.lotCode }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column
|
|
|
|
- label="投产量"
|
|
|
|
- align="center"
|
|
|
|
- prop="productionQuantity"
|
|
|
|
- width="200px"
|
|
|
|
- >
|
|
|
|
- <template #default="scope">
|
|
|
|
- <el-input-number v-if="scope.row.editStatus"
|
|
|
|
- v-model="scope.row.productionQuantity"
|
|
|
|
- style="width: 200px"
|
|
|
|
- :min="0"
|
|
|
|
- :max="99999"
|
|
|
|
- :precision="0"
|
|
|
|
- controls-position="right"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-table-column label="投产量" align="center" prop="productionQuantity" width="200px">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-input-number v-if="scope.row.editStatus" v-model="scope.row.productionQuantity" style="width: 200px"
|
|
|
|
+ :min="0" :max="99999" :precision="0" controls-position="right" />
|
|
<span v-else>{{ scope.row.productionQuantity }}</span>
|
|
<span v-else>{{ scope.row.productionQuantity }}</span>
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- label="追增批次"
|
|
|
|
- align="center"
|
|
|
|
- prop="isSuperaddition"
|
|
|
|
- width="200"
|
|
|
|
- >
|
|
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="追增批次" align="center" prop="isSuperaddition" width="200">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <dict-tag
|
|
|
|
- :options="yes_no"
|
|
|
|
- :value="scope.row.isSuperaddition"
|
|
|
|
- /> </template
|
|
|
|
- ></el-table-column>
|
|
|
|
|
|
+ <dict-tag :options="yes_no" :value="scope.row.isSuperaddition" /> </template></el-table-column>
|
|
<el-table-column label="标识" align="center">
|
|
<el-table-column label="标识" align="center">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-tag
|
|
|
|
- v-if="scope.row.isWaste == 1"
|
|
|
|
- class="spacing"
|
|
|
|
- type="danger"
|
|
|
|
- >{{ "批废" }}</el-tag
|
|
|
|
- >
|
|
|
|
- <el-tag
|
|
|
|
- v-if="scope.row.isAmend == 1"
|
|
|
|
- class="spacing"
|
|
|
|
- type="danger"
|
|
|
|
- >{{ "工艺修改" }}</el-tag
|
|
|
|
- >
|
|
|
|
- <el-tag
|
|
|
|
- v-if="scope.row.isWasteRecycling == 1"
|
|
|
|
- class="spacing"
|
|
|
|
- type="primary"
|
|
|
|
- >{{ "废品回用" }}</el-tag
|
|
|
|
- >
|
|
|
|
- <el-tag v-if="scope.row.fromId !=null&&scope.row.fromId != 0 " class="spacing" type="warning">{{ "分批" }}</el-tag>
|
|
|
|
|
|
+ <el-tag v-if="scope.row.isWaste == 1" class="spacing" type="danger">{{ "批废" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.isAmend == 1" class="spacing" type="danger">{{ "工艺修改" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.isWasteRecycling == 1" class="spacing" type="primary">{{ "废品回用" }}</el-tag>
|
|
|
|
+ <el-tag v-if="scope.row.fromId != null && scope.row.fromId != 0" class="spacing" type="warning">{{ "分批"
|
|
|
|
+ }}</el-tag>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="操作" width="200px" align="center">
|
|
<el-table-column label="操作" width="200px" align="center">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button
|
|
|
|
- v-if="
|
|
|
|
- !scope.row.editStatus &&
|
|
|
|
- scope.row.isSuperaddition == 1 &&
|
|
|
|
- !scope.row.hasDaywork
|
|
|
|
- "
|
|
|
|
- link
|
|
|
|
- type="primary"
|
|
|
|
- v-hasPermi="['business:productionBatch:editLot']"
|
|
|
|
- @click="handleUpDate(scope.row)"
|
|
|
|
- >修改</el-button
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- v-if="scope.row.isSuperaddition == 1 &&
|
|
|
|
- !scope.row.hasDaywork"
|
|
|
|
- link
|
|
|
|
- type="danger"
|
|
|
|
- v-hasPermi="['business:productionBatch:removeLot']"
|
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
|
- >删除</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ <el-button v-if="
|
|
|
|
+ !scope.row.editStatus &&
|
|
|
|
+ scope.row.isSuperaddition == 1 &&
|
|
|
|
+ !scope.row.hasDaywork
|
|
|
|
+ " link type="primary" v-hasPermi="['business:productionBatch:editLot']"
|
|
|
|
+ @click="handleUpDate(scope.row)">修改</el-button>
|
|
|
|
+ <el-button v-if="scope.row.isSuperaddition == 1 &&
|
|
|
|
+ !scope.row.hasDaywork" link type="danger" v-hasPermi="['business:productionBatch:removeLot']"
|
|
|
|
+ @click="handleDelete(scope.row)">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -205,7 +133,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import { getAllLot,getLastLot } from "@/api/business/lot.js";
|
|
|
|
|
|
+import { getAllLot, getLastLot, getLastLotBeforeGen } from "@/api/business/lot.js";
|
|
import { addLot } from "@/api/business/productionPlanDetail.js";
|
|
import { addLot } from "@/api/business/productionPlanDetail.js";
|
|
import router from "@/router";
|
|
import router from "@/router";
|
|
import addLotDialog from "./DialogAddLot.vue"
|
|
import addLotDialog from "./DialogAddLot.vue"
|
|
@@ -251,63 +179,63 @@ function handleMultiplyDelete() {
|
|
flag = false
|
|
flag = false
|
|
proxy.$modal.msgError("不能删除不是追加的批次");
|
|
proxy.$modal.msgError("不能删除不是追加的批次");
|
|
return;
|
|
return;
|
|
- }else{
|
|
|
|
- if(item.hasDaywork) {
|
|
|
|
- flag = false
|
|
|
|
- proxy.$modal.msgError(item.lotCode+"有投产,不能删除");
|
|
|
|
- return
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (item.hasDaywork) {
|
|
|
|
+ flag = false
|
|
|
|
+ proxy.$modal.msgError(item.lotCode + "有投产,不能删除");
|
|
|
|
+ return
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
});
|
|
});
|
|
- if(flag) {
|
|
|
|
- lotList.value = lotList.value.filter(
|
|
|
|
|
|
+ if (flag) {
|
|
|
|
+ lotList.value = lotList.value.filter(
|
|
(item) => !selections.value.some((selectedItem) => selectedItem === item))
|
|
(item) => !selections.value.some((selectedItem) => selectedItem === item))
|
|
- getLastLotCode()
|
|
|
|
- //判断列表的追加批次是不是都删完了,如果曾经有,但是删完了,则添加追加批次时的批次号做判断
|
|
|
|
- lotList.value.findIndex(item => item.isSuperaddition == 1) == -1 ? hadSuperaddition.value = true : hadSuperaddition.value = false
|
|
|
|
- detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber - selections.value.length
|
|
|
|
- }
|
|
|
|
|
|
+ getLastLotCode()
|
|
|
|
+ //判断列表的追加批次是不是都删完了,如果曾经有,但是删完了,则添加追加批次时的批次号做判断
|
|
|
|
+ lotList.value.findIndex(item => item.isSuperaddition == 1) == -1 ? hadSuperaddition.value = true : hadSuperaddition.value = false
|
|
|
|
+ detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber - selections.value.length
|
|
|
|
+ }
|
|
}
|
|
}
|
|
function getLastLotCode() {
|
|
function getLastLotCode() {
|
|
const maxLotCodeObj = lotList.value.reduce((max, current) => {
|
|
const maxLotCodeObj = lotList.value.reduce((max, current) => {
|
|
- // 提取每个lotCode中间的三位数,并转换为数字
|
|
|
|
- const maxCode = parseInt(max.lotCode.substr(8, 3), 10);
|
|
|
|
- const currentCode = parseInt(current.lotCode.substr(8, 3), 10);
|
|
|
|
- // 比较并返回具有最大值的对象
|
|
|
|
- return currentCode > maxCode ? current : max;
|
|
|
|
-});
|
|
|
|
|
|
+ // 提取每个lotCode中间的三位数,并转换为数字
|
|
|
|
+ const maxCode = parseInt(max.lotCode.substr(8, 3), 10);
|
|
|
|
+ const currentCode = parseInt(current.lotCode.substr(8, 3), 10);
|
|
|
|
+ // 比较并返回具有最大值的对象
|
|
|
|
+ return currentCode > maxCode ? current : max;
|
|
|
|
+ });
|
|
|
|
|
|
-// 输出最大的lotCode
|
|
|
|
-console.log(maxLotCodeObj.lotCode);
|
|
|
|
-lastLot.value = maxLotCodeObj.lotCode
|
|
|
|
|
|
+ // 输出最大的lotCode
|
|
|
|
+ console.log(maxLotCodeObj.lotCode);
|
|
|
|
+ lastLot.value = maxLotCodeObj.lotCode
|
|
}
|
|
}
|
|
//删除
|
|
//删除
|
|
function handleDelete(row) {
|
|
function handleDelete(row) {
|
|
if (row.isSuperaddition == 0) {
|
|
if (row.isSuperaddition == 0) {
|
|
- proxy.$modal.msgError("不能删除不是追加的批次");
|
|
|
|
- return;
|
|
|
|
- }else{
|
|
|
|
- if(row.hasDaywork) {
|
|
|
|
- proxy.$modal.msgError(row.lotCode+"有投产,不能删除");
|
|
|
|
|
|
+ proxy.$modal.msgError("不能删除不是追加的批次");
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ if (row.hasDaywork) {
|
|
|
|
+ proxy.$modal.msgError(row.lotCode + "有投产,不能删除");
|
|
return
|
|
return
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
lotList.value.splice(lotList.value.indexOf(row), 1);
|
|
lotList.value.splice(lotList.value.indexOf(row), 1);
|
|
getLastLotCode()
|
|
getLastLotCode()
|
|
lotList.value.findIndex(item => item.isSuperaddition == 1) == -1 ? hadSuperaddition.value = true : hadSuperaddition.value = false
|
|
lotList.value.findIndex(item => item.isSuperaddition == 1) == -1 ? hadSuperaddition.value = true : hadSuperaddition.value = false
|
|
- detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber - 1
|
|
|
|
|
|
+ detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber - 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//修改
|
|
//修改
|
|
function handleUpDate(row) {
|
|
function handleUpDate(row) {
|
|
- row.editStatus = true
|
|
|
|
|
|
+ row.editStatus = true
|
|
}
|
|
}
|
|
|
|
|
|
function getLotList(row) {
|
|
function getLotList(row) {
|
|
loading.value = true;
|
|
loading.value = true;
|
|
- getAllLot({id:row.id}).then((res) => {
|
|
|
|
|
|
+ getAllLot({ id: row.id }).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
- res.data.forEach(item =>{
|
|
|
|
|
|
+ res.data.forEach(item => {
|
|
item.editStatus = false
|
|
item.editStatus = false
|
|
})
|
|
})
|
|
lotList.value = res.data;
|
|
lotList.value = res.data;
|
|
@@ -319,31 +247,31 @@ function getLotList(row) {
|
|
function handleSave() {
|
|
function handleSave() {
|
|
let superadditionList = lotList.value.filter(item => item.isSuperaddition == 1)
|
|
let superadditionList = lotList.value.filter(item => item.isSuperaddition == 1)
|
|
let flag = true
|
|
let flag = true
|
|
- superadditionList.forEach(item =>{
|
|
|
|
- if(item.productionQuantity ==0) {
|
|
|
|
|
|
+ superadditionList.forEach(item => {
|
|
|
|
+ if (item.productionQuantity == 0) {
|
|
flag = false
|
|
flag = false
|
|
- proxy.$modal.msgError(item.lotCode+"追加批次投产数量不能为0");
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- if(flag) {
|
|
|
|
- detailInfo.value.lotList = superadditionList
|
|
|
|
- console.log(detailInfo.value)
|
|
|
|
- addLot(detailInfo.value).then((res) => {
|
|
|
|
- if (res.code == 200) {
|
|
|
|
- proxy.$modal.msgSuccess("保存成功");
|
|
|
|
- emit("handleSaveSuccess");
|
|
|
|
- visible.value = false;
|
|
|
|
|
|
+ proxy.$modal.msgError(item.lotCode + "追加批次投产数量不能为0");
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
+ if (flag) {
|
|
|
|
+ detailInfo.value.lotList = superadditionList
|
|
|
|
+ console.log(detailInfo.value)
|
|
|
|
+ addLot(detailInfo.value).then((res) => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ proxy.$modal.msgSuccess("保存成功");
|
|
|
|
+ emit("handleSaveSuccess");
|
|
|
|
+ visible.value = false;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//追加批次
|
|
//追加批次
|
|
function handleAdd() {
|
|
function handleAdd() {
|
|
//判断如果此时已经追加了,但没保存
|
|
//判断如果此时已经追加了,但没保存
|
|
- if(lotList.value.findIndex(item => item.id == null) > -1 ||hadSuperaddition.value) {
|
|
|
|
|
|
+ if (lotList.value.findIndex(item => item.id == null) > -1 || hadSuperaddition.value) {
|
|
proxy.$refs.addLotDialogRef.open(lastLot.value)
|
|
proxy.$refs.addLotDialogRef.open(lastLot.value)
|
|
- }else {
|
|
|
|
- getLastLot({
|
|
|
|
|
|
+ } else {
|
|
|
|
+ getLastLotBeforeGen({
|
|
productionPlanDetailId: detailInfo.value.id,
|
|
productionPlanDetailId: detailInfo.value.id,
|
|
}).then((res) => {
|
|
}).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
@@ -356,12 +284,14 @@ function handleAdd() {
|
|
//批次带回
|
|
//批次带回
|
|
function handleAddLotNum(data) {
|
|
function handleAddLotNum(data) {
|
|
lastLot.value = data[data.length - 1]
|
|
lastLot.value = data[data.length - 1]
|
|
- detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber + data.length
|
|
|
|
|
|
+ detailInfo.value.superadditionTotalNumber = detailInfo.value.superadditionTotalNumber + data.length
|
|
console.log(data)
|
|
console.log(data)
|
|
- data.forEach(item =>{
|
|
|
|
- lotList.value.unshift({id:null,lotCode:item,productionQuantity:detailInfo.value.oneLotQuantity,isSuperaddition:1, editStatus: true,
|
|
|
|
- productionPlanDetailId:detailInfo.value.id,technologicalProcessId:detailInfo.value.technologicalProcessId,
|
|
|
|
- technologyVersion:detailInfo.value.technologyVersion,productId:detailInfo.value.productId})
|
|
|
|
|
|
+ data.forEach(item => {
|
|
|
|
+ lotList.value.unshift({
|
|
|
|
+ id: null, lotCode: item, productionQuantity: detailInfo.value.oneLotQuantity, isSuperaddition: 1, editStatus: true,
|
|
|
|
+ productionPlanDetailId: detailInfo.value.id, technologicalProcessId: detailInfo.value.technologicalProcessId,
|
|
|
|
+ technologyVersion: detailInfo.value.technologyVersion, productId: detailInfo.value.productId
|
|
|
|
+ })
|
|
})
|
|
})
|
|
}
|
|
}
|
|
/** 打开批次详情页 */
|
|
/** 打开批次详情页 */
|
|
@@ -380,20 +310,21 @@ defineExpose({
|
|
width: 120px;
|
|
width: 120px;
|
|
display: inline-block;
|
|
display: inline-block;
|
|
}
|
|
}
|
|
|
|
+
|
|
.middleInfo {
|
|
.middleInfo {
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
width: 120px;
|
|
width: 120px;
|
|
display: inline-block;
|
|
display: inline-block;
|
|
}
|
|
}
|
|
|
|
+
|
|
.rightInfo {
|
|
.rightInfo {
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
padding-left: 20px;
|
|
padding-left: 20px;
|
|
}
|
|
}
|
|
-:deep(
|
|
|
|
- .column-container > .el-drawer__wrapper .el-drawer__body,
|
|
|
|
- .column-container .el-drawer__body,
|
|
|
|
- .row-container .el-drawer__body
|
|
|
|
- ) {
|
|
|
|
|
|
+
|
|
|
|
+:deep(.column-container > .el-drawer__wrapper .el-drawer__body,
|
|
|
|
+ .column-container .el-drawer__body,
|
|
|
|
+ .row-container .el-drawer__body) {
|
|
padding: 8px;
|
|
padding: 8px;
|
|
margin-bottom: 20px;
|
|
margin-bottom: 20px;
|
|
}
|
|
}
|