From cfd52860332a40873059bda8db18fea054b6c501 Mon Sep 17 00:00:00 2001 From: zhushengzhe Date: Tue, 5 Sep 2023 14:46:27 +0800 Subject: [PATCH 01/10] =?UTF-8?q?fix=EF=BC=9A=E9=A3=8E=E9=99=A9=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/risk/assessment/areaAnal/areaAnal.component.vue | 2 +- src/views/risk/unit/unit.component.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/risk/assessment/areaAnal/areaAnal.component.vue b/src/views/risk/assessment/areaAnal/areaAnal.component.vue index e7f78df..4a6ea32 100644 --- a/src/views/risk/assessment/areaAnal/areaAnal.component.vue +++ b/src/views/risk/assessment/areaAnal/areaAnal.component.vue @@ -95,7 +95,7 @@ export default class AreaAnalComponent extends BaseRecordComponent { }); this.tableColumn.push({ name: '区域固有风险', render: (data) => { - return "" + (data.analRiskLevel ? (this.$store.getters.prevention_risk_level_map[data.analRiskLevel] + this.numberForMat[data.analRiskLevel]) : '') + "" + return "" + (data.analRiskLevel ? (this.$store.getters.prevention_risk_level_map[data.analRiskLevel] + this.numberForMat[data.analRiskLevel]) : '待评估') + "" } }); this.tableColumn.push({ diff --git a/src/views/risk/unit/unit.component.vue b/src/views/risk/unit/unit.component.vue index 37a9c99..2f30d01 100644 --- a/src/views/risk/unit/unit.component.vue +++ b/src/views/risk/unit/unit.component.vue @@ -372,7 +372,7 @@ export default class UnitManagerComponent extends BaseRecordComponent { } public getAreaList(){ - this.areaService.selectByPage({pageSize:10}).then((res:any)=>{ + this.areaService.selectByPage({pageSize:1000}).then((res:any)=>{ this.areaList = res.data.datas.map(item=>{ this.areaNoMap[item.id] = item.number; return { From 1eb0cdccf704c5f568223aae79f3b94332eadb67 Mon Sep 17 00:00:00 2001 From: zhushengzhe Date: Tue, 5 Sep 2023 18:08:26 +0800 Subject: [PATCH 02/10] =?UTF-8?q?fix=EF=BC=9A=E5=B7=A5=E4=BD=9C=E6=8E=A8?= =?UTF-8?q?=E8=BF=9B=E6=9C=BA=E5=88=B6=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/workprogress/leader.component.vue | 27 +++++++++++-------- .../managementSystem.component.vue | 10 +++---- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/views/workprogress/leader.component.vue b/src/views/workprogress/leader.component.vue index 1c3b522..617a603 100644 --- a/src/views/workprogress/leader.component.vue +++ b/src/views/workprogress/leader.component.vue @@ -598,22 +598,27 @@ export default class LeadershipStructure extends BaseRecordComponent { //删除成员 public deleteSubData(indexs) { - this.$confirm('确认删除所选数据', '确认数据', { + if(indexs.length === 0){ + this.$message.warning("请选择要删除的数据!") + }else{ + this.$confirm('确认删除所选数据', '确认数据', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' - }).then(() => { - for (let i = this.updateParams.members.length - 1; i >= 0; i--) { - if (indexs.includes(i)) { - this.updateParams.members.splice(i, 1) + }).then(() => { + for (let i = this.updateParams.members.length - 1; i >= 0; i--) { + if (indexs.includes(i)) { + this.updateParams.members.splice(i, 1) + } } - } - this.updateParams.members.forEach((item, index) => { - item.index = index + 1; + this.updateParams.members.forEach((item, index) => { + item.index = index + 1; + }); + this.$message.success("删除成功") + }).catch(() => { + // }); - }).catch(() => { - // - }); + } } public changes(data, item) { diff --git a/src/views/workprogress/managementSystem.component.vue b/src/views/workprogress/managementSystem.component.vue index 940ab7b..d3dc057 100644 --- a/src/views/workprogress/managementSystem.component.vue +++ b/src/views/workprogress/managementSystem.component.vue @@ -273,12 +273,10 @@ export default class ManagementSystem extends BaseRecordComponent { }); this.tableColumn.push({ name: '状态', key: "status",width:"80px", render: (data) => { - if (data.status) { - if (data.status === 1) { - return `${'在用'}` - } else if (data.status === 2) { - return `${'废弃'}` - } + if (data.status === 1) { + return `${'在用'}` + } else if (data.status === 0) { + return `${'废弃'}` } } }); From 9c275101e11be0678e5ddbad9866ada1a765a45b Mon Sep 17 00:00:00 2001 From: kongyeqing <2697454777@qq.com> Date: Tue, 5 Sep 2023 18:10:23 +0800 Subject: [PATCH 03/10] =?UTF-8?q?fit:=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/workprogress/leader.component.vue | 23 ++++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/views/workprogress/leader.component.vue b/src/views/workprogress/leader.component.vue index 1c3b522..a58050b 100644 --- a/src/views/workprogress/leader.component.vue +++ b/src/views/workprogress/leader.component.vue @@ -103,12 +103,14 @@ export default class LeadershipStructure extends BaseRecordComponent { type: "text", }, { name: "负责人", - key: "chargeUserName", - type: "text", + key: "chargeUserId", + type: "select", + datas: this.$store.state.userList, }, { name: "成立时间", key: "establishTime", type: "date", + format: "yyyy-MM-dd" }]; public subActions = [{ @@ -304,8 +306,8 @@ export default class LeadershipStructure extends BaseRecordComponent { this.subTableColumn.push({ name: '序号', key: "index", }); - this.subTableColumn.push({ name: '姓名', key: "userName",}); - this.subTableColumn.push({ name: '单位', key: "deptName",}); + this.subTableColumn.push({ name: '姓名', key: "userName", }); + this.subTableColumn.push({ name: '单位', key: "deptName", }); this.subTableColumn.push({ name: '职务', key: "duty", }); this.subTableColumn.push({ name: '联系方式', key: "phone" }); this.subTableColumn.push({ name: '职责描述', key: "description", width: "250px", showTip: true, }); @@ -366,6 +368,7 @@ export default class LeadershipStructure extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } public doSave(goOn?) { @@ -394,7 +397,7 @@ export default class LeadershipStructure extends BaseRecordComponent { } as any this.showUpdate = !!goOn; this.getTableData(); - + this.fileList = []; if (goOn === true) { this.getFormNumber() } @@ -461,7 +464,7 @@ export default class LeadershipStructure extends BaseRecordComponent { } public onRemove(file, fileList) { - this.fileList.splice(this.fileList.findIndex(item => item.id === file.response.data.id), 1) + this.fileList.splice(this.fileList.findIndex(item => item.id === file.id), 1) } public showModal(row, isReadonly) { @@ -587,10 +590,10 @@ export default class LeadershipStructure extends BaseRecordComponent { public showSubModal(row, isReadonly) { if (isReadonly) { this.subIsReadonly = true - this.subUpdateParams = row + this.subUpdateParams = JSON.parse(JSON.stringify(row)) } else { this.subIsReadonly = false - this.subUpdateParams = row + this.subUpdateParams = JSON.parse(JSON.stringify(row)) } this.subShowUpdate = true this.buildSubForm() @@ -622,11 +625,11 @@ export default class LeadershipStructure extends BaseRecordComponent { //预览附件 - public previewFile(url,file) { + public previewFile(url, file) { if (file.type.indexOf("png") >= 0 || file.type.indexOf("jp") >= 0) { this.currentUrl = file.url; this.showFile = true; - } else{ + } else { window.open('http://119.45.186.133:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(url)), "_blank") } } From 598c8b67fa044f165c5535d83c285613e9a7cd40 Mon Sep 17 00:00:00 2001 From: kongyeqing <2697454777@qq.com> Date: Tue, 5 Sep 2023 18:13:13 +0800 Subject: [PATCH 04/10] =?UTF-8?q?fit:=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/analEvaluation.component.vue | 2 +- src/components/draw.component.vue | 2 +- src/components/map.component.vue | 2 +- src/global.d.ts | 1 + src/router/index.ts | 6 + src/service/unit.service.ts | 6 + src/views/common.component.scss | 2 +- .../hiddenDanger/rules/rules.component.html | 109 +++---- .../hiddenDanger/rules/rules.component.vue | 289 +++++++++--------- .../hiddenDanger/safe/action.component.vue | 1 + src/views/risk/area/area.component.vue | 2 +- src/views/risk/areaUnit.component.html | 15 +- .../areaAnal/areaAnal.component.html | 4 - .../areaAnal/areaAnal.component.vue | 42 ++- .../risk/assessment/work/work.component.vue | 11 +- src/views/workprogress/leader.component.vue | 10 +- 16 files changed, 284 insertions(+), 220 deletions(-) diff --git a/src/components/analEvaluation.component.vue b/src/components/analEvaluation.component.vue index 0ff10d6..8635bb0 100644 --- a/src/components/analEvaluation.component.vue +++ b/src/components/analEvaluation.component.vue @@ -1153,7 +1153,7 @@ export default class AnalEvaluationComponent extends Vue { } } - //整理数据 + public collationAnalysisDataMethod() { this.analysisUpdateParams.measuresNum = this.analysisUpdateParams.measures.length; this.analysisUpdateParams.seriousResult = this.analysisUpdateParams.seriousResult.join(","); diff --git a/src/components/draw.component.vue b/src/components/draw.component.vue index ad3053e..bcdbecd 100644 --- a/src/components/draw.component.vue +++ b/src/components/draw.component.vue @@ -11,7 +11,7 @@
- +
{ - return [118.751353,31.969568] + return [119.592977,34.523847] } }) center:number[] diff --git a/src/global.d.ts b/src/global.d.ts index 105d56e..3f000bf 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -2,4 +2,5 @@ declare module 'common/notFound'; declare module 'common/index'; declare module 'common/layout'; +declare module 'common/login'; declare module 'file-saver' \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index 5900e81..f2e508b 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -2,6 +2,7 @@ import Vue from 'vue' import VueRouter, { RouteConfig } from 'vue-router' import pageNoFoundComponent from 'common/notFound' import indexComponent from 'common/index' +import LoginComponent from 'common/login' import LayoutComponent from "common/layout" import HomeComponent from '@/views/home/home.component.vue' import BlankComponent from "@/views/blank.component.vue" @@ -316,6 +317,11 @@ const routes: Array = [ name: 'index', component:indexComponent }, + { + path: '/login', + name: 'login', + component:LoginComponent + }, { path: '*', name: '404', diff --git a/src/service/unit.service.ts b/src/service/unit.service.ts index 83884b6..c327016 100644 --- a/src/service/unit.service.ts +++ b/src/service/unit.service.ts @@ -36,6 +36,12 @@ export default class UnitService extends BaseService{ return this.post(url,params,{},showLoading) } + //获取单元详情 + public getUnitDetail(params):Promise>>{ + const url = this.prefix.prevention+'/risk/unit/repairList'; + return this.get(url,params) + } + // 新增或更新 public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise>>{ diff --git a/src/views/common.component.scss b/src/views/common.component.scss index 0d1e05d..a1d2ca5 100644 --- a/src/views/common.component.scss +++ b/src/views/common.component.scss @@ -195,7 +195,7 @@ color: #F56C6C; margin-left: -43px; margin-bottom: 20px; - margin-top: -20px; + margin-top: -10px; font-size: 20px; scale:0.5; } \ No newline at end of file diff --git a/src/views/hiddenDanger/rules/rules.component.html b/src/views/hiddenDanger/rules/rules.component.html index 6f3f8ef..36fb548 100644 --- a/src/views/hiddenDanger/rules/rules.component.html +++ b/src/views/hiddenDanger/rules/rules.component.html @@ -1,15 +1,15 @@ -
+
- - - @@ -19,96 +19,99 @@ - +
- - + +
检查项目
- - - + - + - -
- - + + - + - - - - + + + + + + + + +
+ 取消 + 确定 +
\ No newline at end of file diff --git a/src/views/hiddenDanger/rules/rules.component.vue b/src/views/hiddenDanger/rules/rules.component.vue index 8a07cf3..51680dc 100644 --- a/src/views/hiddenDanger/rules/rules.component.vue +++ b/src/views/hiddenDanger/rules/rules.component.vue @@ -12,7 +12,7 @@ import RuleService from '@/service/rule.service'; import { number } from 'echarts'; @Component({ template, - components:{ + components: { FormComponent, TableComponent, DrawComponent, @@ -28,45 +28,45 @@ export default class RulesComponent extends BaseRecordComponent { public isManager = false; public formActions = [{ - name:"查询", - value:"search", - icon:"el-icon-search", - type:"primary" - },{ - name:"清空", - icon:"el-icon-tickets", - value:"reset" + name: "查询", + value: "search", + icon: "el-icon-search", + type: "primary" + }, { + name: "清空", + icon: "el-icon-tickets", + value: "reset" }]; public tableActions = [{ - name:"添加", - value:"add", - icon:"el-icon-plus", - type:"primary" - },{ - name:"批量删除", - value:"delete", - plain:true, - icon:"el-icon-delete", - type:"danger" + name: "添加", + value: "add", + icon: "el-icon-plus", + type: "primary" + }, { + name: "批量删除", + value: "delete", + plain: true, + icon: "el-icon-delete", + type: "danger" }]; public footerActions = [{ - name:"选择全部", - value:"selectAll", - type:"primary" - },{ - name:"反向选择", - value:"reverse" + name: "选择全部", + value: "selectAll", + type: "primary" + }, { + name: "反向选择", + value: "reverse" }]; - public formOptions:FormOption[] = [{ - name:"检查项目", - key:"name", - type:"text", + public formOptions: FormOption[] = [{ + name: "检查项目", + key: "name", + type: "text", }]; public showUpdate = false; public currentId = -1; - public updateParams = {} as any; - public updateOptions:FormOption[] = []; + public updateParams = {} as any; + public updateOptions: FormOption[] = []; public showDraw = false; @@ -74,184 +74,201 @@ export default class RulesComponent extends BaseRecordComponent { public drawModel = "list"; - public updateActions = [{ - name:"取消", - value:"cancel" - },{ - name:"保存并继续添加", - value:"saveAndContinue", - type:"primary" - },{ - name:"保存", - value:"save", - type:"primary" - }]; + public updateActions = [] as any; public selectData = []; - - created(){ + + created() { } - public getTableCallback(){ + public getTableCallback() { this.updateOptions = [{ - name:"检查标准编号", - key:"number", - type:"text", - width:"calc(50% - 20px)", - require:true, - showError:false, - disable:true, - },{ - name:"检查项目", - key:"name", - type:"text", - width:"calc(50% - 20px)", - require:true, - showError:false, - },{ - name:"检查内容", - key:"content", - type:"textarea", - width:"100%", - require:true, - showError:false, - },{ - name:"检查依据", - key:"reason", - type:"textarea", - width:"100%", - require:true, - showError:false, - },{ - name:"类型", - key:"type", - format:"typeName", - type:"select", - width:"100%", - require:true, - datas:this.$store.state.prevention_dangrous_type + name: "检查标准编号", + key: "number", + type: "text", + width: "calc(50% - 20px)", + require: true, + showError: false, + disable: true, + }, { + name: "检查项目", + key: "name", + type: "text", + width: "calc(50% - 20px)", + require: true, + showError: false, + }, { + name: "检查内容", + key: "content", + type: "textarea", + width: "100%", + require: true, + showError: false, + }, { + name: "检查依据", + key: "reason", + type: "textarea", + width: "100%", + require: true, + showError: false, + }, { + name: "类型", + key: "type", + format: "typeName", + type: "select", + width: "100%", + require: true, + multiple: true, + showError: false, + datas: this.$store.state.prevention_dangrous_type + }] + this.updateActions = [{ + name: "取消", + value: "cancel" + }, { + name: "保存并继续添加", + value: "saveAndContinue", + type: "primary", + hide: this.updateParams.id + }, { + name: "保存", + value: "save", + type: "primary" }] } - public buildTable(){ - this.tableColumn.push({name:'检查项目',key:"name"}); - this.tableColumn.push({name:'检查内容',key:"content",showTip:true}); - this.tableColumn.push({name:'检查依据',key:"reason",showTip:true}); - this.tableColumn.push({name:'分类',key:"type",render:(data)=>{ - return this.$store.getters.prevention_dangrous_type_map[data.type] - }}); + public buildTable() { + this.tableColumn.push({ name: '检查项目', key: "name" }); + this.tableColumn.push({ name: '检查内容', key: "content", showTip: true }); + this.tableColumn.push({ name: '检查依据', key: "reason", showTip: true }); + this.tableColumn.push({ + name: '分类', key: "type", render: (data) => { + return data.type.split(',').map(item => { + return this.$store.getters.prevention_dangrous_type_map[item] + }).join(",") + } + }); } - public change(data,item){ + public change(data, item) { // } - public callback(data,type?){ - if(type){ + public callback(data, type?) { + if (type) { this.params[type] = data; this.getTableData(); return } // 查询 - if(data && data.value==="search"){ + if (data && data.value === "search") { this.getTableData() - // 重置 - }else if(data && data.value === "reset"){ + // 重置 + } else if (data && data.value === "reset") { this.reset() - // 反选 - }else if(data && data.value === "reverse"){ + // 反选 + } else if (data && data.value === "reverse") { this.toggleAll() - // 全选 - }else if(data && data.value === "selectAll"){ + // 全选 + } else if (data && data.value === "selectAll") { this.selectAll() - }else if(data && data.value === "add"){ + } else if (data && data.value === "add") { this.showUpdateModel() - }else if(data && data.value === "delete"){ - this.deleteData(this.selectData.map((item:any)=>item.id)); + } else if (data && data.value === "delete") { + this.deleteData(this.selectData.map((item: any) => item.id)); this.clearSelect() - }else if(data && data.value.indexOf("save")>=0){ - this.doSave(data.value!=="save") - }else{ + } else if (data && data.value.indexOf("save") >= 0) { + this.doSave(data.value !== "save") + } else { this.handleClose(); } } // 重置数据 - public reset(){ + public reset() { this.params = { - name:"", - pageNum:1, - pageSize:20, + name: "", + pageNum: 1, + pageSize: 20, } as any; } - - public doSave(goOn?){ - this.tableService.addOrUpdate(this.updateParams,this.currentId===-1).then((res=>{ - this.$message.success(this.currentId===-1?"新增成功!":"编辑成功"); + /** + * 数据保存 + * @param goOn + */ + public doSave(goOn?) { + this.updateParams.type = this.updateParams.type.join(',') + this.tableService.addOrUpdate(this.updateParams, this.currentId === -1).then((res => { + this.$message.success(this.currentId === -1 ? "新增成功!" : "编辑成功"); this.showUpdate = !!goOn; - this.updateParams = {number:null} as any; - if(goOn){ - this.tableService.getNumber().then(res=>{ + this.updateParams = { number: null } as any; + if (goOn) { + this.tableService.getNumber().then(res => { this.updateParams.number = res.data }) } this.getTableData(); - })) } - public showUpdateModel(row?,isRead?){ - - this.updateParams = Object.assign({number:null}) + public showUpdateModel(row?, isRead?) { + this.updateParams = Object.assign({ number: null }) this.isReadonly = !!isRead; - if(!row){ + if (!row) { this.currentId = -1; - this.tableService.getNumber().then(res=>{ + this.tableService.getNumber().then(res => { this.updateParams.number = res.data }) - }else{ - this.updateParams = Object.assign({number:null,typeName:this.$store.getters.prevention_dangrous_type_map[row.type]},row) + } else { + this.updateParams = Object.assign({ + number: null, + typeName: row.type.split(',').map(item => { + return this.$store.getters.prevention_dangrous_type_map[item] + }).join(",") + }, row) + this.updateParams.type = row.type.split(',').map((item: any) => parseInt(item)) this.currentId = row.id; } this.clearSelect(); - this.showUpdate = true + this.getTableCallback() + this.showUpdate = true; } - public clearSelect(){ + public clearSelect() { (this.$refs.multipleTable as any).clearSelection(); this.selectData = []; } - public handleClose(){ + public handleClose() { this.showUpdate = false; this.clearSelect(); } public toggleAll() { - - this.tableData.datas.forEach((item,index)=>{ + + this.tableData.datas.forEach((item, index) => { (this.$refs.multipleTable as any).toggleRowSelection(item); }) } - public selectAll(){ - if(!this.selectData.length){ + public selectAll() { + if (!this.selectData.length) { this.toggleAll() - }else{ - this.tableData.datas.forEach((item,index)=>{ - const find = this.selectData.find((data:any)=>data.id === item.id); - if(!find){ + } else { + this.tableData.datas.forEach((item, index) => { + const find = this.selectData.find((data: any) => data.id === item.id); + if (!find) { (this.$refs.multipleTable as any).toggleRowSelection(item); } }) } } - public handleSelectionChange(data){ + public handleSelectionChange(data) { this.selectData = data; } } diff --git a/src/views/hiddenDanger/safe/action.component.vue b/src/views/hiddenDanger/safe/action.component.vue index e2cd102..db1e02a 100644 --- a/src/views/hiddenDanger/safe/action.component.vue +++ b/src/views/hiddenDanger/safe/action.component.vue @@ -544,6 +544,7 @@ export default class RulesManagerComponent extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } public getMap(map) { diff --git a/src/views/risk/area/area.component.vue b/src/views/risk/area/area.component.vue index 9b87721..ed6321f 100644 --- a/src/views/risk/area/area.component.vue +++ b/src/views/risk/area/area.component.vue @@ -111,7 +111,7 @@ export default class AreaManagerComponent extends BaseRecordComponent { created() { - +// } public buildFormOptions() { diff --git a/src/views/risk/areaUnit.component.html b/src/views/risk/areaUnit.component.html index d5b3cb7..cb7660c 100644 --- a/src/views/risk/areaUnit.component.html +++ b/src/views/risk/areaUnit.component.html @@ -1,13 +1,13 @@
- + @@ -54,12 +54,9 @@ :data.sync="updateParams" @actionCallback="callback" :actions="updateActions" :full-btn="true" @change="change" btn-position="center"> *注:安全风险分析对象编码即危险化学品登记综合服务系统中的危险源编码 - -
停用/检修记录
- + :showFooter="false" style="margin-bottom: 20px;height: 200px;"> diff --git a/src/views/risk/assessment/areaAnal/areaAnal.component.html b/src/views/risk/assessment/areaAnal/areaAnal.component.html index f91dc87..adc2826 100644 --- a/src/views/risk/assessment/areaAnal/areaAnal.component.html +++ b/src/views/risk/assessment/areaAnal/areaAnal.component.html @@ -91,11 +91,7 @@
{{scope.row.type4}}
- - - -
diff --git a/src/views/risk/assessment/areaAnal/areaAnal.component.vue b/src/views/risk/assessment/areaAnal/areaAnal.component.vue index 4a6ea32..1dcb7eb 100644 --- a/src/views/risk/assessment/areaAnal/areaAnal.component.vue +++ b/src/views/risk/assessment/areaAnal/areaAnal.component.vue @@ -144,11 +144,18 @@ export default class AreaAnalComponent extends BaseRecordComponent { this.showUpdate = true } - // 新增 添加L/S值 - public addVal(el, row) { + /** + * 新增 添加L/S值 + * @param el + * @param row 当前行数据 + */ + public addVal(el: any, row: any) { + this.riskLDatas = []; + this.riskSDatas = []; this.currentRow = row; this.cacheCurrentRow = JSON.parse(JSON.stringify(row)); - this.riskLDatas = riskLData; + this.riskLDatas = JSON.parse(JSON.stringify(riskLData)); + this.riskSDatas = JSON.parse(JSON.stringify(riskSData)); this.popTitle = 'L'; const lData = JSON.parse(row.analLikelihoodContent || "[]"); const sData = JSON.parse(row.analSeverityContent || "[]"); @@ -222,7 +229,30 @@ export default class AreaAnalComponent extends BaseRecordComponent { } if (row[column.property] !== '/') { row.value = column.index - 1 + this.countEstimateValue() } + + } + + public countEstimateValue() { + let value: number = 0; + let len: number = 0; + let tmpRiskDatas = [] + if (this.popTitle === 'L') { + tmpRiskDatas = this.riskLDatas + } + if (this.popTitle === 'S') { + tmpRiskDatas = this.riskSDatas + } + tmpRiskDatas.forEach((item: any) => { + if (item.value && typeof (item.value) === 'number') { + len = len + 1 + value = value + item.value + } + }) + tmpRiskDatas.forEach((item: any) => { + item.result = Math.round(value / len).toString() + }) } public startEdit(row) { @@ -274,7 +304,9 @@ export default class AreaAnalComponent extends BaseRecordComponent { this.popTitle = 'S'; this.stepsActive = 2; this.riskLDatas[0].value = value; - this.riskSDatas = JSON.parse(JSON.stringify(riskSData)); + if (this.riskSDatas.length === 0) { + this.riskSDatas = JSON.parse(JSON.stringify(riskSData)); + } this.updateBtn(); } else { this.currentRow.analSeverityContent = content; @@ -304,7 +336,7 @@ export default class AreaAnalComponent extends BaseRecordComponent { //单选 public selectRadioData(data) { - console.log('data', data); + // console.log('data', data); } //点击L 步骤 diff --git a/src/views/risk/assessment/work/work.component.vue b/src/views/risk/assessment/work/work.component.vue index 2d78b88..7cf91bf 100644 --- a/src/views/risk/assessment/work/work.component.vue +++ b/src/views/risk/assessment/work/work.component.vue @@ -120,7 +120,7 @@ export default class WorkManagerComponent extends BaseRecordComponent { name: "保存并继续添加", value: "saveAndContinue", type: "primary", - hide:this.updateParams.id + hide: this.updateParams.id }, { name: "保存", value: "save", @@ -137,7 +137,7 @@ export default class WorkManagerComponent extends BaseRecordComponent { name: "保存并继续添加", value: "saveAndContinue", type: "primary", - hide:this.stepUpdateParams.index + hide: this.stepUpdateParams.index }, { name: "保存", value: "save", @@ -470,6 +470,7 @@ export default class WorkManagerComponent extends BaseRecordComponent { } this.showSubUpdate = true; this.subUpdateActionsForm(); + this.buildUpdateForm(); } public doSubDelete(indexs) { @@ -486,6 +487,10 @@ export default class WorkManagerComponent extends BaseRecordComponent { public doSave(goOn?) { + if (this.updateParams.steps.length === 0) { + this.$message.warning("请您至少添加一条作业步骤!"); + return + } // 如果是新增步骤 if (this.showSubUpdate) { // 新增 @@ -598,7 +603,7 @@ export default class WorkManagerComponent extends BaseRecordComponent { this.toggleAll() } else { this.tableData.datas.forEach((item, index) => { - const find = this.selectData.find((data: any) => data.userId === item.userId); + const find = this.selectData.find((data: any) => data.id === item.id); if (!find) { (this.$refs.multipleTable as any).toggleRowSelection(item); } diff --git a/src/views/workprogress/leader.component.vue b/src/views/workprogress/leader.component.vue index 4a6f9e6..4d486d6 100644 --- a/src/views/workprogress/leader.component.vue +++ b/src/views/workprogress/leader.component.vue @@ -601,13 +601,13 @@ export default class LeadershipStructure extends BaseRecordComponent { //删除成员 public deleteSubData(indexs) { - if(indexs.length === 0){ + if (indexs.length === 0) { this.$message.warning("请选择要删除的数据!") - }else{ + } else { this.$confirm('确认删除所选数据', '确认数据', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' }).then(() => { for (let i = this.updateParams.members.length - 1; i >= 0; i--) { if (indexs.includes(i)) { From a2ccbb14d0d8f18991f5848b05000d68292e57ba Mon Sep 17 00:00:00 2001 From: kongyeqing <2697454777@qq.com> Date: Tue, 5 Sep 2023 18:16:28 +0800 Subject: [PATCH 05/10] =?UTF-8?q?feat:=E5=8D=87=E7=BA=A7hbt-common@0.0.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8a287af..48ac692 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "echarts": "^5.4.2", "element-ui": "^2.15.13", "file-saver": "^2.0.5", - "hbt-common": "0.0.7", + "hbt-common": "0.0.8", "js-base64": "^3.7.5", "mapbox-gl": "^2.15.0", "mockjs": "^1.1.0", From 40c79296aa7a9f43d2aa2363ec3f190b97094171 Mon Sep 17 00:00:00 2001 From: zhushengzhe Date: Wed, 6 Sep 2023 15:50:49 +0800 Subject: [PATCH 06/10] =?UTF-8?q?fix=EF=BC=9A=E5=88=86=E9=A1=B5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/emergencyCard.service.ts | 2 +- src/service/programme.service.ts | 6 +++++ src/service/rewardsRecord.service.ts | 2 +- src/service/riskCard.service.ts | 2 +- src/service/safeCard.service.ts | 2 +- src/service/work.service.ts | 2 +- .../rules/rulesManager.component.vue | 21 ++++++++++++--- .../rewardsRecord.component.html | 2 +- .../rewardsRecord/rewardsRecord.component.vue | 4 ++- .../device/deviceAnal.component.vue | 4 +-- .../assessment/work/workAnal.component.vue | 10 ++++--- src/views/threecards/safeCard.component.vue | 5 ++-- .../managementSystem.component.vue | 2 +- .../workprogress/programme.component.vue | 26 ++++++++++++++----- .../workprogress/trainRecords.component.vue | 3 ++- 15 files changed, 67 insertions(+), 26 deletions(-) diff --git a/src/service/emergencyCard.service.ts b/src/service/emergencyCard.service.ts index 724f516..bd132d9 100644 --- a/src/service/emergencyCard.service.ts +++ b/src/service/emergencyCard.service.ts @@ -8,7 +8,7 @@ export default class EmergencyCardService extends BaseService{ // 查询列表 public selectByPage(params: any):Promise>>{ const url = this.prefix.prevention+'/card/handle/getList'; - return this.post(url,params) + return this.get(url,params,true) } // 批量删除 public deleteByIds(params,showLoading?):Promise>>{ diff --git a/src/service/programme.service.ts b/src/service/programme.service.ts index 35f932d..332adad 100644 --- a/src/service/programme.service.ts +++ b/src/service/programme.service.ts @@ -43,4 +43,10 @@ export default class ProgrammeService extends BaseService{ const url = this.prefix.file+'/getSysFiles'; return this.get(url,params,false) } + + //获取适用年度 + public getSuitListData(params:any):Promise>>{ + const url = this.prefix.prevention+'/process/plan/suitList'; + return this.get(url,params) + } } \ No newline at end of file diff --git a/src/service/rewardsRecord.service.ts b/src/service/rewardsRecord.service.ts index 478b132..0a03f90 100644 --- a/src/service/rewardsRecord.service.ts +++ b/src/service/rewardsRecord.service.ts @@ -8,7 +8,7 @@ export default class RewardsRecordService extends BaseService{ // 查询列表 public selectByPage(params: any):Promise>>{ const url = this.prefix.prevention+'/incentive/record/getList'; - return this.post(url,params) + return this.get(url,params,true) } // 批量删除 public deleteByIds(params,showLoading?):Promise>>{ diff --git a/src/service/riskCard.service.ts b/src/service/riskCard.service.ts index 674a293..d7177a4 100644 --- a/src/service/riskCard.service.ts +++ b/src/service/riskCard.service.ts @@ -8,7 +8,7 @@ export default class RiskCardService extends BaseService{ // 查询列表 public selectByPage(params: any):Promise>>{ const url = this.prefix.prevention+'/card/notify/getList'; - return this.post(url,params) + return this.get(url,params,true) } // 批量删除 public deleteByIds(params,showLoading?):Promise>>{ diff --git a/src/service/safeCard.service.ts b/src/service/safeCard.service.ts index c1e51af..c9e3d1b 100644 --- a/src/service/safeCard.service.ts +++ b/src/service/safeCard.service.ts @@ -8,7 +8,7 @@ export default class SafeCardService extends BaseService{ // 查询列表 public selectByPage(params: any):Promise>>{ const url = this.prefix.prevention+'/card/promise/getList'; - return this.post(url,params) + return this.get(url,params,true) } // 批量删除 public deleteByIds(params,showLoading?):Promise>>{ diff --git a/src/service/work.service.ts b/src/service/work.service.ts index ee206d6..561af32 100644 --- a/src/service/work.service.ts +++ b/src/service/work.service.ts @@ -7,7 +7,7 @@ export default class WorkService extends BaseService{ } public selectByPage(params: any):Promise>>{ const url = this.prefix.prevention+'/job/inventory/getList'; - return this.post(url,params,{},true) + return this.get(url,params,true) } public deleteByIds(params):Promise>>{ const url = this.prefix.prevention+'/job/inventory'; diff --git a/src/views/hiddenDanger/rules/rulesManager.component.vue b/src/views/hiddenDanger/rules/rulesManager.component.vue index adf28e2..8446186 100644 --- a/src/views/hiddenDanger/rules/rulesManager.component.vue +++ b/src/views/hiddenDanger/rules/rulesManager.component.vue @@ -282,8 +282,16 @@ export default class RulesManagerComponent extends BaseRecordComponent { public buildTable(){ this.tableColumn = []; this.tableColumn.push({name:'检查表名称',key:"name"}); - this.tableColumn.push({name:'区域名称',key:"areas"}); - this.tableColumn.push({name:'单元名称',key:"units"}); + this.tableColumn.push({name:'区域名称',key:"areas", render: (data) => { + return data.areaIds.split(',').map(item => { + return (this.areaList.find((e: any) => e.value === +item) as any)?.name ?? "" + }).join(",") + }}); + this.tableColumn.push({name:'单元名称',key:"units", render: (data) => { + return data.unitIds.split(',').map(item => { + return (this.unitList.find((e: any) => e.value === +item) as any)?.name ?? "" + }).join(",") + }}); this.tableColumn.push({name:'对象名称',key:"targets"}); this.tableColumn.push({name:'适用部门',key:"depts"}); this.tableColumn.push({name:'适用类型',key:"types",filters:this.$store.state.prevention_dangrous_type.map(item=>{ @@ -293,6 +301,10 @@ export default class RulesManagerComponent extends BaseRecordComponent { } }),filterMethod:(data,row)=>{ return row.types.indexOf(data)>=0; + }, render: (data) => { + return data.types.split(',').map(item => { + return this.$store.getters.prevention_dangrous_type_map[item] + }).join(",") }}); this.tableColumn.push({name:'编制人',key:"createName"}); this.tableColumn.push({name:'编制时间',key:"createTime"}); @@ -499,7 +511,10 @@ export default class RulesManagerComponent extends BaseRecordComponent { this.$message.success(this.currentId===-1?"新增成功!":"编辑成功"); this.getTableData(); this.showUpdate = !!goOn; - this.updateParams = {areas:[],depts:[],units:[],types:[],targets:[],number:null} as any; + this.updateParams = {areas:[],depts:[],units:[],types:[],targets:[],number:null,tableItems:[]} as any; + if(!!goOn){ + this.getNumber(); + } }).catch(()=>{ this.updateParams.depts = this.updateParams.depts.map(item=>item.id) diff --git a/src/views/reward/rewardsRecord/rewardsRecord.component.html b/src/views/reward/rewardsRecord/rewardsRecord.component.html index f1e2c0f..c4e2496 100644 --- a/src/views/reward/rewardsRecord/rewardsRecord.component.html +++ b/src/views/reward/rewardsRecord/rewardsRecord.component.html @@ -2,7 +2,7 @@
{ datas: this.$store.state.userList }, { name: "岗位", + type: "select", key: "postName", - type: "text", + datas: this.$store.state.postList, + width: "270px", }]; public subActions = [{ diff --git a/src/views/risk/assessment/device/deviceAnal.component.vue b/src/views/risk/assessment/device/deviceAnal.component.vue index 0425e31..97f4113 100644 --- a/src/views/risk/assessment/device/deviceAnal.component.vue +++ b/src/views/risk/assessment/device/deviceAnal.component.vue @@ -159,7 +159,7 @@ export default class DeviceAnalManagerComponent extends BaseRecordComponent public buildUpdateForm() { this.updateOptions = [{ - name: "区域名称", + name: "选择区域", key: "areaId", format: "areaName", type: "select", @@ -169,7 +169,7 @@ export default class DeviceAnalManagerComponent extends BaseRecordComponent datas: this.areaList, disable: !this.updateParams.status || this.updateParams.status === 1 ? false : true }, { - name: "单元名称", + name: "选择单元", key: "unitId", format: "unitName", type: "select", diff --git a/src/views/risk/assessment/work/workAnal.component.vue b/src/views/risk/assessment/work/workAnal.component.vue index 44d8e5a..685d19d 100644 --- a/src/views/risk/assessment/work/workAnal.component.vue +++ b/src/views/risk/assessment/work/workAnal.component.vue @@ -131,7 +131,11 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { name: "单元名称", key: "unitName", type: "text", - },]; + },{ + name: "作业活动", + key: "jobInventoryName", + type: "text", + }]; public showUpdate = false; @@ -165,7 +169,7 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { console.log(this.updateParams.id && this.updateParams.status !== 1,); this.updateOptions = [{ - name: "区域名称", + name: "选择区域", key: "areaId", format: "areaName", type: "select", @@ -175,7 +179,7 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { datas: this.areaList, disable: !this.updateParams.status || this.updateParams.status === 1 ? false : true }, { - name: "单元名称", + name: "选择单元", key: "unitId", format: "unitName", type: "select", diff --git a/src/views/threecards/safeCard.component.vue b/src/views/threecards/safeCard.component.vue index cc89b46..1d65bf5 100644 --- a/src/views/threecards/safeCard.component.vue +++ b/src/views/threecards/safeCard.component.vue @@ -99,9 +99,8 @@ export default class SafeCard extends BaseRecordComponent { public formOptions: FormOption[] = [{ name: "区域名称", - key: "areaId", - type: "select", - datas: this.areaList + key: "areaName", + type: "text", }, { name: "承诺人", key: "promiserId", diff --git a/src/views/workprogress/managementSystem.component.vue b/src/views/workprogress/managementSystem.component.vue index d3dc057..e86a9de 100644 --- a/src/views/workprogress/managementSystem.component.vue +++ b/src/views/workprogress/managementSystem.component.vue @@ -105,7 +105,7 @@ export default class ManagementSystem extends BaseRecordComponent { expandLevel: Infinity, width:"280px" }, { - name: "实施日期", + name: "发布时间", key: "publishTime", type: "date", format: "yyyy-MM-dd" diff --git a/src/views/workprogress/programme.component.vue b/src/views/workprogress/programme.component.vue index 567ef0d..ede6747 100644 --- a/src/views/workprogress/programme.component.vue +++ b/src/views/workprogress/programme.component.vue @@ -57,7 +57,10 @@ export default class Programme extends BaseRecordComponent { public fileList = [] as any; + public suitList = [] as any; + public showFile = false; + public currentUrl = null; public subShowUpdate = false; @@ -96,7 +99,7 @@ export default class Programme extends BaseRecordComponent { }]; public formOptions: FormOption[] = [{ - name: "制度名称", + name: "方案名称", key: "name", type: "text", }, { @@ -107,10 +110,10 @@ export default class Programme extends BaseRecordComponent { expandLevel: Infinity, width: "280px" }, { - name: "实施日期", - key: "publishTime", - type: "date", - format: "yyyy-MM-dd" + name: "适用年度", + key: "suitYear", + type: "select", + datas: this.suitList, }]; public subActions = [{ @@ -259,9 +262,20 @@ export default class Programme extends BaseRecordComponent { created() { - // + this.getSuitListData(); } + //获取适用年度 + public getSuitListData() { + this.tableService.getSuitListData({}).then((res: any) => { + res.data.forEach((item) => { + let itemList = {} as any; + itemList.name = item; + itemList.value = item === '永久'?'1': item; + this.suitList.push(itemList) + }) + }) + } public buildTable() { this.tableColumn.push({ name: '方案名称', key: "name", width: "200px" }); diff --git a/src/views/workprogress/trainRecords.component.vue b/src/views/workprogress/trainRecords.component.vue index a1de905..2246f02 100644 --- a/src/views/workprogress/trainRecords.component.vue +++ b/src/views/workprogress/trainRecords.component.vue @@ -114,8 +114,9 @@ export default class TrainRecords extends BaseRecordComponent { datas: this.typeList }, { name: "培训时间", - key: "analName", + key: "startTime", type: "date", + format: "yyyy-MM-dd", }]; public subActions = [{ From 7b9db3bcdcf29d94a1403f9e737ab9e6255d6413 Mon Sep 17 00:00:00 2001 From: kongyeqing <2697454777@qq.com> Date: Wed, 6 Sep 2023 15:55:44 +0800 Subject: [PATCH 07/10] feat:bug --- src/views/hiddenDanger/manager.component.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/hiddenDanger/manager.component.vue b/src/views/hiddenDanger/manager.component.vue index 8e123d3..9f99c45 100644 --- a/src/views/hiddenDanger/manager.component.vue +++ b/src/views/hiddenDanger/manager.component.vue @@ -697,7 +697,7 @@ export default class HiddenDangerManagerComponent extends BaseRecordComponent data.executor || "--" }); + this.tableColumn.push({ name: '当前执行人', width: "100", key: "executor", render: (data) => data.taskInfo.executor || "--" }); this.tableColumn.push({ name: '最新提交时间', width: "180", key: "updateTime", sortable: 'custom' }); this.tableColumn.push({ name: '隐患来源', width: "150", render: (data) => this.$store.getters.prevention_danger_resource_map[data.source] }); this.tableColumn.push({ name: '上报人', width: "100", key: "reportUserName", render: (data) => data.reportUserName || "--" }); @@ -883,6 +883,7 @@ export default class HiddenDangerManagerComponent extends BaseRecordComponent Date: Wed, 6 Sep 2023 16:25:41 +0800 Subject: [PATCH 08/10] =?UTF-8?q?fix=EF=BC=9A=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hiddenDanger/rules/rulesManager.component.vue | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/views/hiddenDanger/rules/rulesManager.component.vue b/src/views/hiddenDanger/rules/rulesManager.component.vue index 8446186..fd46438 100644 --- a/src/views/hiddenDanger/rules/rulesManager.component.vue +++ b/src/views/hiddenDanger/rules/rulesManager.component.vue @@ -282,16 +282,8 @@ export default class RulesManagerComponent extends BaseRecordComponent { public buildTable(){ this.tableColumn = []; this.tableColumn.push({name:'检查表名称',key:"name"}); - this.tableColumn.push({name:'区域名称',key:"areas", render: (data) => { - return data.areaIds.split(',').map(item => { - return (this.areaList.find((e: any) => e.value === +item) as any)?.name ?? "" - }).join(",") - }}); - this.tableColumn.push({name:'单元名称',key:"units", render: (data) => { - return data.unitIds.split(',').map(item => { - return (this.unitList.find((e: any) => e.value === +item) as any)?.name ?? "" - }).join(",") - }}); + this.tableColumn.push({name:'区域名称',key:"areas"}); + this.tableColumn.push({name:'单元名称',key:"units"}); this.tableColumn.push({name:'对象名称',key:"targets"}); this.tableColumn.push({name:'适用部门',key:"depts"}); this.tableColumn.push({name:'适用类型',key:"types",filters:this.$store.state.prevention_dangrous_type.map(item=>{ From a39b7b7282024665add41d111f2d47fb1ddd42cf Mon Sep 17 00:00:00 2001 From: zhushengzhe Date: Wed, 6 Sep 2023 16:56:00 +0800 Subject: [PATCH 09/10] =?UTF-8?q?fix=EF=BC=9A=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/hiddenDanger/rules/rules.component.html | 2 +- src/views/hiddenDanger/rules/rulesManager.component.vue | 4 ++++ src/views/reward/rewardsRecord/rewardsRecord.component.vue | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/views/hiddenDanger/rules/rules.component.html b/src/views/hiddenDanger/rules/rules.component.html index 36fb548..be2cf6e 100644 --- a/src/views/hiddenDanger/rules/rules.component.html +++ b/src/views/hiddenDanger/rules/rules.component.html @@ -2,7 +2,7 @@
{ value:"search", icon:"el-icon-search", type:"primary" + }, { + name: "清空", + icon: "el-icon-tickets", + value: "reset" }]; public tableActions = [{ diff --git a/src/views/reward/rewardsRecord/rewardsRecord.component.vue b/src/views/reward/rewardsRecord/rewardsRecord.component.vue index dd1d2c4..d215a10 100644 --- a/src/views/reward/rewardsRecord/rewardsRecord.component.vue +++ b/src/views/reward/rewardsRecord/rewardsRecord.component.vue @@ -105,6 +105,10 @@ export default class RewardsRecord extends BaseRecordComponent { key: "postName", datas: this.$store.state.postList, width: "270px", + }, { + name: "职务", + type: "text", + key: "dutyName", }]; public subActions = [{ @@ -346,6 +350,9 @@ export default class RewardsRecord extends BaseRecordComponent { } // 分页数据 public getTableData() { + if(this.params.postName){ + this.params.postName = this.$store.state.postList.find((item: any) => item.value === this.params.postName)?.name??"" + } this.tableService.selectByPage(this.params).then(res => { this.tableData = res.data as any; }) From 81ce4e55ceed895cc486cabf88d5b189fdfaa295 Mon Sep 17 00:00:00 2001 From: kongyeqing <2697454777@qq.com> Date: Wed, 6 Sep 2023 18:01:31 +0800 Subject: [PATCH 10/10] =?UTF-8?q?feat:=E5=B7=A5=E4=BD=9C=E5=8D=B1=E5=AE=B3?= =?UTF-8?q?=E5=88=86=E6=9E=90bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/4.png | Bin 0 -> 17968 bytes src/assets/images/{4.jpg => LS.jpg} | Bin src/components/analEvaluation.component.vue | 9 ++ src/components/measure.component.vue | 60 +++++++++---- src/views/risk/area/area.component.vue | 4 +- src/views/risk/areaUnit.component.html | 2 +- .../areaAnal/areaAnal.component.html | 42 +-------- .../device/deviceAnal.component.vue | 3 +- .../assessment/work/workAnal.component.vue | 8 +- src/views/threecards/riskCard.component.vue | 21 ++--- src/views/workprogress/common.component.html | 2 +- .../workprogress/trainRecords.component.vue | 84 +++++++++++++----- 12 files changed, 134 insertions(+), 101 deletions(-) create mode 100644 src/assets/images/4.png rename src/assets/images/{4.jpg => LS.jpg} (100%) diff --git a/src/assets/images/4.png b/src/assets/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd32d90ace54dff7527c87335a432b3d8683fea GIT binary patch literal 17968 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 + :data.sync="taskUpdataParams" :actions="taskIsReadonly ? [] : taskActions" :full-btn="true" + btnPosition="center" @actionCallback="taskCallback" @change="taskSelectChange">
@@ -231,6 +231,7 @@ export default class MeasureComponent extends Vue { width: "calc(50% - 20px)", require: true, showError: false, + min: 1, // labelWidth:"130px" }, { key: "reviewCycleUnit", @@ -274,19 +275,26 @@ export default class MeasureComponent extends Vue { showError: false, },] } + public subActions = [] as any; + //排查任务按钮 + public taskActions = [] as any; + + public buildTaskAction(){ + this.taskActions= [{ + name: "取消", + value: "cancel" + }, { + name: "保存并继续添加", + value: "saveAndContinue", + type: "primary", + hide: this.taskUpdataParams.index + }, { + name: "保存", + value: "save", + type: "primary" + }]; + } - public subActions = [{ - name: "取消", - value: "cancel" - }, { - name: "保存并继续添加", - value: "saveAndContinue", - type: "primary" - }, { - name: "保存", - value: "save", - type: "primary" - }]; public tableActions = [{ name: "添加", value: "fourSubAdd", @@ -328,6 +336,7 @@ export default class MeasureComponent extends Vue { // } this.measuresUpdateForm() this.taskUpdateForm() + this.buildActions() } @PropSync("tabledata", { @@ -335,10 +344,27 @@ export default class MeasureComponent extends Vue { }) public measureData!: any; + public buildActions() { + this.subActions = [{ + name: "取消", + value: "cancel" + }, { + name: "保存并继续添加", + value: "saveAndContinue", + type: "primary", + hide: this.updataParams.index + }, { + name: "保存", + value: "save", + type: "primary" + }]; + } + created() { this.buildTable(); - console.log('measureData',this.measureData); - + console.log('measureData', this.measureData); + + } @@ -442,6 +468,7 @@ export default class MeasureComponent extends Vue { } this.showSubUpdate = true this.taskUpdateForm() + this.buildTaskAction() } //排查任务 --- 包保对应项 @@ -501,6 +528,7 @@ export default class MeasureComponent extends Vue { } this.taskUpdateForm(); this.showSubUpdate = true; + this.buildTaskAction() } public deleteTask(row) { diff --git a/src/views/risk/area/area.component.vue b/src/views/risk/area/area.component.vue index ed6321f..e6ba201 100644 --- a/src/views/risk/area/area.component.vue +++ b/src/views/risk/area/area.component.vue @@ -388,10 +388,9 @@ export default class AreaManagerComponent extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } - - public showUpdateModel(data?, isRead?) { if (!data) { this.currentId = -1; @@ -399,7 +398,6 @@ export default class AreaManagerComponent extends BaseRecordComponent { } else { this.currentId = data.id; this.updateParams = Object.assign({ bottomHeight: 0, topHeight: 0, geoJson: "[]", majorHazardFlagName: this.$store.getters.common_yes_no_map[data.majorHazardFlag], majorHazardLevelName: this.levelName(data.majorHazardLevel) }, data); - this.isReadonly = !!isRead; this.buildFormOptions(); this.showUpdate = true diff --git a/src/views/risk/areaUnit.component.html b/src/views/risk/areaUnit.component.html index cb7660c..afab524 100644 --- a/src/views/risk/areaUnit.component.html +++ b/src/views/risk/areaUnit.component.html @@ -2,7 +2,7 @@
- + @@ -104,44 +104,4 @@ - -
\ No newline at end of file diff --git a/src/views/risk/assessment/device/deviceAnal.component.vue b/src/views/risk/assessment/device/deviceAnal.component.vue index 97f4113..face15a 100644 --- a/src/views/risk/assessment/device/deviceAnal.component.vue +++ b/src/views/risk/assessment/device/deviceAnal.component.vue @@ -236,7 +236,8 @@ export default class DeviceAnalManagerComponent extends BaseRecordComponent width: "calc(50% - 20px)", require: true, showError: false, - format: "yyyy-MM-dd" + format: "yyyy-MM-dd", + disable: true, }, { name: "区域固有风险等级", key: "analRiskLevel", diff --git a/src/views/risk/assessment/work/workAnal.component.vue b/src/views/risk/assessment/work/workAnal.component.vue index 685d19d..9695d3c 100644 --- a/src/views/risk/assessment/work/workAnal.component.vue +++ b/src/views/risk/assessment/work/workAnal.component.vue @@ -131,7 +131,7 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { name: "单元名称", key: "unitName", type: "text", - },{ + }, { name: "作业活动", key: "jobInventoryName", type: "text", @@ -244,7 +244,8 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { width: "calc(50% - 20px)", require: true, showError: false, - format: "yyyy-MM-dd" + format: "yyyy-MM-dd", + disable:true, }, { name: "区域固有风险等级", key: "analRiskLevel", @@ -506,7 +507,7 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { this.subTableColumn.push({ name: '步骤名称', key: "name" }); this.subTableColumn.push({ name: '作业步骤描述', key: "description", showTip: true, width: "200px" }); this.subTableColumn.push({ name: '作业地点', key: "location" }); this.subTableColumn.push({ name: '风险源', key: "riskSource" }); - this.subTableColumn.push({ name: '危害分析', key: "hazardAnalysis", width: "200px" }); + this.subTableColumn.push({ name: '危害分析', key: "hazardAnalysis", width: "200px", showTip: true, }); this.subTableColumn.push({ name: '最严重后果', key: "seriousResult", width: "100px", render: (data) => { if (data.seriousResult) { @@ -651,6 +652,7 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } // 分页数据 diff --git a/src/views/threecards/riskCard.component.vue b/src/views/threecards/riskCard.component.vue index 0f97a9c..891be6b 100644 --- a/src/views/threecards/riskCard.component.vue +++ b/src/views/threecards/riskCard.component.vue @@ -58,12 +58,12 @@ export default class RiskCard extends BaseRecordComponent { public showUpdate = false; public setpsOptions = [] as any; - + public showFileModal = false; public showFileList = [] as any; - public labelWidth='130px' + public labelWidth = '130px' public formActions = [{ name: "查询", @@ -138,7 +138,7 @@ export default class RiskCard extends BaseRecordComponent { width: "calc(50% - 20px)", showError: false, disable: true, - labelWidth:"130px" + labelWidth: "130px" }, { name: "区域名称", @@ -185,7 +185,7 @@ export default class RiskCard extends BaseRecordComponent { require: true, width: "100%", showError: false, - labelWidth:'130px' + labelWidth: '130px' }, { name: "风险等级", @@ -327,7 +327,7 @@ export default class RiskCard extends BaseRecordComponent { this.tableColumn.push({ name: '岗位名称', key: "postName", }); this.tableColumn.push({ name: '主要危险有害因素', key: "harmfulFactors", }); this.tableColumn.push({ - name: '风险等级', key: "riskLevel",width:"150px", render: (data) => { + name: '风险等级', key: "riskLevel", width: "150px", render: (data) => { if (data.riskLevel) { return "" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "" } @@ -398,6 +398,7 @@ export default class RiskCard extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } public showUpdateModel(id) { @@ -498,13 +499,8 @@ export default class RiskCard extends BaseRecordComponent { }) } - public showModal(row, isReadonly) { - if (isReadonly) { - this.subIsReadonly = true - - } else { - this.subIsReadonly = false - } + public showModal(row, isReadonly = false) { + this.subIsReadonly = isReadonly this.tableService.getListDetail({ id: row.id }).then((res: any) => { if (res.code === 200) { @@ -512,6 +508,7 @@ export default class RiskCard extends BaseRecordComponent { riskLevelName: this.$store.getters.prevention_risk_level_map[res.data.riskLevel], safetySignName: res.data.safetySign.split(",").map(item => this.$store.getters.prevention_security_identifier_map[item]).join(",") }, res.data) + this.subUpdateParams.postCode = +res.data.postCode if (res.data.resourceId) { this.tableService.getFileUrls({ ids: res.data.resourceId.split(",") }).then((files: any) => { this.fileList = files.data.map(item => { diff --git a/src/views/workprogress/common.component.html b/src/views/workprogress/common.component.html index dbbcd46..3bd6f16 100644 --- a/src/views/workprogress/common.component.html +++ b/src/views/workprogress/common.component.html @@ -83,7 +83,7 @@ :title="subIsReadonly?'详情':subUpdateParams.index||subUpdateParams.id ?'编辑': '新增'" :visible.sync="subShowUpdate" width="952px"> diff --git a/src/views/workprogress/trainRecords.component.vue b/src/views/workprogress/trainRecords.component.vue index 2246f02..272362c 100644 --- a/src/views/workprogress/trainRecords.component.vue +++ b/src/views/workprogress/trainRecords.component.vue @@ -124,21 +124,9 @@ export default class TrainRecords extends BaseRecordComponent { value: "cancel" }]; + public updateActions = [] as any; - - - public updateActions = [{ - name: "取消", - value: "cancel" - }, { - name: "保存并继续添加", - value: "saveAndContinue", - type: "primary" - }, { - name: "保存", - value: "save", - type: "primary" - }]; + public subUpdateActions = [] as any; public updateOptions: FormOption[] = [] as any; public buildUpdateForm() { @@ -217,7 +205,19 @@ export default class TrainRecords extends BaseRecordComponent { showError: false, }, ] - + this.updateActions = [{ + name: "取消", + value: "cancel" + }, { + name: "保存并继续添加", + value: "saveAndContinue", + type: "primary", + hide: this.updateParams.id + }, { + name: "保存", + value: "save", + type: "primary" + }]; } public subUpdateOptions: FormOption[] = [] @@ -272,13 +272,29 @@ export default class TrainRecords extends BaseRecordComponent { }] }, { name: "得分", - type: "text", + type: "number", key: "score", require: true, width: "calc(50% - 20px)", + controls: false, showError: false, + max: 100, + min: 0, hide: !(this.subUpdateParams.examStatus === 1) },] + this.subUpdateActions = [{ + name: "取消", + value: "cancel" + }, { + name: "保存并继续添加", + value: "saveAndContinue", + type: "primary", + hide: this.subUpdateParams.index + }, { + name: "保存", + value: "save", + type: "primary" + }]; } @@ -288,7 +304,7 @@ export default class TrainRecords extends BaseRecordComponent { public buildTable() { - this.tableColumn.push({ name: '培训名称', key: "name"}); + this.tableColumn.push({ name: '培训名称', key: "name" }); this.tableColumn.push({ name: '培训类型', key: "type", render: (data) => { if (data.type === 1) { @@ -311,7 +327,7 @@ export default class TrainRecords extends BaseRecordComponent { } }); this.tableColumn.push({ - name: '培训层级', key: "level", render: (data) => { + name: '培训层级', key: "level", render: (data) => { if (data.level) { return this.$store.getters.prevention_training_level_map[data.level] } @@ -355,6 +371,28 @@ export default class TrainRecords extends BaseRecordComponent { } this.buildSubForm() } + //培训时长格式化 + this.durationChange(data, item); + //得分格式化 + this.scoreFormat(data, item); + } + /** + * 培训时长格式化,保留一位小数 + * @param data + * @param item + */ + public durationChange(data: any, item: any) { + if (item && item.key === 'duration') { + this.updateParams.duration = null; + this.$set(this.updateParams, item.key, +data.toFixed(1)) + } + } + + public scoreFormat(data: any, item: any) { + if (item && item.key === 'score') { + this.updateParams.score = null; + this.$set(this.subUpdateParams, item.key, +data.toFixed(2)) + } } public callback(data, type) { @@ -398,6 +436,7 @@ export default class TrainRecords extends BaseRecordComponent { pageNum: 1, pageSize: 20, } as any; + this.getTableData() } public showUpdateModel(id) { @@ -423,7 +462,7 @@ export default class TrainRecords extends BaseRecordComponent { this.toggleAll() } else { this.tableData.datas.forEach((item, index) => { - const find = this.selectData.find((data: any) => data.userId === item.userId); + const find = this.selectData.find((data: any) => data.id === item.id); if (!find) { (this.$refs.multipleTable as any).toggleRowSelection(item); } @@ -472,9 +511,9 @@ export default class TrainRecords extends BaseRecordComponent { public subCallback(data) { if (data.value === "add") { this.subIsReadonly = false - this.buildSubForm() this.subUpdateParams = {} as any; this.subShowUpdate = true + this.buildSubForm() } else if (data.value === "cancel") { this.showUpdate = false } else if (data && data.value.indexOf("save") >= 0) { @@ -531,11 +570,11 @@ export default class TrainRecords extends BaseRecordComponent { public showSubModal(row, isReadonly) { if (isReadonly) { this.subIsReadonly = true - this.subUpdateParams = row + this.subUpdateParams = JSON.parse(JSON.stringify(row)) this.subUpdateParams.examStatusName = row.examStatus === 1 ? '已参加' : '未参加' } else { this.subIsReadonly = false - this.subUpdateParams = row + this.subUpdateParams = JSON.parse(JSON.stringify(row)) } this.subShowUpdate = true this.buildSubForm() @@ -543,7 +582,6 @@ export default class TrainRecords extends BaseRecordComponent { //删除成员 public deleteSubData(indexs) { - this.$confirm('确认删除所选数据', '确认数据', { confirmButtonText: '确定', cancelButtonText: '取消',