|
|
|
|
<template>
|
|
|
|
|
<basic-container>
|
|
|
|
|
<avue-crud ref="materalCrud" :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page"
|
|
|
|
|
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
|
|
|
|
|
@row-save="rowSave" @row-update="rowUpdate" :before-open="beforeOpen"
|
|
|
|
|
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
|
|
|
|
|
@refresh-change="refreshChange" @on-load="onLoad"
|
|
|
|
|
:permission="permissionList" @sort-change="sortChange">
|
|
|
|
|
<!-- <template #goodsCode="{ row }">{{ row.coGoods.goodsCode }}</template>
|
|
|
|
|
<template #goodsName="{ row }">{{ row.coGoods.goodsName }}</template>
|
|
|
|
|
<template #bsBasicClass="{ row }">{{ row.bsBasicClass.name }}</template>
|
|
|
|
|
<template #turnover="{ row }">{{ row.turnover.userName }}</template>
|
|
|
|
|
<template #mtltmrk="{ row }">{{ row.coGoods.mtltmrk }}</template>
|
|
|
|
|
<template #specifications="{ row }">{{ row.coGoods.specifications }}</template> -->
|
|
|
|
|
<template #menu-left>
|
|
|
|
|
<el-button type="danger" @click="handleDelete" v-if="permission.materialPreserve_del">删除</el-button>
|
|
|
|
|
<el-button type="primary" @click="handlePaint" v-if="permission.materialPreserve_paintLoss">缺漆信息</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
<template #menu-right>
|
|
|
|
|
<el-button type="danger" @click="handleSearch(1)" v-if="permission.materialPreserve_needGoods" plain>需报料</el-button>
|
|
|
|
|
<el-button type="warning" @click="handleSearch(2)" v-if="permission.materialPreserve_needTail" plain>需跟踪</el-button>
|
|
|
|
|
<el-button type="primary" @click="handleSearch(3)" v-if="permission.materialPreserve_awaitMaterial" plain>待领料</el-button>
|
|
|
|
|
<el-button type="success" @click="handleSearch(4)" v-if="permission.materialPreserve_normal" plain>正常</el-button>
|
|
|
|
|
<el-button type="info" @click="handleSearch(5)" v-if="permission.materialPreserve_notUsed" plain>长期未使用</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</avue-crud>
|
|
|
|
|
<paint-loss-dialog v-if="isOpen" :openShow="isOpen" title="缺漆信息" :data="laInData" @closeDialog="closeDialog"></paint-loss-dialog>
|
|
|
|
|
</basic-container>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {getMaterialStatusList,addMaterialStatus,editMaterialStatus,delMaterialStatus} from "@/api/storeManagement/materialPreserve"
|
|
|
|
|
import paintLossDialog from './components/paintLossDialog.vue'
|
|
|
|
|
import { mapGetters } from 'vuex';
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
paintLossDialog
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
selectionList: [],
|
|
|
|
|
loading: false,
|
|
|
|
|
data: [],
|
|
|
|
|
form: {},
|
|
|
|
|
page: {
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
total: 0,
|
|
|
|
|
},
|
|
|
|
|
isOpen:false,
|
|
|
|
|
query:{},
|
|
|
|
|
laInData:[],
|
|
|
|
|
option: {
|
|
|
|
|
tip: false,
|
|
|
|
|
align: 'center',
|
|
|
|
|
// size: 'medium',
|
|
|
|
|
height: 'auto',
|
|
|
|
|
|
|
|
|
|
labelWidth: 150,
|
|
|
|
|
simplePage: true,
|
|
|
|
|
searchShow: true,
|
|
|
|
|
searchMenuSpan: 6,
|
|
|
|
|
searchIcon: true,
|
|
|
|
|
searchIndex: 3,
|
|
|
|
|
tree: false,
|
|
|
|
|
border: true,
|
|
|
|
|
selection: true,
|
|
|
|
|
viewBtn: false,
|
|
|
|
|
editBtn: true,
|
|
|
|
|
addBtn: true,
|
|
|
|
|
delBtn: false,
|
|
|
|
|
editBtnText: '修改',
|
|
|
|
|
addBtnIcon: ' ',
|
|
|
|
|
viewBtnIcon: ' ',
|
|
|
|
|
delBtnIcon: ' ',
|
|
|
|
|
editBtnIcon: ' ',
|
|
|
|
|
viewBtnText: '详情',
|
|
|
|
|
menuWidth: 70,
|
|
|
|
|
dialogWidth: 1200,
|
|
|
|
|
dialogClickModal: false,
|
|
|
|
|
searchEnter: true,
|
|
|
|
|
excelBtn: false,
|
|
|
|
|
filterBtn: true,
|
|
|
|
|
searchShowBtn: false,
|
|
|
|
|
excelBtn: true,
|
|
|
|
|
index: false,
|
|
|
|
|
showOverflowTooltip: true,
|
|
|
|
|
searchLabelPosition: 'left',
|
|
|
|
|
searchLabelWidth: 'auto',
|
|
|
|
|
searchGutter: 24,
|
|
|
|
|
searchSpan: 6,
|
|
|
|
|
menuAlign: 'left',
|
|
|
|
|
gridBtn: false,
|
|
|
|
|
searchMenuPosition: 'right',
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
label: '物料编码',
|
|
|
|
|
prop: 'goodsCode',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
span: 8,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
hide:true,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: true,
|
|
|
|
|
//
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入物料编码',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicUrl:"/api/blade-wms/stGoods/list",
|
|
|
|
|
remote: true,
|
|
|
|
|
props:{
|
|
|
|
|
label: 'goodsCode',
|
|
|
|
|
value: 'goodsCode',
|
|
|
|
|
res: 'data.records',
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '物料编码',
|
|
|
|
|
prop: 'goodsId',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入物料编码',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicUrl:"/api/blade-wms/stGoods/list?current=1&size=9999&goodsCode={{key}}",
|
|
|
|
|
remote: true,
|
|
|
|
|
props:{
|
|
|
|
|
label: 'goodsCode',
|
|
|
|
|
value: 'id',
|
|
|
|
|
res: 'data.records',
|
|
|
|
|
},
|
|
|
|
|
onChange:(value =>{
|
|
|
|
|
let tmp = value.dic.find(item => item.id == value.value)
|
|
|
|
|
this.form.goodsName = tmp.goodsName
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '物料名称',
|
|
|
|
|
prop: 'goodsName',
|
|
|
|
|
addDisabled: true,
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: true,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入物料名称',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '型号/牌号',
|
|
|
|
|
prop: 'materialModel',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入型号/牌号',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '物料规格',
|
|
|
|
|
prop: 'specifications',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入物料规格',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '季度月使用量均值',
|
|
|
|
|
prop: 'useAverage',
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '一级库存',
|
|
|
|
|
prop: 'firstStore',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入一级库存',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '二级库存',
|
|
|
|
|
prop: 'lastStore',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入二级库存',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '计划数量',
|
|
|
|
|
prop: 'planQty',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 120,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入计划数量',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '是否油漆',
|
|
|
|
|
prop: 'paint',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 120,
|
|
|
|
|
search: false,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入是否油漆',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicData: [
|
|
|
|
|
{ label: '是', value: 1 },
|
|
|
|
|
{ label: '否', value: 0 },
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '周转工',
|
|
|
|
|
prop: 'turnover',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: true,
|
|
|
|
|
searchLabelWidth: 60,
|
|
|
|
|
remote: true,
|
|
|
|
|
|
|
|
|
|
props: {
|
|
|
|
|
label: 'codeRealName',
|
|
|
|
|
value: 'id',
|
|
|
|
|
res: 'data.records',
|
|
|
|
|
},
|
|
|
|
|
dicUrl:'/api/blade-system/user/page?current=1&size=9999&realName={{key}}'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '配送标记',
|
|
|
|
|
prop: 'delivery',
|
|
|
|
|
type: "select",
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 120,
|
|
|
|
|
search: true,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入配送标记',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicData: [
|
|
|
|
|
{ label: '是', value: 1 },
|
|
|
|
|
{ label: '否', value: 0 },
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '是否特殊',
|
|
|
|
|
prop: 'special',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 120,
|
|
|
|
|
search: true,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入是否特殊',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicData: [
|
|
|
|
|
{ label: '是', value: true },
|
|
|
|
|
{ label: '否', value: false },
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '状态',
|
|
|
|
|
prop: 'goodsStatus',
|
|
|
|
|
type: 'select',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
sortable: 'custom',
|
|
|
|
|
span: 8,
|
|
|
|
|
width: 200,
|
|
|
|
|
search: true,
|
|
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入状态',
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dicData: [
|
|
|
|
|
{
|
|
|
|
|
value: 1,
|
|
|
|
|
label: '需报料'
|
|
|
|
|
}, {
|
|
|
|
|
value: 2,
|
|
|
|
|
label: '需跟踪'
|
|
|
|
|
}, {
|
|
|
|
|
value: 3,
|
|
|
|
|
label: '待领料'
|
|
|
|
|
}, {
|
|
|
|
|
value: 4,
|
|
|
|
|
label: '正常'
|
|
|
|
|
}, {
|
|
|
|
|
value: 5,
|
|
|
|
|
label: '长期未使用'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
...mapGetters(['permission']),
|
|
|
|
|
permissionList() {
|
|
|
|
|
return {
|
|
|
|
|
addBtn: this.validData(this.permission.materialPreserve_add, false),
|
|
|
|
|
editBtn: this.validData(this.permission.materialPreserve_edit, false),
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 排序
|
|
|
|
|
sortChange({ prop, order }) {
|
|
|
|
|
this.query.descs = undefined;
|
|
|
|
|
this.query.ascs = undefined;
|
|
|
|
|
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
|
|
|
|
|
this.query[orderByFieldKey] = !prop
|
|
|
|
|
? undefined
|
|
|
|
|
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
|
|
|
|
|
// 重新加载数据
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
searchChange(params, done){
|
|
|
|
|
this.query = params
|
|
|
|
|
this.page.currentPage = 1;
|
|
|
|
|
this.onLoad()
|
|
|
|
|
done()
|
|
|
|
|
},
|
|
|
|
|
searchReset(){
|
|
|
|
|
this.query = {}
|
|
|
|
|
this.onLoad()
|
|
|
|
|
},
|
|
|
|
|
currentChange(currentPage){
|
|
|
|
|
this.page.currentPage = currentPage
|
|
|
|
|
},
|
|
|
|
|
sizeChange(pageSize){
|
|
|
|
|
this.page.pageSize = pageSize
|
|
|
|
|
},
|
|
|
|
|
refreshChange() {
|
|
|
|
|
this.onLoad();
|
|
|
|
|
},
|
|
|
|
|
selectionChange(val) {
|
|
|
|
|
this.selectionList = val
|
|
|
|
|
},
|
|
|
|
|
handleSearch(val){
|
|
|
|
|
this.query.goodsStatus = val
|
|
|
|
|
this.onLoad()
|
|
|
|
|
},
|
|
|
|
|
closeDialog(){
|
|
|
|
|
this.isOpen = false
|
|
|
|
|
},
|
|
|
|
|
beforeOpen(done, type) {
|
|
|
|
|
if (['edit', 'view'].includes(type)) {
|
|
|
|
|
console.log('form---------------------',this.form)
|
|
|
|
|
this.form.turnover = this.form.turnover && this.form.turnover + ''
|
|
|
|
|
this.form.goodsId = this.form.goodsId && this.form.goodsId + ''
|
|
|
|
|
done();
|
|
|
|
|
}else{
|
|
|
|
|
done();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
handlePaint(){
|
|
|
|
|
this.laInData = []
|
|
|
|
|
const tableData = this.data
|
|
|
|
|
console.log('tableData------------------',tableData)
|
|
|
|
|
tableData.forEach(item => {
|
|
|
|
|
if (item.goodsStatus === 1 && item.paint) {
|
|
|
|
|
this.laInData.push(item);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
console.log('laInData------------------',this.laInData)
|
|
|
|
|
if (this.laInData.length > 0) {
|
|
|
|
|
this.isOpen = true;
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.info('暂无缺漆信息数据');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleDelete() {
|
|
|
|
|
if (this.selectionList.length == 0) {
|
|
|
|
|
this.$message.error('请至少选择一条数据')
|
|
|
|
|
} else {
|
|
|
|
|
this.$confirm('确定删除选中数据?', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
}).then(() => {
|
|
|
|
|
delMaterialStatus({
|
|
|
|
|
ids:this.selectionList.map(item => item.id).join(',')
|
|
|
|
|
}).then(res =>{
|
|
|
|
|
if(res.data.code == 200){
|
|
|
|
|
this.$message.success('删除成功')
|
|
|
|
|
this.onLoad()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
rowSave(row, done, loading){
|
|
|
|
|
let params = {
|
|
|
|
|
goodsId:row.goodsId,
|
|
|
|
|
useAverage:row.useAverage,
|
|
|
|
|
delivery:row.delivery == 1 ? true : false,
|
|
|
|
|
paint:row.paint == 1 ? true : false,
|
|
|
|
|
special:row.special,
|
|
|
|
|
turnover:row.turnover,
|
|
|
|
|
}
|
|
|
|
|
addMaterialStatus(params).then(res =>{
|
|
|
|
|
if(res.data.code == 200){
|
|
|
|
|
this.$message.success('新增成功')
|
|
|
|
|
this.onLoad()
|
|
|
|
|
done()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
rowUpdate(row, index, done, loading){
|
|
|
|
|
row.delivery = row.delivery == 1 ? true : false
|
|
|
|
|
row.paint = row.paint == 1 ? true : false
|
|
|
|
|
editMaterialStatus(row).then(res =>{
|
|
|
|
|
if(res.data.code == 200){
|
|
|
|
|
this.$message.success('修改成功')
|
|
|
|
|
this.onLoad()
|
|
|
|
|
done()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onLoad() {
|
|
|
|
|
getMaterialStatusList({
|
|
|
|
|
current:this.page.currentPage,
|
|
|
|
|
size:this.page.pageSize,
|
|
|
|
|
...this.query
|
|
|
|
|
}).then(res =>{
|
|
|
|
|
res.data.data.records.map(item =>{
|
|
|
|
|
item.paint = item.paint != '' && item.paint ? 1 : 0
|
|
|
|
|
item.delivery = item.delivery != '' && item.delivery ? 1 : 0
|
|
|
|
|
})
|
|
|
|
|
this.data = res.data.data.records
|
|
|
|
|
console.log('data-------------',this.data)
|
|
|
|
|
this.page.total = res.data.data.total;
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style></style>
|