|
|
|
@ -128,15 +128,15 @@ |
|
|
|
<el-input v-model="modalData.partNo" style="width: 128px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="物料描述" prop="partDesc" style="margin-left: -10px"> |
|
|
|
<el-input v-model="modalData.partDesc" clearable style="width: 330px"></el-input> |
|
|
|
<el-input v-model="modalData.partDesc" clearable style="width: 346px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="物料描述(英文)"> |
|
|
|
<el-input v-model="modalData.partDesceEn" style="width: 330px"></el-input> |
|
|
|
<el-input v-model="modalData.partDesceEn" style="width: 477px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item prop="spec" label="规格"> |
|
|
|
<el-input v-model="modalData.spec" style="width: 463px"></el-input> |
|
|
|
<el-input v-model="modalData.spec" style="width: 477px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="BU" prop="bu"> |
|
|
|
<el-select v-model="modalData.bu" placeholder="请选择" :disabled="modalDisableFlag" style="width: 216px"> |
|
|
|
@ -163,8 +163,17 @@ |
|
|
|
<el-tabs v-model="inventoryPartTable" style="width: 100%;height: 345px;" type="border-card" @tab-click="inventoryPartClick"> |
|
|
|
<el-tab-pane label="General" name="General"> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item label="PN"> |
|
|
|
<el-input v-model="modalData.cinvSourceCode" style="width: 144px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="SKU"> |
|
|
|
<el-input v-model="modalData.sku" style="width: 144px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="cinvcname"> |
|
|
|
<el-input v-model="modalData.cinvcname" style="width: 145px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Part Type"> |
|
|
|
<el-select v-model="modalData.partType" style="width: 224px"> |
|
|
|
<el-select v-model="modalData.partType" style="width: 160px"> |
|
|
|
<el-option label="Manufactured" value="Manufactured"></el-option> |
|
|
|
<el-option label="Manufactured Recipe" value="Manufactured Recipe"></el-option> |
|
|
|
<el-option label="Purchased (raw)" value="Purchased (raw)"></el-option> |
|
|
|
@ -172,26 +181,10 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="物料类别"> |
|
|
|
<el-input v-model="modalData.invdefinetype" style="width: 224px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="umId"> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(510)"><a herf="#">计量单位 / Inventory UoM</a></span> |
|
|
|
<el-input v-model="modalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.umName" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item label="PN"> |
|
|
|
<el-input v-model="modalData.cinvSourceCode" style="width: 224px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="SKU"> |
|
|
|
<el-input v-model="modalData.sku" style="width: 224px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="cinvcname"> |
|
|
|
<el-input v-model="modalData.cinvcname" style="width: 224px"></el-input> |
|
|
|
<el-input v-model="modalData.invdefinetype" style="width: 174px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="controlMes" label="controlMes"> |
|
|
|
<el-select v-model="modalData.controlMes" style="width: 224px"> |
|
|
|
<el-select v-model="modalData.controlMes" style="width: 100px"> |
|
|
|
<el-option label="是" value="Y"></el-option> |
|
|
|
<el-option label="否" value="N"></el-option> |
|
|
|
</el-select> |
|
|
|
@ -207,17 +200,17 @@ |
|
|
|
<el-form-item label="Standard Box Qty"> |
|
|
|
<el-input v-model="modalData.standardBoxQty" style="width: 145px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(511)"><a herf="#">默认仓库</a></span> |
|
|
|
<el-input v-model="modalData.defaultWarehouseID" @blur="defaultWarehouseBlur(511)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.defaultWarehouseName" disabled style="width: 330px"></el-input> |
|
|
|
<el-form-item prop="umId"> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(510)"><a herf="#">计量单位 / Inventory UoM</a></span> |
|
|
|
<el-input v-model="modalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.umName" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(214)"><a herf="#">物料分类</a></span> |
|
|
|
<el-input v-model="modalData.familyID" @blur="partFamilyBlur(214)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.familyName" disabled style="width: 330px"></el-input> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(511)"><a herf="#">默认仓库</a></span> |
|
|
|
<el-input v-model="modalData.defaultWarehouseID" @blur="defaultWarehouseBlur(511)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.defaultWarehouseName" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(211)"><a herf="#">商品组1</a></span> |
|
|
|
@ -226,11 +219,23 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(214)"><a herf="#">物料分类</a></span> |
|
|
|
<el-input v-model="modalData.familyID" @blur="partFamilyBlur(214)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.familyName" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(212)"><a herf="#">商品组2</a></span> |
|
|
|
<el-input v-model="modalData.otherGroup2" @blur="productGroupId2Blur(212)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.otherGroupName2" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
|
<el-form-item prop="codeNo" :rules="rules.codeNo"> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(219)"><a herf="#">属性模板</a></span> |
|
|
|
<el-input v-model="modalData.codeNo" @blur="modelBlur(219)" style="width: 128px"></el-input> |
|
|
|
<el-input v-model="modalData.codeDesc" disabled style="width: 330px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<span style="cursor: pointer" slot="label" @click="getBaseList(213)"><a herf="#">商品组3</a></span> |
|
|
|
<el-input v-model="modalData.otherGroup3" @blur="productGroupId3Blur(213)" style="width: 128px"></el-input> |
|
|
|
@ -276,80 +281,80 @@ |
|
|
|
|
|
|
|
<!-- 页签 --> |
|
|
|
<el-tabs v-model="activeTable" style="width: 100%" :style="{height: secondHeight + 'px'}" type="border-card" @tab-click="tabClick" class="customer-tab"> |
|
|
|
<!-- <!– 物料属性页签 –>--> |
|
|
|
<!-- <el-tab-pane label="物料属性" name="part_item">--> |
|
|
|
<!-- <el-form label-position="top" style="margin-top: 2px; margin-left: 2px;">--> |
|
|
|
<!-- <el-button type="primary" @click="addOrDelItem">新增</el-button>--> |
|
|
|
<!-- <el-button type="primary" :loading="loading" @click="clickSave">{{ attributeDialog?'编辑':'保存' }}</el-button>--> |
|
|
|
<!-- </el-form>--> |
|
|
|
<!-- <div class="rq " v-if="attributeDialog">--> |
|
|
|
<!-- <el-table--> |
|
|
|
<!-- :data="partItemList"--> |
|
|
|
<!-- :height="secondHeight - 50"--> |
|
|
|
<!-- border--> |
|
|
|
<!-- style="width: 100%;">--> |
|
|
|
<!-- <el-table-column--> |
|
|
|
<!-- v-for="(item,index) in columnItemList" :key="index"--> |
|
|
|
<!-- :sortable="item.columnSortable"--> |
|
|
|
<!-- :prop="item.columnProp"--> |
|
|
|
<!-- :header-align="item.headerAlign"--> |
|
|
|
<!-- :show-overflow-tooltip="item.showOverflowTooltip"--> |
|
|
|
<!-- :align="item.align"--> |
|
|
|
<!-- :fixed="item.fixed==''?false:item.fixed"--> |
|
|
|
<!-- :min-width="item.columnWidth"--> |
|
|
|
<!-- :label="item.columnLabel">--> |
|
|
|
<!-- <template slot-scope="scope">--> |
|
|
|
<!-- <div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">--> |
|
|
|
<!-- <span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>--> |
|
|
|
<!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- <div v-else>--> |
|
|
|
<!-- {{scope.row.textValue?scope.row.textValue:scope.row.numValue}}--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- </template>--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<!-- </el-table>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- <div class="rq " v-else>--> |
|
|
|
<!-- <el-table--> |
|
|
|
<!-- :data="copyAttributeList"--> |
|
|
|
<!-- :height="secondHeight - 60"--> |
|
|
|
<!-- border--> |
|
|
|
<!-- style="width: 100%">--> |
|
|
|
<!-- <el-table-column--> |
|
|
|
<!-- v-for="(item,index) in columnItemList" :key="index"--> |
|
|
|
<!-- :sortable="item.columnSortable"--> |
|
|
|
<!-- :prop="item.columnProp"--> |
|
|
|
<!-- :header-align="item.headerAlign"--> |
|
|
|
<!-- :show-overflow-tooltip="item.showOverflowTooltip"--> |
|
|
|
<!-- :align="item.align"--> |
|
|
|
<!-- :fixed="item.fixed===''?false:item.fixed"--> |
|
|
|
<!-- :min-width="item.columnWidth"--> |
|
|
|
<!-- :label="item.columnLabel">--> |
|
|
|
<!-- <template slot-scope="scope">--> |
|
|
|
<!-- <div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">--> |
|
|
|
<!-- <span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>--> |
|
|
|
<!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- <div v-else>--> |
|
|
|
<!-- <div v-if="scope.row.valueChooseFlag !== 'Y'">--> |
|
|
|
<!-- <el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueTypeDb === 'N'" :controls="false"></el-input-number>--> |
|
|
|
<!-- <el-input v-model="scope.row.textValue" v-else></el-input>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- <div v-else>--> |
|
|
|
<!-- <el-select style="width: 100%;" v-if="scope.row.valueTypeDb === 'T'" v-model="scope.row.textValue">--> |
|
|
|
<!-- <el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :key="key"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<!-- <el-select style="width: 100%;" v-else v-model="scope.row.numValue">--> |
|
|
|
<!-- <el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :key="key"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- </template>--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<!-- </el-table>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- </el-tab-pane>--> |
|
|
|
<!-- 物料属性页签 --> |
|
|
|
<el-tab-pane label="物料属性" name="part_item"> |
|
|
|
<el-form label-position="top" style="margin-top: 2px; margin-left: 2px;"> |
|
|
|
<el-button type="primary" @click="addOrDelItem">新增</el-button> |
|
|
|
<el-button type="primary" :loading="loading" @click="clickSave">{{ attributeDialog?'编辑':'保存' }}</el-button> |
|
|
|
</el-form> |
|
|
|
<div class="rq " v-if="attributeDialog"> |
|
|
|
<el-table |
|
|
|
:data="partItemList" |
|
|
|
:height="secondHeight - 50" |
|
|
|
border |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in columnItemList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed==''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
{{scope.row.textValue?scope.row.textValue:scope.row.numValue}} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<div class="rq " v-else> |
|
|
|
<el-table |
|
|
|
:data="copyAttributeList" |
|
|
|
:height="secondHeight - 60" |
|
|
|
border |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in columnItemList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed===''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'"> |
|
|
|
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<div v-if="scope.row.valueChooseFlag !== 'Y'"> |
|
|
|
<el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueTypeDb === 'N'" :controls="false"></el-input-number> |
|
|
|
<el-input v-model="scope.row.textValue" v-else></el-input> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<el-select style="width: 100%;" v-if="scope.row.valueTypeDb === 'T'" v-model="scope.row.textValue"> |
|
|
|
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :key="key"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-select style="width: 100%;" v-else v-model="scope.row.numValue"> |
|
|
|
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :key="key"></el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</el-tab-pane> |
|
|
|
|
|
|
|
<!-- 代理商页签 --> |
|
|
|
<el-tab-pane label="代理商" name="part_agent"> |
|
|
|
@ -1124,7 +1129,7 @@ |
|
|
|
// 其它 |
|
|
|
loading: false, |
|
|
|
// 初始页签 |
|
|
|
activeTable: 'part_agent', |
|
|
|
activeTable: 'part_item', |
|
|
|
inventoryPartTable: 'General', |
|
|
|
// ======== 数据对象 ======== |
|
|
|
modalData: { |
|
|
|
@ -1540,7 +1545,7 @@ |
|
|
|
columnProp: 'textValue', |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
columnLabel: '实测值', |
|
|
|
columnLabel: '属性值', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
status: true, |
|
|
|
@ -2223,6 +2228,7 @@ |
|
|
|
this.itemData.itemDesc = '' |
|
|
|
let tempData = { |
|
|
|
site: this.partCurrentRow.site, |
|
|
|
buNo: this.partCurrentRow.buNo, |
|
|
|
partNo: this.partCurrentRow.partNo, |
|
|
|
codeNo: this.partCurrentRow.codeNo, |
|
|
|
recordType: 'IP' |
|
|
|
@ -2259,7 +2265,8 @@ |
|
|
|
return |
|
|
|
} |
|
|
|
let inData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
site: this.partCurrentRow.site, |
|
|
|
buNo: this.partCurrentRow.buNo, |
|
|
|
partNo: this.partCurrentRow.partNo, |
|
|
|
codeNo: this.partCurrentRow.codeNo, |
|
|
|
codeDesc: this.partCurrentRow.codeDesc, |
|
|
|
@ -2291,7 +2298,8 @@ |
|
|
|
return false |
|
|
|
} |
|
|
|
let inData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
site: this.partCurrentRow.site, |
|
|
|
buNo: this.partCurrentRow.buNo, |
|
|
|
partNo: this.partCurrentRow.partNo, |
|
|
|
codeNo: this.partCurrentRow.codeNo, |
|
|
|
codeDesc: this.partCurrentRow.codeDesc, |
|
|
|
@ -2431,7 +2439,8 @@ |
|
|
|
*/ |
|
|
|
getPartItem () { |
|
|
|
let tempData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
site: this.partCurrentRow.site, |
|
|
|
buNo: this.partCurrentRow.buNo, |
|
|
|
partNo: this.partCurrentRow.partNo, |
|
|
|
codeNo: this.partCurrentRow.codeNo, |
|
|
|
recordType: 'IP' |
|
|
|
@ -2512,15 +2521,17 @@ |
|
|
|
this.pageIndex = data.page.currPage |
|
|
|
this.pageSize = data.page.pageSize |
|
|
|
this.totalPage = data.page.totalCount |
|
|
|
this.$refs.selectDiv.setLengthAll( this.dataList.length) |
|
|
|
this.$refs.selectDiv.setLengthAll(this.dataList.length) |
|
|
|
// 判断是否全部存在数据 |
|
|
|
if (this.totalPage > 0) { |
|
|
|
if (this.dataList.length > 0) { |
|
|
|
// 设置选中行 |
|
|
|
this.$refs.partTable.setCurrentRow(this.dataList[0]) |
|
|
|
// 加载当前的页签的table |
|
|
|
this.refreshCurrentTabTable() |
|
|
|
this.partClickRow(this.dataList[0]) |
|
|
|
} else { |
|
|
|
this.partCurrentRow = {} |
|
|
|
} |
|
|
|
// 加载当前的页签的table |
|
|
|
this.refreshCurrentTabTable() |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
@ -3486,6 +3497,8 @@ |
|
|
|
strVal = this.modalData.defaultWarehouseID |
|
|
|
} else if (val === 214) { |
|
|
|
strVal = this.modalData.familyID |
|
|
|
} else if (val === 219) { |
|
|
|
strVal = this.modalData.codeNo |
|
|
|
} |
|
|
|
this.$refs.baseList.init(val, strVal) |
|
|
|
}) |
|
|
|
@ -3513,16 +3526,16 @@ |
|
|
|
} else if (this.tagNo === 214) { |
|
|
|
this.modalData.familyID = val.family_id |
|
|
|
this.modalData.familyName = val.family_name |
|
|
|
} else if (this.tagNo === 20) { |
|
|
|
} else if (this.tagNo === 219) { |
|
|
|
if (this.modalData.flag === '2') { |
|
|
|
if (val.Code_no != this.tempCodeNo) { |
|
|
|
if (val.code_no != this.tempCodeNo) { |
|
|
|
this.$confirm(`更换属性模板将替换下方物料属性数据,请确认?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
this.modalData.codeNo = val.Code_no |
|
|
|
this.$set(this.modalData, 'codeDesc', val.Code_desc) |
|
|
|
this.modalData.codeNo = val.code_no |
|
|
|
this.$set(this.modalData, 'codeDesc', val.code_desc) |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
} |
|
|
|
|