|
@@ -60,22 +60,63 @@
|
|
|
<el-tag v-else-if="scope.row.planStatus == 5" size="small" type="success">已完成待审批</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="第一次成绩" align="center" prop="score1" :show-overflow-tooltip="true" width="180"/>
|
|
|
+ <el-table-column label="第一次成绩" align="center" prop="score1" :show-overflow-tooltip="true" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-if="scope.row.score1 == null&&scope.row.planStatus==2">
|
|
|
+ <el-select v-model="scope.row.score1Tmp" style="width: 130px" placeholder="请选择成绩">
|
|
|
+ <el-option value="好" label="好" key="好"/>
|
|
|
+ <el-option value="满意" label="满意" key="满意"/>
|
|
|
+ <el-option value="差" label="差" key="差"/>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="text" @click="saveScore(scope.row)" class="ml5">保存</el-button>
|
|
|
+ </div>
|
|
|
+ <span v-else>{{ scope.row.score1 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="附件" align="center" :show-overflow-tooltip="true" width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score1')"
|
|
|
+ circle></el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="第二次成绩" align="center" prop="score2" :show-overflow-tooltip="true" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div
|
|
|
+ v-if="scope.row.score2 == null&&scope.row.planStatus==2&&(scope.row.score1 == '满意'||scope.row.score1 == '差')">
|
|
|
+ <el-select v-model="scope.row.score2Tmp" style="width: 130px" placeholder="请选择成绩">
|
|
|
+ <el-option value="好" label="好" key="好"/>
|
|
|
+ <el-option value="满意" label="满意" key="满意"/>
|
|
|
+ <el-option value="差" label="差" key="差"/>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="text" @click="saveScore(scope.row)" class="ml5">保存</el-button>
|
|
|
+ </div>
|
|
|
+ <span v-else>{{ scope.row.score2 }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="附件" align="center" :show-overflow-tooltip="true" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score1')" circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score2')"
|
|
|
+ circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="第二次成绩" align="center" prop="score2" :show-overflow-tooltip="true" width="180"/>
|
|
|
- <el-table-column label="附件" align="center" :show-overflow-tooltip="true" width="80">
|
|
|
+ <el-table-column label="第三次成绩" align="center" prop="score3" :show-overflow-tooltip="true" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score2')" circle></el-button>
|
|
|
+ <div
|
|
|
+ v-if="scope.row.score3 == null&&scope.row.planStatus==2&&((scope.row.score1 == '满意'||scope.row.score1 == '差')&&(scope.row.score2 == '满意'||scope.row.score2 == '差'))">
|
|
|
+ <el-select v-model="scope.row.score3Tmp" style="width: 130px" placeholder="请选择成绩">
|
|
|
+ <el-option value="好" label="好" key="好"/>
|
|
|
+ <el-option value="满意" label="满意" key="满意"/>
|
|
|
+ <el-option value="差" label="差" key="差"/>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="text" @click="saveScore(scope.row)" class="ml5">保存</el-button>
|
|
|
+ </div>
|
|
|
+ <span v-else>{{ scope.row.score3 }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="第三次成绩" align="center" prop="score3" :show-overflow-tooltip="true" width="180"/>
|
|
|
- <el-table-column label="附件" align="center" :show-overflow-tooltip="true" width="80">
|
|
|
+ <el-table-column label="附件" align="center" :show-overflow-tooltip="true" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score3')" circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-score3')"
|
|
|
+ circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="计划培训开始时间" prop="planStartData" width="180" align="center">
|
|
@@ -198,7 +239,7 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="培训排序" prop="sortTmpl">
|
|
|
- <el-input-number v-model="form.sortTmpl" placeholder="请输入培训排序" />
|
|
|
+ <el-input-number v-model="form.sortTmpl" placeholder="请输入培训排序"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
<el-input v-model="form.remarks" placeholder="请输入备注"/>
|
|
@@ -251,7 +292,7 @@
|
|
|
</el-button>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog :close-on-click-modal="false" element-loading-background="rgba(0,0,0,0.2)"
|
|
|
+ <el-dialog :close-on-click-modal="false" element-loading-background="rgba(0,0,0,0.2)"
|
|
|
v-dialogDrag :title="pdf.title"
|
|
|
:visible.sync="pdf.open" width="1300px" height="800px" :center="true" append-to-body
|
|
|
@close="handleClose">
|
|
@@ -263,17 +304,18 @@
|
|
|
|
|
|
|
|
|
<!-- 报告附件对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" v-dialogDrag :title="doc.title" :visible.sync="doc.open" width="1000px" append-to-body >
|
|
|
+ <el-dialog :close-on-click-modal="false" v-dialogDrag :title="doc.title" :visible.sync="doc.open" width="1000px"
|
|
|
+ append-to-body>
|
|
|
<el-upload
|
|
|
- ref="doc"
|
|
|
- :limit="50"
|
|
|
- :headers="doc.headers"
|
|
|
- :action="doc.url + '?pType=' + doc.pType + '&pId=' + doc.pId"
|
|
|
- :disabled="doc.isUploading"
|
|
|
- :on-progress="handleFileDocProgress"
|
|
|
- :on-success="handleFileDocSuccess"
|
|
|
- :auto-upload="true"
|
|
|
- drag
|
|
|
+ ref="doc"
|
|
|
+ :limit="50"
|
|
|
+ :headers="doc.headers"
|
|
|
+ :action="doc.url + '?pType=' + doc.pType + '&pId=' + doc.pId"
|
|
|
+ :disabled="doc.isUploading"
|
|
|
+ :on-progress="handleFileDocProgress"
|
|
|
+ :on-success="handleFileDocSuccess"
|
|
|
+ :auto-upload="true"
|
|
|
+ drag
|
|
|
>
|
|
|
<i class="el-icon-upload"></i>
|
|
|
<div class="el-upload__text">
|
|
@@ -284,14 +326,16 @@
|
|
|
<el-table :data="doc.commonfileList" border>
|
|
|
<el-table-column :label="$t('文件名')" align="center" prop="fileName" :show-overflow-tooltip="true">
|
|
|
<template slot-scope="scope">
|
|
|
- <a class="link-type" @click="handleDownload(scope.row)">
|
|
|
+ <a class="link-type" @click="handleDownload(scope.row)">
|
|
|
<span>{{ scope.row.fileName }}</span>
|
|
|
</a>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true" width="80" />
|
|
|
+ <el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true"
|
|
|
+ width="80"/>
|
|
|
<el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
|
|
|
- <el-table-column :label="$t('上传日期')" align="center" prop="createdate" :show-overflow-tooltip="true" width="120">
|
|
|
+ <el-table-column :label="$t('上传日期')" align="center" prop="createdate" :show-overflow-tooltip="true"
|
|
|
+ width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
@@ -316,29 +360,38 @@
|
|
|
type="text"
|
|
|
icon="el-icon-view"
|
|
|
@click="handleSee(scope.row)"
|
|
|
- >{{ $t('预览') }}</el-button>
|
|
|
- <el-button v-hasPermi="['training:trainingrecords:file']" type="text" size="small" v-if="scope.row.isEdit" @click="save(scope.row)">保存</el-button>
|
|
|
- <el-button type="text" size="small" v-if="scope.row.isEdit" @click="cancelFile(scope.row, scope.$index)">取消</el-button>
|
|
|
+ >{{ $t('预览') }}
|
|
|
+ </el-button>
|
|
|
+ <el-button v-hasPermi="['training:trainingrecords:file']" type="text" size="small" v-if="scope.row.isEdit"
|
|
|
+ @click="save(scope.row)">保存
|
|
|
+ </el-button>
|
|
|
+ <el-button type="text" size="small" v-if="scope.row.isEdit" @click="cancelFile(scope.row, scope.$index)">
|
|
|
+ 取消
|
|
|
+ </el-button>
|
|
|
<!-- <el-button v-hasPermi="['training:trainingrecords:file']" v-if="!scope.row.isEdit" @click="edit(scope.row)" icon="el-icon-edit" type="text" size="mini">编辑</el-button>-->
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-download"
|
|
|
@click="handleDownload(scope.row)"
|
|
|
- >{{ $t('下载') }}</el-button>
|
|
|
+ >{{ $t('下载') }}
|
|
|
+ </el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDeleteDoc(scope.row)"
|
|
|
v-hasPermi="['training:trainingrecords:file']"
|
|
|
- >{{ $t('删除') }}</el-button>
|
|
|
+ >{{ $t('删除') }}
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px" append-to-body>
|
|
|
+ <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px"
|
|
|
+ append-to-body>
|
|
|
<div style="margin-top: -60px;float: right;margin-right: 40px;">
|
|
|
- <el-button size="mini" type="text" @click="openPdf">{{$t('新页面打开PDF')}}</el-button></div>
|
|
|
+ <el-button size="mini" type="text" @click="openPdf">{{ $t('新页面打开PDF') }}</el-button>
|
|
|
+ </div>
|
|
|
<div style="margin-top: -30px">
|
|
|
<iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
|
|
|
</div>
|
|
@@ -365,21 +418,24 @@ import {
|
|
|
addYsplandsdt,
|
|
|
delYsplandsdt,
|
|
|
getYsplandsdt,
|
|
|
- listYsplandsdt, updateYsLearnTime,
|
|
|
+ listYsplandsdt,
|
|
|
+ updateYsLearnTime,
|
|
|
updateYsplandsdt
|
|
|
} from "@/api/training/bccnew/ysplandsdt";
|
|
|
import {
|
|
|
addFlplandsdt,
|
|
|
delFlplandsdt,
|
|
|
getFlplandsdt,
|
|
|
- listFlplandsdt, updateFlLearnTime,
|
|
|
+ listFlplandsdt,
|
|
|
+ updateFlLearnTime,
|
|
|
updateFlplandsdt
|
|
|
} from "@/api/training/bccnew/flplandsdt";
|
|
|
import {
|
|
|
addFtplandsdt,
|
|
|
delFtplandsdt,
|
|
|
getFtplandsdt,
|
|
|
- listFtplandsdt, updateFtLearnTime,
|
|
|
+ listFtplandsdt,
|
|
|
+ updateFtLearnTime,
|
|
|
updateFtplandsdt
|
|
|
} from "@/api/training/bccnew/ftplandsdt";
|
|
|
import {treeselect} from "@/api/system/dept";
|
|
@@ -389,7 +445,7 @@ import {allFileList, delCommonfile} from "@/api/common/commonfile";
|
|
|
|
|
|
var timer = null;
|
|
|
export default {
|
|
|
- name:"score",
|
|
|
+ name: "score",
|
|
|
props: {
|
|
|
newId: {},
|
|
|
planType: {}
|
|
@@ -416,7 +472,7 @@ export default {
|
|
|
// 报告附件上传位置编号
|
|
|
ids: 0,
|
|
|
// 设置上传的请求头部
|
|
|
- headers: { Authorization: "Bearer " + getToken() },
|
|
|
+ headers: {Authorization: "Bearer " + getToken()},
|
|
|
// 上传的地址
|
|
|
url: process.env.VUE_APP_BASE_API + "/common/commonfile/uploadFile",
|
|
|
commonfileList: null,
|
|
@@ -428,7 +484,7 @@ export default {
|
|
|
pId: null,
|
|
|
form: {}
|
|
|
},
|
|
|
- pdf : {
|
|
|
+ pdf: {
|
|
|
title: '',
|
|
|
pdfUrl: '',
|
|
|
numPages: null,
|
|
@@ -488,6 +544,78 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
methods: {
|
|
|
+ saveScore(row) {
|
|
|
+
|
|
|
+ if (this.planType === 1) {
|
|
|
+ this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp) === undefined ? "" : (row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp)), "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return updateLjplandsdt({
|
|
|
+ id: row.id,
|
|
|
+ score1: row.score1Tmp ? row.score1Tmp : row.score1,
|
|
|
+ score2: row.score2Tmp ? row.score2Tmp : row.score2,
|
|
|
+ score3: row.score3Tmp,
|
|
|
+ newId: row.newId
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ })
|
|
|
+ } else if (this.planType === 2) {
|
|
|
+ this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp) === undefined ? "" : (row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp)), "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return updateYsplandsdt({
|
|
|
+ id: row.id,
|
|
|
+ score1: row.score1Tmp ? row.score1Tmp : row.score1,
|
|
|
+ score2: row.score2Tmp ? row.score2Tmp : row.score2,
|
|
|
+ score3: row.score3Tmp,
|
|
|
+ newId: row.newId
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ })
|
|
|
+ } else if (this.planType === 3) {
|
|
|
+ this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp) === undefined ? "" : (row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp)), "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return updateFlplandsdt({
|
|
|
+ id: row.id,
|
|
|
+ score1: row.score1Tmp ? row.score1Tmp : row.score1,
|
|
|
+ score2: row.score2Tmp ? row.score2Tmp : row.score2,
|
|
|
+ score3: row.score3Tmp,
|
|
|
+ newId: row.newId
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ })
|
|
|
+ } else if (this.planType === 4) {
|
|
|
+ this.$confirm('成绩保存后不可修改!请确认成绩为' + ((row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp) === undefined ? "" : (row.score1Tmp ? row.score1Tmp : row.score2Tmp ? row.score2Tmp : row.score3Tmp)), "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return updateFtplandsdt({
|
|
|
+ id: row.id,
|
|
|
+ score1: row.score1Tmp ? row.score1Tmp : row.score1,
|
|
|
+ score2: row.score2Tmp ? row.score2Tmp : row.score2,
|
|
|
+ score3: row.score3Tmp,
|
|
|
+ newId: row.newId
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
// 文件上传中处理
|
|
|
handleFileUploadProgress(event, file, fileList) {
|
|
|
this.upload.isUploading = true;
|
|
@@ -497,7 +625,7 @@ export default {
|
|
|
this.upload.open = false;
|
|
|
this.upload.isUploading = false;
|
|
|
this.$refs.upload.clearFiles();
|
|
|
- this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
|
|
|
+ this.$alert(response.msg, "导入结果", {dangerouslyUseHTMLString: true});
|
|
|
this.getList();
|
|
|
},
|
|
|
// 提交上传文件
|
|
@@ -505,20 +633,20 @@ export default {
|
|
|
this.$refs.upload.submit();
|
|
|
},
|
|
|
/** 报告附件按钮操作 */
|
|
|
- handleDoc(row , fileType) {
|
|
|
+ handleDoc(row, fileType) {
|
|
|
if (this.planType === 1) {
|
|
|
- fileType+='lj';
|
|
|
+ fileType += 'lj';
|
|
|
} else if (this.planType === 2) {
|
|
|
- fileType+='ys';
|
|
|
+ fileType += 'ys';
|
|
|
} else if (this.planType === 3) {
|
|
|
- fileType+='fl';
|
|
|
+ fileType += 'fl';
|
|
|
} else if (this.planType === 4) {
|
|
|
- fileType+='ft';
|
|
|
+ fileType += 'ft';
|
|
|
}
|
|
|
this.doc.pType = fileType
|
|
|
this.doc.queryParams.pType = fileType
|
|
|
this.doc.id = row.id;
|
|
|
- this.doc.title = this.$t('附件') ;
|
|
|
+ this.doc.title = this.$t('附件');
|
|
|
this.doc.open = true;
|
|
|
this.doc.queryParams.pId = row.id
|
|
|
this.doc.pId = row.id
|
|
@@ -527,7 +655,7 @@ export default {
|
|
|
this.$refs.doc.clearFiles()
|
|
|
})
|
|
|
},
|
|
|
- getFileList (){
|
|
|
+ getFileList() {
|
|
|
allFileList(this.doc.queryParams).then(response => {
|
|
|
response.forEach(element => {
|
|
|
element["isEdit"] = false
|
|
@@ -546,7 +674,7 @@ export default {
|
|
|
//附件上传成功处理
|
|
|
handleFileDocSuccess(response, file, fileList) {
|
|
|
this.doc.isUploading = false;
|
|
|
- this.$alert(response.msg, this.$t('导入结果'), { dangerouslyUseHTMLString: true });
|
|
|
+ this.$alert(response.msg, this.$t('导入结果'), {dangerouslyUseHTMLString: true});
|
|
|
this.getFileList()
|
|
|
},
|
|
|
// 文件下载处理
|
|
@@ -560,14 +688,14 @@ export default {
|
|
|
a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
a.click()
|
|
|
},
|
|
|
- openPdf(){
|
|
|
+ openPdf() {
|
|
|
window.open(this.pdf.pdfUrl);//path是文件的全路径地址
|
|
|
},
|
|
|
- handleSee (row){
|
|
|
+ handleSee(row) {
|
|
|
// window.open(process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl);//path是文件的全路径地址
|
|
|
- this.pdf.open =true
|
|
|
+ this.pdf.open = true
|
|
|
this.pdf.title = row.fileName
|
|
|
- this.pdf.pdfUrl = process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
|
|
|
+ this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
|
|
|
},
|
|
|
/** 删除按钮操作 */
|
|
|
handleDeleteDoc(row) {
|
|
@@ -576,7 +704,7 @@ export default {
|
|
|
confirmButtonText: this.$t('确定'),
|
|
|
cancelButtonText: this.$t('取消'),
|
|
|
type: "warning"
|
|
|
- }).then(function() {
|
|
|
+ }).then(function () {
|
|
|
return delCommonfile(ids);
|
|
|
}).then(() => {
|
|
|
this.getFileList()
|
|
@@ -594,7 +722,7 @@ export default {
|
|
|
this.pdf.pdfUrl = ""
|
|
|
this.ppt = true
|
|
|
//如果是PDF等直接可以打开的就不调接口,否则调用接口
|
|
|
- if (row.fileName!=null&&row.fileName.endsWith('pdf')) {
|
|
|
+ if (row.fileName != null && row.fileName.endsWith('pdf')) {
|
|
|
this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
|
|
|
|
|
|
}
|