Browse Source

[完善]更新公告居中

tangshan
邵佳豪 3 years ago
parent
commit
7f9646db34
  1. 23
      src/app/pages/login/lookUpdateData.html
  2. 18
      src/app/tabbar/tabbar.component.html
  3. 84
      src/app/tabbar/tabbar.component.ts
  4. 8
      src/index.html

23
src/app/pages/login/lookUpdateData.html

@ -1,12 +1,13 @@
<span>更新公告</span><br>
<span>更新内容如下:</span><br> <p style="text-align: center;">更新公告</p>
<span>1.增加V级文本预案模板导入功能;</span><br> <p>更新内容如下:</p>
<span>2.已上传至预案编制管理平台的Ⅴ级文本预案,增加【转在线导入】功能;</span><br> <p>1.增加V级文本预案模板导入功能;</p>
<span>3.增加V级文本预案自定义在线编制功能;</span><br> <p>2.已上传至预案编制管理平台的Ⅴ级文本预案,增加【转在线导入】功能;</p>
<span>为了预案导入功能正常使用,且提高文本预案识别导入的成功率,需要注意以下几点:</span><br> <p>3.增加V级文本预案自定义在线编制功能;</p>
<span>1.【转在线导入】功能,仅支持以Ⅴ级文本预案模板做预案的文档,其他文档不支持【转在线导入】功能。</span><br> <p>为了预案导入功能正常使用,且提高文本预案识别导入的成功率,需要注意以下几点:</p>
<span>2.Ⅴ级文本预案模板可以随意修改内容,但整体框架不得做任何修改,不允许随意删除、合并、增加单元格,否则影响预案识别导入的内容。</span><br> <p>1.【转在线导入】功能,仅支持以Ⅴ级文本预案模板做预案的文档,其他文档不支持【转在线导入】功能。</p>
<span>3.文档导入成功后,可在线编辑,也可以自行添加新的功能模块。</span><br> <p>2.Ⅴ级文本预案模板可以随意修改内容,但整体框架不得做任何修改,不允许随意删除、合并、增加单元格,否则影响预案识别导入的内容。</p>
<span>4.V级预案模板导入时仅支持微软Office保存并且格式为.docx的文档,其余格式无法导入。</span><br> <p>3.文档导入成功后,可在线编辑,也可以自行添加新的功能模块。</p>
<span>5.V级预案模板文档以及V级预案使用说明、视频可点击右上角帮助进行下载、查看。其中Ⅴ级文本预案模板文件夹内放置九大类型预案模板、V级预案转在线导入文件夹内包含使用说明及视频、V级预案自定义文件夹内包含使用说明及视频、V级在线编制文件夹内包含使用说明及视频。</span><br> <p>4.V级预案模板导入时仅支持微软Office保存并且格式为.docx的文档,其余格式无法导入。</p>
<p>5.V级预案模板文档以及V级预案使用说明、视频可点击右上角帮助进行下载、查看。其中Ⅴ级文本预案模板文件夹内放置九大类型预案模板、V级预案转在线导入文件夹内包含使用说明及视频、V级预案自定义文件夹内包含使用说明及视频、V级在线编制文件夹内包含使用说明及视频。</p>

18
src/app/tabbar/tabbar.component.html

@ -214,15 +214,6 @@
</div> </div>
<div class="isUpdates" *ngIf="isUpdates"> <div class="isUpdates" *ngIf="isUpdates">
<!-- <span class="name" (click)="submitAudit()"
*ngIf="!contentVerify || contentVerify.verifyState == 5 || contentVerify.verifyState == 4">提交审核</span>
<span class="name" (click)="cancelAudit()" *ngIf="contentVerify && contentVerify.verifyState == 3">撤销审核</span> -->
<!-- <span class="span" *ngIf="contentVerify && contentVerify.verifyState == 3">(
<span *ngIf="contentVerify.operation == 2" style="color: red;">删除</span>
<span *ngIf="contentVerify.operation == 0">新增</span>
<span *ngIf="contentVerify.operation == 1">更新</span>
待审核)</span> -->
<span [matTooltip]="contentVerify.remark" class="span" <span [matTooltip]="contentVerify.remark" class="span"
*ngIf="contentVerify && contentVerify.verifyState == 4">(审核通过)</span> *ngIf="contentVerify && contentVerify.verifyState == 4">(审核通过)</span>
<span [matTooltip]="contentVerify.remark" class="span" <span [matTooltip]="contentVerify.remark" class="span"
@ -230,10 +221,10 @@
</div> </div>
<div class="spinner" *ngIf="isSpinner"> <!-- <div class="spinner" *ngIf="isSpinner">
<mat-spinner [diameter]='26' color="warn"></mat-spinner> <mat-spinner [diameter]='26' color="warn"></mat-spinner>
<span style="font-size: 13px;margin-left: 6px;">帮助文档下载中,请等待...</span> <span style="font-size: 13px;margin-left: 6px;">帮助文档下载中,请等待...</span>
</div> </div> -->
<!-- 帮助文档按钮 --> <!-- 帮助文档按钮 -->
<button mat-icon-button [matMenuTriggerFor]="appSetHelp" class="help" title="帮助"> <button mat-icon-button [matMenuTriggerFor]="appSetHelp" class="help" title="帮助">
<mat-icon>help</mat-icon> <mat-icon>help</mat-icon>
@ -277,11 +268,6 @@
<!-- 黑夜模式开关 --> <!-- 黑夜模式开关 -->
<mat-slide-toggle (change)='onChange($event.checked)' class="darktheme"></mat-slide-toggle> <mat-slide-toggle (change)='onChange($event.checked)' class="darktheme"></mat-slide-toggle>
<!-- 锁屏按钮 -->
<!-- <button mat-button class="lockscreen" [routerLink]="['/lockscreen']" routerLinkActive="router-link-active" >
<mat-icon>screen_lock_landscape</mat-icon>
</button> -->
<!-- 登录信息按钮 --> <!-- 登录信息按钮 -->
<button mat-icon-button [matMenuTriggerFor]="appMenu" class="login"> <button mat-icon-button [matMenuTriggerFor]="appMenu" class="login">
<mat-icon>account_circle</mat-icon> <mat-icon>account_circle</mat-icon>

84
src/app/tabbar/tabbar.component.ts

@ -81,29 +81,8 @@ export class TabbarComponent implements OnInit {
this.companyIntegrityScore = data.companyIntegrityScore this.companyIntegrityScore = data.companyIntegrityScore
}) })
} }
isSpinner: boolean = false//下载帮助文档进度
//下载帮助文档
downloadHelpFile() {
this.getFileMSG()
}
helpFile: any = 'api/ObjectMetadata/help/数字化预案编制管理平台手册.pdf'; //下载文件的url地址
download: any; //下载的文件
//获取下载文件信息
getFileMSG() {
this.isSpinner = true
this.http.get(`${this.helpFile}`).subscribe(data => {
this.download = data
this.downloadFile()
}, err => {
let config = new MatSnackBarConfig();
config.verticalPosition = 'bottom';
config.duration = 3000
this.snackBar.open('下载失败', '确定', config);
})
}
aFile(url, name) { aFile(url, name) {
console.log('下载帮助文件')
let a = document.createElement("a"); let a = document.createElement("a");
a.href = url; a.href = url;
a.download = name; a.download = name;
@ -155,71 +134,8 @@ export class TabbarComponent implements OnInit {
this.snackBar.open(err, '确定', config); this.snackBar.open(err, '确定', config);
}) })
} }
}
//初始化下载
downloadFile() {
let file = this.download
let fileSize = file.fileLength//下载文件的总大小
let shardSize = 10 * 1024 * 1024 //文件大小是否大于10MB
if (file && fileSize <= shardSize) { //<=10MB时直接下载
this.http.get(`/api/Objects/help/${file.objectName}`, { responseType: 'blob' },).subscribe(data => {
let url = window.URL.createObjectURL(new Blob([data])); //createObjectURL创建一个下载Blob的url地址
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", '数字化预案编制管理平台手册.pdf');
document.body.appendChild(link);
link.click();
this.isSpinner = false
}, err => {
let config = new MatSnackBarConfig();
config.verticalPosition = 'bottom';
config.duration = 3000
this.snackBar.open('下载失败', '确定', config);
})
} else if (file && fileSize > shardSize) { //>10MB时分块下载
this.blockingDownload() //分段下载
}
} }
//分段下载并合并
async blockingDownload() {
let file = this.download
let fileSize = file.fileLength //下载文件的总大小
let shardSize = 3 * 1024 * 1024 //3MB一个分片
let allSlice = Math.ceil(fileSize / shardSize) //总文件/3MB===共分多少段
let allFile: any = [] //所有的file分段
for (let i = 0; i < allSlice; i++) {
let start = i * shardSize //每次下载文件开始位置
let end = Math.min(fileSize, start + shardSize - 1); //每次下载文件结束为止
let result = await new Promise((result, reject) => {
this.http.get(`/api/Objects/help/${file.objectName}`, { headers: { 'range': `bytes= ${start}-${end}` }, responseType: 'blob' }).subscribe(data => {
result(data)
})
})
allFile.push(result)
if (allFile.length === allSlice) { //合并文件输出给浏览器
let url = window.URL.createObjectURL(new Blob(allFile)); //createObjectURL创建一个下载Blob的url地址
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", '数字化预案编制管理平台手册.pdf');
document.body.appendChild(link);
link.click();
this.isSpinner = false
}
} //for循环
}
ngOnDestroy() { ngOnDestroy() {
this.routerEventsListener.unsubscribe() this.routerEventsListener.unsubscribe()
} }

8
src/index.html

@ -23,10 +23,10 @@
</body> </body>
<!-- <script type="text/javascript" src="./assets/kmap/kmap-service-main-kd.js"></script> --> <!-- <script type="text/javascript" src="./assets/kmap/kmap-service-main-kd.js"></script> -->
<!-- <script src="http://10.81.73.39:8000/webapi/maps?v=2.0&key=e4b359dc7b03f9418b7497f807131346&plugin=AMap.Driving,AMap.MouseTool,AMap.RangingTool"></script> <script src="http://10.81.73.39:8000/webapi/maps?v=2.0&key=e4b359dc7b03f9418b7497f807131346&plugin=AMap.Driving,AMap.MouseTool,AMap.RangingTool"></script>
<script src="http://10.81.73.39:8000/webapi/ui/1.1/main.js"></script> --> <script src="http://10.81.73.39:8000/webapi/ui/1.1/main.js"></script>
<script src="https://webapi.amap.com/maps?v=2.0&key=e4b359dc7b03f9418b7497f807131346&plugin=AMap.Driving,AMap.MouseTool,AMap.RangingTool"></script> <!-- <script src="https://webapi.amap.com/maps?v=2.0&key=e4b359dc7b03f9418b7497f807131346&plugin=AMap.Driving,AMap.MouseTool,AMap.RangingTool"></script>
<script src="https://webapi.amap.com/ui/1.1/main.js"></script> <script src="https://webapi.amap.com/ui/1.1/main.js"></script> -->
<script src="/assets/html2canvas.js"></script> <script src="/assets/html2canvas.js"></script>
<script type="text/javascript" src="/assets/wordexport/jquery.js"></script> <script type="text/javascript" src="/assets/wordexport/jquery.js"></script>
<script type="text/javascript" src="/assets/wordexport/FileSaver.js"></script> <script type="text/javascript" src="/assets/wordexport/FileSaver.js"></script>

Loading…
Cancel
Save