-
-
- 超期
-
-
- 用时:{{ item.takeTime }}
-
-
+
+
+ 超期
+
+
+ 用时:{{ item.takeTime }}
+
+
{{
item.type == 1
@@ -1929,6 +2001,10 @@
}}{{ item.createUserName }}
+
+ 违章人员{{ item.createUserName }}
+
整改状态:{{
@@ -1963,7 +2039,7 @@
? "复查照片:"
: "核验照片:"
}}
-
+
-
+
@@ -2002,10 +2083,10 @@
* {{
detailData.status == 2
- ? '整改时间:'
+ ? "整改时间:"
: detailData.status == 3
- ? '复查时间:'
- : '核验时间:'
+ ? "复查时间:"
+ : "核验时间:"
}}
@@ -2028,6 +2109,38 @@
+
+
+
+
+ * 违章人员:
+
+
+
+
+
+
+
+
+
+
@@ -2051,13 +2164,14 @@
* * {{
detailData.status == 2
- ? '整改照片:'
+ ? "整改照片:"
: detailData.status == 3
- ? '复查照片:'
- : '核验照片:'
+ ? "复查照片:"
+ : "核验照片:"
}}
-
+
@@ -2125,11 +2238,7 @@
>
- 取消
+ 取消
@@ -2167,7 +2276,7 @@ import {
selectSafeRectifyRecordListApi,
addSafeQualityRectifyRecordApi,
deleteSafeRectifyRecordListApi,
- backSafeRectifyRecordListApi
+ backSafeRectifyRecordListApi,
} from "@/assets/js/api/quality.js";
import { getProjectChilderSystemUserListApi } from "@/assets/js/api/configManage.js";
import { VueCropper } from "vue-cropper";
@@ -2185,11 +2294,18 @@ export default {
return {
areaData: {},
replyData: {
- rectifyTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
+ rectifyTime: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"),
fileUrl: "",
additionalRemarks: "",
qualityId: "",
+ violationId: "",
}, //未整改回复
+ violationList: [
+ {
+ value: "选项1",
+ label: "黄金糕",
+ },
+ ],
dialogDetil: false,
detailData: {},
fileListRectification: [],
@@ -2207,6 +2323,7 @@ export default {
status: "",
urgentLevel: "",
regionId: "",
+ dangerInfoId: "",
},
type: "add",
pageNo: 1,
@@ -2329,7 +2446,7 @@ export default {
isShow: false,
videoName: "",
unitEnterpriseId: "",
- unitRegionId: ""
+ unitRegionId: "",
};
},
created() {
@@ -2342,10 +2459,11 @@ export default {
this.COMPANY = COMPANY;
this.getProgressListData();
this.getPositionList();
+ this.getDescribeClassifyList();
},
computed: {
isJSON() {
- return function(str) {
+ return function (str) {
if (typeof str == "string") {
try {
var obj = JSON.parse(str);
@@ -2365,27 +2483,27 @@ export default {
"addForm1.regionId": {
handler(newVal) {
console.log(newVal);
- if(newVal.length == 0){
+ if (newVal.length == 0) {
this.addForm1.reviewId = ""; // 先清空复查人
this.reviewList = [];
- }else {
+ } else {
this.getReviewPeopleList(newVal);
}
// this.addForm1.reviewId = ""
},
- deep:true,
+ deep: true,
},
"addForm2.regionId": {
handler(newVal) {
- if(newVal.length == 0){
+ if (newVal.length == 0) {
this.reviewList = [];
- }else {
+ } else {
this.getReviewPeopleList(newVal);
}
// this.addForm2.reviewId = ""
},
- deep:true,
- }
+ deep: true,
+ },
},
mounted() {},
methods: {
@@ -2440,15 +2558,16 @@ export default {
})
.catch(() => {});
},
- async editRow(obj){ // 编辑撤回数据(重新提交)
- console.log("77777777777777777777777777777")
+ async editRow(obj) {
+ // 编辑撤回数据(重新提交)
+ console.log("77777777777777777777777777777");
// await this.getReviewPeopleList(obj.regionId)
- console.log("77777777777777777777777777777")
- console.log(this.addForm1,777)
+ console.log("77777777777777777777777777777");
+ console.log(this.addForm1, 777);
this.addTitle = "编辑";
this.recordType = obj.recordType;
- if(obj.recordType == 1){
- this.addForm1 = {...obj};
+ if (obj.recordType == 1) {
+ this.addForm1 = { ...obj };
let arr = obj.imageUrl.split(",");
let fileArr = obj.fileUrl.split(",");
let showImgUrl = [];
@@ -2471,12 +2590,12 @@ export default {
});
this.fileList1 = showImgUrl;
this.fileList2 = showFileUrl;
- } else if(obj.recordType == 2){
- this.addForm2 = {...obj};
+ } else if (obj.recordType == 2) {
+ this.addForm2 = { ...obj };
}
// 责任人数据处理
- this.unitEnterpriseId = obj.enterpriseId
- this.unitRegionId = obj.regionId
+ this.unitEnterpriseId = obj.enterpriseId;
+ this.unitRegionId = obj.regionId;
// 逻辑结束
this.getPositionList();
this.getDescribeClassifyList();
@@ -2501,20 +2620,20 @@ export default {
this.addDialog = true;
this.$nextTick(() => {
this.editChangeRegion();
- })
+ });
},
- statusCondition(data){
- console.log(data,'我爱我爱')
- if(data.status == 2){
- if(data.changeId == this.$store.state.userInfo.userId){
+ statusCondition(data) {
+ console.log(data, "我爱我爱");
+ if (data.status == 2) {
+ if (data.changeId == this.$store.state.userInfo.userId) {
return true;
}
- } else if(data.status == 3){
- if(data.reviewId == this.$store.state.userInfo.userId){
+ } else if (data.status == 3) {
+ if (data.reviewId == this.$store.state.userInfo.userId) {
return true;
}
- } else if(data.status == 4){
- if(data.verifyManId == this.$store.state.userInfo.userId){
+ } else if (data.status == 4) {
+ if (data.verifyManId == this.$store.state.userInfo.userId) {
return true;
}
} else {
@@ -2549,7 +2668,7 @@ export default {
this.dialogDetil = true;
this.detailData = item;
this.replyData = {
- rectifyTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
+ rectifyTime: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"),
fileUrl: "",
additionalRemarks: "",
};
@@ -2583,16 +2702,20 @@ export default {
} else {
this.replyData.fileUrl = "";
}
- if (this.replyData.rectifyTime == "" || this.replyData.additionalRemarks == "" || (this.fileListRectification.length == 0 && this.replyData.type == 1)) {
- this.$message.error('请将回复内容输入完整')
+ if (
+ this.replyData.rectifyTime == "" ||
+ this.replyData.additionalRemarks == "" ||
+ (this.fileListRectification.length == 0 && this.replyData.type == 1)
+ ) {
+ this.$message.error("请将回复内容输入完整");
return;
}
if (this.replyData.additionalRemarks == "") {
- this.$message.error('请选择整改时间')
+ this.$message.error("请选择整改时间");
return;
}
if (this.replyData.rectifyTime == "") {
- this.$message.error('请选择整改时间')
+ this.$message.error("请选择整改时间");
return;
}
this.replyData.qualityId = valId;
@@ -2679,7 +2802,6 @@ export default {
},
//导出
exportData() {
-
if (this.COMPANY == "zjwj") {
window.location.href =
this.$http.defaults.baseURL +
@@ -2701,6 +2823,14 @@ export default {
this.pageSize;
} else {
// xmgl/download/exporExcelQualityInspectionRecord
+ const data = {};
+ if(this.formInline.dangerInfoId.length > 0){
+ data.dangerInfoLevel = this.formInline.dangerInfoId.length;
+ data.dangerInfoId = this.formInline.dangerInfoId[this.formInline.dangerInfoId.length - 1];
+ } else {
+ data.dangerInfoLevel = "";
+ data.dangerInfoId = "";
+ }
window.location.href =
this.$http.defaults.baseURL +
"xmgl/download/exportExcelXzSecurityQualityInspectionRecord?projectSn=" +
@@ -2720,7 +2850,11 @@ export default {
"&pageNo=" +
this.pageNo +
"&pageSize=" +
- this.pageSize;
+ this.pageSize+
+ "&dangerInfoId=" +
+ data.dangerInfoId+
+ "&dangerInfoLevel =" +
+ data.dangerInfoLevel ;
}
},
openImg(src) {
@@ -2766,12 +2900,10 @@ export default {
//remark整改要求 level等级
if (e.length) {
console.log(this.$refs["formRegion2"].getCheckedNodes()[0].data);
- this.addForm1.level = this.$refs[
- "formRegion2"
- ].getCheckedNodes()[0].data.level;
- this.addForm1.remark = this.$refs[
- "formRegion2"
- ].getCheckedNodes()[0].data.remark;
+ this.addForm1.level =
+ this.$refs["formRegion2"].getCheckedNodes()[0].data.level;
+ this.addForm1.remark =
+ this.$refs["formRegion2"].getCheckedNodes()[0].data.remark;
} else {
this.addForm1.level = "";
this.addForm1.remark = "";
@@ -2779,7 +2911,7 @@ export default {
},
changeRegion(val) {
// console.log(val,this.checkPointList,this.$refs['formRegion1'].getCheckedNodes()[0])
- if(this.recordType == 1){
+ if (this.recordType == 1) {
if (this.$refs["formRegion1"].getCheckedNodes().length == 0) {
this.addForm1.enterpriseSn = "";
this.addForm1.enterpriseName = "";
@@ -2801,8 +2933,8 @@ export default {
this.addForm1.enterpriseSn = "";
this.addForm1.enterpriseName = "";
this.addForm1.changeId = "";
- let pathLabels = this.$refs["formRegion1"].getCheckedNodes()[0]
- .pathLabels;
+ let pathLabels =
+ this.$refs["formRegion1"].getCheckedNodes()[0].pathLabels;
let data = this.$refs["formRegion1"].getCheckedNodes()[0].data;
this.areaData = data;
console.log(data, 666);
@@ -2851,8 +2983,8 @@ export default {
} else if (this.recordType == 2) {
this.addForm2.enterpriseSn = "";
this.addForm2.enterpriseName = "";
- let pathLabels = this.$refs["addFormRegion2"].getCheckedNodes()[0]
- .pathLabels;
+ let pathLabels =
+ this.$refs["addFormRegion2"].getCheckedNodes()[0].pathLabels;
let data = this.$refs["addFormRegion2"].getCheckedNodes()[0].data;
let text = "";
for (let i = 0; i < pathLabels.length; i++) {
@@ -2870,12 +3002,12 @@ export default {
this.subcontractList = data.enterpriseInfos;
this.crewUpdateList = [];
}
- this.$refs['addForm1'].clearValidate();
+ this.$refs["addForm1"].clearValidate();
this.addForm1.inspectManId = this.checkPointList;
},
editChangeRegion() {
// console.log(val,this.checkPointList,this.$refs['formRegion1'].getCheckedNodes()[0])
- if(this.recordType == 1){
+ if (this.recordType == 1) {
if (this.$refs["formRegion1"].getCheckedNodes().length == 0) {
this.addForm1.enterpriseSn = "";
this.addForm1.enterpriseName = "";
@@ -2899,10 +3031,13 @@ export default {
let data = this.$refs["formRegion1"].getCheckedNodes()[0].data;
this.areaData = data;
const newArr = [];
- console.log(this.areaData,777999333)
- if(this.areaData.systemUsers){
+ console.log(this.areaData, 777999333);
+ if (this.areaData.systemUsers) {
this.areaData.systemUsers.filter((item) => {
- if (item.userId && item.enterpriseId == this.addForm1.enterpriseId) {
+ if (
+ item.userId &&
+ item.enterpriseId == this.addForm1.enterpriseId
+ ) {
newArr.push(item);
}
});
@@ -2965,7 +3100,7 @@ export default {
this.subcontractList = data.enterpriseInfos;
this.crewUpdateList = [];
}
- this.$refs['addForm1'].clearValidate();
+ this.$refs["addForm1"].clearValidate();
this.addForm1.inspectManId = this.checkPointList;
},
// 切换检查时间
@@ -3094,6 +3229,7 @@ export default {
status: "",
urgentLevel: "",
regionId: "",
+ dangerInfoId:""
};
this.pageNo = 1;
this.pageSize = 10;
@@ -3102,7 +3238,16 @@ export default {
//查询按钮 分页列表查询
onSubmit() {
- let data = this.formInline;
+ let data = {...this.formInline};
+ console.log(data.dangerInfoId);
+ if(data.dangerInfoId.length > 0){
+ data.dangerInfoLevel = data.dangerInfoId.length;
+ data.dangerInfoId = data.dangerInfoId[data.dangerInfoId.length - 1];
+ } else {
+ data.dangerInfoLevel = "";
+ data.dangerInfoId = "";
+ }
+
data.projectSn = this.projectSn;
data.pageNo = this.pageNo;
data.pageSize = this.pageSize;
@@ -3117,8 +3262,8 @@ export default {
},
//新增按钮
- addBtn(type) {
- console.log(type)
+ addBtn(type) {
+ console.log(type);
if (type == 1) {
this.type = "detail";
this.addTitle =
@@ -3137,9 +3282,9 @@ export default {
// 逻辑结束
this.addDialog = true;
this.getPositionList();
- this.getDescribeClassifyList();
+ // this.getDescribeClassifyList();
this.getPeopleList();
-
+
// this.getPeopleUpdateList();
this.getRoutineInspect();
this.close();
@@ -3205,13 +3350,16 @@ export default {
//获取去整改人 通知人 检查人 核查人下拉
getReviewPeopleList(regionId) {
- if(regionId instanceof Array){
+ if (regionId instanceof Array) {
this.addForm1.reviewId = ""; // 先清空复查人
}
let data = {
projectSn: this.projectSn,
// enterpriseTypeId: 7,
- qualityRegionId: (regionId instanceof Array) ? regionId[regionId.length - 1].toString() : regionId,
+ qualityRegionId:
+ regionId instanceof Array
+ ? regionId[regionId.length - 1].toString()
+ : regionId,
// qualityRegionId: regionId.toString(),
qualityRegionBindType: 2,
isSupervisingRoleName: 1,
@@ -3238,7 +3386,7 @@ export default {
let data = {
projectSn: this.projectSn,
enterpriseId: this.unitEnterpriseId,
- qualityRegionId: this.unitRegionId
+ qualityRegionId: this.unitRegionId,
};
getProjectChilderSystemUserListApi(data).then((res) => {
if (res.code == 200) {
@@ -3261,15 +3409,13 @@ export default {
this.$refs["cascaderAddr"].getCheckedNodes()[0].pathLabels.length >=
3
) {
- this.addForm1.level = this.$refs[
- "cascaderAddr"
- ].getCheckedNodes()[0].data.level;
+ this.addForm1.level =
+ this.$refs["cascaderAddr"].getCheckedNodes()[0].data.level;
} else {
this.addForm1.level = "";
}
- this.addForm1.remark = this.$refs[
- "cascaderAddr"
- ].getCheckedNodes()[0].data.remark;
+ this.addForm1.remark =
+ this.$refs["cascaderAddr"].getCheckedNodes()[0].data.remark;
this.addForm1.dangerItemContent = pathLabels[0].pathLabels
.map((item) => {
@@ -3284,9 +3430,8 @@ export default {
} else {
// this.addForm2.level =
// this.$refs['cascaderAddr2'].getCheckedNodes()[0].data.level
- this.addForm2.remark = this.$refs[
- "cascaderAddr2"
- ].getCheckedNodes()[0].data.remark;
+ this.addForm2.remark =
+ this.$refs["cascaderAddr2"].getCheckedNodes()[0].data.remark;
this.addForm2.dangerItemContent = pathLabels2[0].pathLabels
.map((item) => {
@@ -3346,8 +3491,8 @@ export default {
this.getPeopleList();
// this.getPeopleUpdateList();
const newArr = [];
- console.log(this.areaData,777999333)
- if(this.areaData.systemUsers){
+ console.log(this.areaData, 777999333);
+ if (this.areaData.systemUsers) {
this.areaData.systemUsers.filter((item) => {
if (item.userId && item.enterpriseId == this.unitEnterpriseId) {
newArr.push(item);
@@ -3362,11 +3507,15 @@ export default {
beforeUpload(file, type) {
if (type == 1 || type == 3 || type == 5) {
// console.log(this.fileList1.length)
- if(this.fileList1.length >= 5 || this.fileList3.length >= 5 || this.fileListRectification .length >= 5){
+ if (
+ this.fileList1.length >= 5 ||
+ this.fileList3.length >= 5 ||
+ this.fileListRectification.length >= 5
+ ) {
this.$message.warning("最多只能上传5张图片");
return false;
}
- return true
+ return true;
}
if (type == 2 || type == 4) {
const fileType = file.type;
@@ -3391,7 +3540,7 @@ export default {
// this.$message.warning("最多只能上传5张图片");
// return false;
// } else {
-
+
// }
this.fileList1.push(data);
} else if (type == 2) {
@@ -3410,7 +3559,7 @@ export default {
// this.$message.warning("最多只能上传5张图片");
// return false;
// } else {
-
+
// }
this.fileList3.push(data);
} else if (type == 4) {
@@ -3546,14 +3695,14 @@ export default {
w,
h;
if (oImg.naturalWidth) {
- oImg.onload = function() {
+ oImg.onload = function () {
w = oImg.naturalWidth;
h = oImg.naturalHeight;
};
} else {
// IE 6/7/8
var nImg = new Image();
- nImg.onload = function() {
+ nImg.onload = function () {
w = nImg.width;
h = nImg.height;
};
@@ -3614,9 +3763,8 @@ export default {
this.addForm1.regionId.length > 1
? this.addForm1.regionId[this.addForm1.regionId.length - 1]
: this.addForm1.regionId[0];
- data.dangerItemId = this.addForm1.dangerItemId[
- this.addForm1.dangerItemId.length - 1
- ];
+ data.dangerItemId =
+ this.addForm1.dangerItemId[this.addForm1.dangerItemId.length - 1];
data.dangerTypeId = this.addForm1.dangerItemId[0];
let pointArr = [];
for (let i = 0; i < this.pointList.length; i++) {
@@ -3650,9 +3798,8 @@ export default {
this.addForm2.regionId.length > 1
? this.addForm2.regionId[this.addForm2.regionId.length - 1]
: this.addForm2.regionId[0];
- data.dangerItemId = this.addForm2.dangerItemId[
- this.addForm2.dangerItemId.length - 1
- ];
+ data.dangerItemId =
+ this.addForm2.dangerItemId[this.addForm2.dangerItemId.length - 1];
data.dangerTypeId = this.addForm2.dangerItemId[0];
// data.regionId = this.addForm2.regionId
// ? this.addForm2.regionId.pop()
@@ -3717,15 +3864,17 @@ export default {
let data = {};
if (this.recordType == 1) {
data = JSON.parse(JSON.stringify(this.addForm1));
- if(Array.isArray(data.regionId)){
+ if (Array.isArray(data.regionId)) {
data.regionId =
this.addForm1.regionId.length > 1
? this.addForm1.regionId[this.addForm1.regionId.length - 1]
: this.addForm1.regionId[0];
}
- if(Array.isArray(data.dangerItemId)){
+ if (Array.isArray(data.dangerItemId)) {
data.dangerItemId =
- this.addForm1.dangerItemId[this.addForm1.dangerItemId.length - 1];
+ this.addForm1.dangerItemId[
+ this.addForm1.dangerItemId.length - 1
+ ];
data.dangerTypeId = this.addForm1.dangerItemId[0];
}
let pointArr = [];
@@ -3751,7 +3900,7 @@ export default {
console.log("data=============", this.addForm1.notifyPerson);
console.log("data=============", imgUrl);
console.log("data=============", fileUrl);
- if(this.addForm1.notifyPerson){
+ if (this.addForm1.notifyPerson) {
data.notifyPerson = this.addForm1.notifyPerson.join(",");
}
data.imageUrl = imgUrl.join(",");
@@ -3761,16 +3910,18 @@ export default {
}
} else {
data = JSON.parse(JSON.stringify(this.addForm2));
- if(Array.isArray(data.regionId)){
- data.regionId =
- this.addForm2.regionId.length > 1
- ? this.addForm2.regionId[this.addForm2.regionId.length - 1]
- : this.addForm2.regionId[0];
+ if (Array.isArray(data.regionId)) {
+ data.regionId =
+ this.addForm2.regionId.length > 1
+ ? this.addForm2.regionId[this.addForm2.regionId.length - 1]
+ : this.addForm2.regionId[0];
}
- if(Array.isArray(data.dangerItemId)){
- data.dangerItemId =
- this.addForm2.dangerItemId[this.addForm2.dangerItemId.length - 1];
- data.dangerTypeId = this.addForm2.dangerItemId[0];
+ if (Array.isArray(data.dangerItemId)) {
+ data.dangerItemId =
+ this.addForm2.dangerItemId[
+ this.addForm2.dangerItemId.length - 1
+ ];
+ data.dangerTypeId = this.addForm2.dangerItemId[0];
}
// data.regionId = this.addForm2.regionId
// ? this.addForm2.regionId.pop()
@@ -3831,18 +3982,18 @@ export default {
},
close() {
- if(this.addTitle == '编辑') return;
+ if (this.addTitle == "编辑") return;
// this.mapUrl = ''
- this.fileList1 = []
- this.fileList2 = []
- this.fileList3 = []
- this.fileList4 = []
- this.$nextTick(()=>{
- this.$refs.addForm1.clearValidate() //清除所有验证
- this.$refs.addForm2.clearValidate() //清除所有验证
- })
-
- this.hideUpload = false
+ this.fileList1 = [];
+ this.fileList2 = [];
+ this.fileList3 = [];
+ this.fileList4 = [];
+ this.$nextTick(() => {
+ this.$refs.addForm1.clearValidate(); //清除所有验证
+ this.$refs.addForm2.clearValidate(); //清除所有验证
+ });
+
+ this.hideUpload = false;
if (this.recordType == 1) {
this.addForm1 = {
regionId: "",
@@ -3922,7 +4073,7 @@ export default {
position: absolute;
top: -30px;
right: 0;
- display:flex;
+ display: flex;
.timestamp_red {
background: red;
color: #fff;
@@ -3931,7 +4082,7 @@ export default {
}
.timestamp_bule {
margin-left: 10px;
- background: #5181F6;
+ background: #5181f6;
color: #fff;
padding: 4px 8px;
border-radius: 5px;
diff --git a/src/views/projectFront/safetyEducation/securityRiskAnalysis.vue b/src/views/projectFront/safetyEducation/securityRiskAnalysis.vue
index 82c8a7d5..b8cc7dec 100644
--- a/src/views/projectFront/safetyEducation/securityRiskAnalysis.vue
+++ b/src/views/projectFront/safetyEducation/securityRiskAnalysis.vue
@@ -1,1041 +1,1149 @@
-
-
-
-
-
-
-
人员风险概览
-
+
-
-
-
{{ safeScoreInfo.lowRiskNum }}
-
低风险
-
-
-
{{ safeScoreInfo.mediumRiskNum }}
-
中等风险
-
-
-
{{ safeScoreInfo.highRiskNum }}
-
高风险
-
-
-
-
-
-
-
企业安全评分汇总表
-
+
-
-
-
-
-

-
暂无数据
-
-
-
-
-
-
-
-
-
-
-
-

-
暂无数据
-
-
-
-
+
+
+
+
+
+

+
暂无数据
+
-
-
+
+
+
+
+
+
+
+

+
暂无数据
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- {{ item.workerName }}
-
-
-
-
-
-
-
-
-
-
-
-

-
暂无数据
-
-
+
+
+
+
+
+
+
+
+

+
暂无数据
+
-
-
-
-
{{ deductScoreInfo.safeScore }}
-
当前分数
-
-
-
-
-
-
{{ deductScoreInfo.workerName }}
-
加/扣分分数: {{ item.deductScore }}
-
-
{{ item.deductScore >= 0 ? '加分原因' : '扣分原因' }}:{{ item.deductReason }}
-
-
-
-

-
暂无数据
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ deductScoreInfo.safeScore }}
+
当前分数
+
+
+
+
+
+
{{ deductScoreInfo.workerName }}
+
加/扣分分数: {{ item.deductScore }}
+
+
+ {{ item.deductScore >= 0 ? "加分原因" : "扣分原因" }}:{{ item.deductReason }}
+
+
+
+
+

+
暂无数据
+
+
+
+
+
\ No newline at end of file
+