From 4a6b6d253451a14063df0659877f3d8c4ca921a5 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期四, 31 三月 2022 15:20:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/shf' into master --- src/views/contingencyplan/uploadImg.vue | 10 src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue | 24 src/views/safetyproduction/gojudging.vue | 266 +++++----- src/views/majorHazardSourceMonitoring/productionEquipment/index.vue | 19 src/views/safetyproduction/feature.vue | 47 + src/views/safetyproduction/review.vue | 172 +++--- src/views/majorHazardSourceMonitoring/instrumentData/index.vue | 75 +- src/api/safetySelfInspection.js | 11 src/assets/example/instrumentData.xlsx | 0 src/router/index.js | 27 src/views/safetyproduction/checklist.vue | 2 src/views/safetyproduction/checklistself.vue | 48 + src/views/safetyproduction/reviewXG.vue | 198 ++++--- src/views/safetyproduction/new.vue | 483 +++++++++++++------ src/views/contingencyplan/index.vue | 55 +- src/views/contingencyplan/uploadFile.vue | 1 16 files changed, 848 insertions(+), 590 deletions(-) diff --git a/src/api/safetySelfInspection.js b/src/api/safetySelfInspection.js index 1d19e81..af27ced 100644 --- a/src/api/safetySelfInspection.js +++ b/src/api/safetySelfInspection.js @@ -106,4 +106,15 @@ method: 'post', data }) +} + +export function safetyInspectionItemId(data) { + return request({ + headers:{ + 'Authorization': getToken() + }, + url: process.env.BASE_API+'/safetyInspectionItem/info', + method: 'post', + data + }) } \ No newline at end of file diff --git a/src/assets/example/instrumentData.xlsx b/src/assets/example/instrumentData.xlsx new file mode 100644 index 0000000..8c1cd15 --- /dev/null +++ b/src/assets/example/instrumentData.xlsx Binary files differ diff --git a/src/router/index.js b/src/router/index.js index 9dd394d..c725fc3 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -134,20 +134,22 @@ meta: { title: '自查清单', icon: '' } }, { - id: 2, - parentId: 0, + // id: 2, + // parentId: 0, path: '/review', - name: '自查清单_评审', + // name: '自查清单_评审', component: () => import('@/views/safetyproduction/review'), - meta: { title: '自查清单_评审', icon: '' } + // meta: { title: '自查清单_评审', icon: '' } + hidden: true }, { - id: 2, - parentId: 0, + // id: 2, + // parentId: 0, path: '/gojudging', - name: '自查清单_去评审', + // name: '自查清单_去评审', component: () => import('@/views/safetyproduction/gojudging'), - meta: { title: '自查清单_去评审', icon: '' } + // meta: { title: '自查清单_去评审', icon: '' } + hidden: true }, { path: '/new', @@ -157,12 +159,13 @@ hidden: true }, { - id: 2, - parentId: 0, + // id: 2, + // parentId: 0, path: '/reviewXG', - name: '自查清单_修改', + // name: '自查清单_修改', component: () => import('@/views/safetyproduction/reviewXG'), - meta: { title: '自查清单_修改', icon: '' } + // meta: { title: '自查清单_修改', icon: '' } + hidden: true } ] }, diff --git a/src/views/contingencyplan/index.vue b/src/views/contingencyplan/index.vue index 9e07de8..ff3fd23 100644 --- a/src/views/contingencyplan/index.vue +++ b/src/views/contingencyplan/index.vue @@ -54,9 +54,10 @@ :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordTotal" + style="text-align: right;margin-top: 20px;" > </el-pagination> - <el-dialog :title="title" :visible.sync="dialogVisible" width="40%"> + <el-dialog :title="title" :visible.sync="dialogVisible":close-on-click-modal="false" width="40%"> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="预案名称" prop="name"> <el-input v-model="form.name"></el-input> @@ -79,7 +80,7 @@ </el-form> <span slot="footer" class="dialog-footer"> <el-button type="primary" class="btns" @click="addemergencyPlan()">确 定</el-button> - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="cancel()">取 消</el-button> </span> </el-dialog> </div> @@ -125,9 +126,9 @@ name: [ { required: true, message: "预案名称不能为空", trigger: "change" }, ], - remark: [ - { required: true, message: "责任人不能为空", trigger: "blur" }, - ], + // remark: [ + // { required: true, message: "备注不能为空", trigger: "blur" }, + // ], }, }; }, @@ -149,7 +150,8 @@ uploadImgSuccess(res){ let file = { fileUrl : res.fileUrl, - fileName : res.fileName + fileName : res.fileName, + url:res.url } this.fileList.push(file) }, @@ -215,11 +217,6 @@ message: "新增成功", title: "成功", }); - } else { - this.$message({ - type: "warning", - message: res.data.message, - }); } }); } @@ -234,11 +231,6 @@ message: "编辑成功", title: "成功", }); - } else { - this.$message({ - type: "warning", - message: res.data.message, - }); } }); } @@ -246,16 +238,29 @@ }); }, deleteById(val) { - emergencyPlanDel({ id: val }).then(() => { - this.emergencyPlan(); - this.$notify({ - title: "成功", - message: "删除成功", - type: "success", - duration: 2000, - }); - }); + this.$confirm('确认删除吗','提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(()=>{ + emergencyPlanDel({ id: val }).then(() => { + this.emergencyPlan(); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + }); + }) + .catch(error =>{ + }); }, + cancel(){ + this.emergencyPlan(); + this.dialogVisible = false; + }, find() { this.emergencyPlan(); }, diff --git a/src/views/contingencyplan/uploadFile.vue b/src/views/contingencyplan/uploadFile.vue index e4b8006..9181943 100644 --- a/src/views/contingencyplan/uploadFile.vue +++ b/src/views/contingencyplan/uploadFile.vue @@ -73,7 +73,6 @@ methods: { downLoadFile(fileUrl){ - console.log(123,fileUrl) let a = document.createElement('a') // a.href = this.defaultUrl+`/upload/downloadNew?path=`+encodeURI(fileUrl) a.href = process.env.BASE_API + '/upload/'+fileUrl diff --git a/src/views/contingencyplan/uploadImg.vue b/src/views/contingencyplan/uploadImg.vue index 5613f0c..a4aaad7 100644 --- a/src/views/contingencyplan/uploadImg.vue +++ b/src/views/contingencyplan/uploadImg.vue @@ -93,17 +93,11 @@ if (res.data.code==200){ this.fileUrl = res.data.result.fileUrl this.fileName = res.data.result.fileName - this.fileList.push( - { - fileUrl: res.data.result.fileUrl, - fileName:res.data.result.fileName, - url:process.env.IMG_API + 'emergencyPlan/'+res.data.result.fileName - } - ) this.$nextTick(() => { this.$emit('uploadImgSuccess', { fileName: this.fileName, - fileUrl: this.fileUrl + fileUrl: this.fileUrl, + url:process.env.IMG_API + 'emergencyPlan/'+res.data.result.fileName }); }); this.$message({ diff --git a/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue b/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue index 8b80821..97e7aad 100644 --- a/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue +++ b/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue @@ -36,8 +36,8 @@ </el-table-column> <el-table-column label="状态" align="center"> <template slot-scope="scope"> - <span v-if="scope.row.status == 0">已处理</span> - <span v-if="scope.row.status == 1">未处理</span> + <span v-if="scope.row.status == 0">未处理</span> + <span v-if="scope.row.status == 1">已处理</span> </template> </el-table-column> <el-table-column prop="alarmTime" label="报警时间" align="center"> @@ -74,12 +74,14 @@ :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordTotal" + style="margin-top: 20px;" > </el-pagination> </div> <el-dialog :title="title" :visible.sync="dialogVisible" + :close-on-click-modal="false" width="40%" > <el-form ref="form" :rules="rules" :model="form" label-width="80px"> @@ -151,7 +153,7 @@ <el-button type="primary" class="btns" @click="AddelementManagement()" >确 定</el-button > - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="cancel()">取 消</el-button> </span> </el-dialog> </div> @@ -197,7 +199,7 @@ alarmInfo: { required: true, message: "请输入报警信息", trigger: "change"}, }, equipmentName:[], - unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}] + unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}], }; }, created() { @@ -255,10 +257,6 @@ title: "成功", }); } else { - this.$message({ - type: "warning", - message: res.data.message, - }); } }); } else { @@ -272,17 +270,17 @@ message: "编辑成功", title: "成功", }); - } else { - his.$message({ - type: "warning", - message: res.data.message, - }); + }else { } }); } } }); }, + cancel(){ + this.elementManagementL(); + this.dialogVisible = false + }, deleteById(val) { this.$confirm('确认删除吗','提示', { confirmButtonText: '确认', diff --git a/src/views/majorHazardSourceMonitoring/instrumentData/index.vue b/src/views/majorHazardSourceMonitoring/instrumentData/index.vue index 9123e8b..1d70796 100644 --- a/src/views/majorHazardSourceMonitoring/instrumentData/index.vue +++ b/src/views/majorHazardSourceMonitoring/instrumentData/index.vue @@ -7,27 +7,12 @@ <el-input v-model="listQuery.filter.equipmentName" clearable></el-input> </el-form-item> </el-col> - <el-col :span="8" style="text-align: center"> - <el-button type="primary" icon="el-icon-search" @click="find()" class="btns" - >搜索</el-button - > - <el-button - type="primary" - icon="el-icon-plus" - class="btns" - @click="handleClick('', '新增')" - >新增</el-button - > - <el-button - type="primary" - icon="el-icon-plus" - class="btns" - @click="importData()" - >导入</el-button - > - <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns" - >重置</el-button - > + <el-col :span="10" style="text-align: center"> + <el-button type="primary" icon="el-icon-search" @click="find()" class="btns">搜索</el-button> + <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns">重置</el-button> + <el-button type="primary" icon="el-icon-plus" class="btns" @click="handleClick('', '新增')">新增</el-button> + <el-button type="primary" icon="el-icon-plus" class="btns" @click="importData()">导入</el-button> + <el-button type="primary" class="btns" @click="exportTemplate()">下载导入模板</el-button> </el-col> </el-row> </el-form> @@ -78,12 +63,14 @@ :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordTotal" + style="margin-top: 20px;" > </el-pagination> </div> <el-dialog :title="title" :visible.sync="dialogVisible" + :close-on-click-modal="false" width="40%" > <el-form ref="form" :rules="rules" :model="form" label-width="120px"> @@ -120,36 +107,36 @@ <el-row> <el-col :span="12"> <el-form-item label="仪表量程下限" prop="rangeLowerLimit"> - <el-input v-model.number="form.rangeLowerLimit" maxlength="50"></el-input> + <el-input v-model="form.rangeLowerLimit" maxlength="50"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="仪表量程上限" prop="rangeLowerLimit"> - <el-input v-model.number="form.rangeUpperLimit" maxlength="50"></el-input> + <el-form-item label="仪表量程上限" prop="rangeUpperLimit"> + <el-input v-model="form.rangeUpperLimit" maxlength="50"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="高高液位报警值" prop="rangeUpperLimit"> - <el-input v-model.number="form.highHighLiquidAlarm" maxlength="50"></el-input> + <el-form-item label="高高液位报警值" prop="highHighLiquidAlarm"> + <el-input v-model="form.highHighLiquidAlarm" maxlength="50"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="高液位报警值" prop="highLiquidAlarm"> - <el-input v-model.number="form.highLiquidAlarm" maxlength="50"></el-input> + <el-input v-model="form.highLiquidAlarm" maxlength="50"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="低液位报警值" prop="lowLiquidAlarm"> - <el-input v-model.number="form.lowLiquidAlarm" maxlength="50"></el-input> + <el-input v-model="form.lowLiquidAlarm" maxlength="50"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="低低液位报警值" prop="lowLowLiquidAlarm"> - <el-input v-model.number="form.lowLowLiquidAlarm" maxlength="50"></el-input> + <el-input v-model="form.lowLowLiquidAlarm" maxlength="50"></el-input> </el-form-item> </el-col> </el-row> @@ -158,7 +145,7 @@ <el-button type="primary" class="btns" @click="AddelementManagement()" >确 定</el-button > - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="cancel()">取 消</el-button> </span> </el-dialog> </div> @@ -173,6 +160,7 @@ } from "@/api/majorEquipmentData.js"; import { majorEquipmentErt } from "@/api/majorEquipment.js"; import XLSX from 'xlsx' + const exampleFile = require('@/assets/example/instrumentData.xlsx') export default { data() { return { @@ -208,27 +196,27 @@ { required: true, message: "请选择检测时间", trigger: "change"}, rangeLowerLimit:[ { required: true, message: "仪表量程下限不能为空", trigger: "change"}, - { type: 'number', message: '仪表量程下限必须为数字值'} + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], rangeUpperLimit:[ { required: true, message: "仪表量程上限不能为空", trigger: "change"}, - { type: 'number', message: '仪表量程上限必须为数字值'} + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], highHighLiquidAlarm:[ { required: true, message: "高高液位报警值不能为空", trigger: "change"}, - { type: 'number', message: '高高液位报警值必须为数字值'} + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], highLiquidAlarm:[ { required: true, message: "高液位报警值不能为空", trigger: "change"}, - { type: 'number', message: '高液位报警值必须为数字值'} + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], lowLiquidAlarm:[ { required: true, message: "低液位报警值不能为空", trigger: "change"}, - { type: 'number', message: '低液位报警值必须为数字值'} + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], lowLowLiquidAlarm:[ { required: true, message: "低低液位报警值不能为空", trigger: "change"}, - { type: 'number', message: '低低液位报警值必须为数字值'}, + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } ], }, equipmentName:[], @@ -240,6 +228,9 @@ this.initMajorEquipment() }, methods: { + exportTemplate(){ + window.open(exampleFile, '_blank') + }, importData(){ let input = document.createElement('input'); input.type = 'file'; @@ -466,10 +457,6 @@ title: "成功", }); } else { - this.$message({ - type: "warning", - message: res.data.message, - }); } }); } else { @@ -484,16 +471,16 @@ title: "成功", }); } else { - his.$message({ - type: "warning", - message: res.data.message, - }); } }); } } }); }, + cancel(){ + this.elementManagementL(); + this.dialogVisible = false + }, deleteById(val) { this.$confirm('确认删除吗','提示', { confirmButtonText: '确认', diff --git a/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue b/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue index ede80cb..a2d0b13 100644 --- a/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue +++ b/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue @@ -64,7 +64,7 @@ </template> </el-table-column> </el-table> - <div style="text-align:right"> + <div style="text-align:right;margin-top: 20px;"> <el-pagination v-show="recordTotal>0" @size-change="handleSizeChange" @@ -80,6 +80,7 @@ <el-dialog :title="title" :visible.sync="dialogVisible" + :close-on-click-modal="false" width="40%" > <el-form ref="form" :rules="rules" :model="form" label-width="80px"> @@ -145,7 +146,7 @@ <el-button type="primary" class="btns" @click="AddelementManagement()" >确 定</el-button > - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="cancel()">取 消</el-button> </span> </el-dialog> </div> @@ -227,7 +228,6 @@ this.$nextTick(() => { this.$refs["form"].clearValidate(); }); - if (type == "新增") { this.title = "新增"; this.form = { @@ -257,10 +257,6 @@ title: "成功", }); } else { - this.$message({ - type: "warning", - message: res.data.message, - }); } }); } else { @@ -275,10 +271,7 @@ title: "成功", }); } else { - his.$message({ - type: "warning", - message: res.data.message, - }); + } }); } @@ -307,6 +300,10 @@ .catch(error =>{ }); }, + cancel(){ + this.elementManagementL(); + this.dialogVisible = false; + }, find(){ this.elementManagementL(); }, diff --git a/src/views/safetyproduction/checklist.vue b/src/views/safetyproduction/checklist.vue index d2b83ca..7c44497 100644 --- a/src/views/safetyproduction/checklist.vue +++ b/src/views/safetyproduction/checklist.vue @@ -266,7 +266,7 @@ </div> </div> - <el-dialog :title="titleN" :visible.sync="dialogVisible" width="30%"> + <el-dialog :title="titleN" :visible.sync="dialogVisible" :close-on-click-modal="false" width="30%"> <el-form ref="form" :model="formInline" label-width="80px"> <el-form-item label="名称"> <el-input v-model="formInline.name"></el-input> diff --git a/src/views/safetyproduction/checklistself.vue b/src/views/safetyproduction/checklistself.vue index 9c95d1e..ecde465 100644 --- a/src/views/safetyproduction/checklistself.vue +++ b/src/views/safetyproduction/checklistself.vue @@ -68,7 +68,7 @@ <el-button v-if="scope.row.status==1" @click="handleClick(scope.row)" type="text" size="small" >查看</el-button > - <el-button v-if="scope.row.status==1?false:true" type="text" size="small" style="color: red" + <el-button @click="Del(scope.row.id)" v-if="scope.row.status==1?false:true" type="text" size="small" style="color: red" >删除</el-button > </template> @@ -90,7 +90,7 @@ </div> </template> <script> -import { safetySelfInspectionList } from "@/api/safetySelfInspection.js"; +import { safetySelfInspectionList,safetySelfInspectionDel} from "@/api/safetySelfInspection.js"; export default { data() { return { @@ -128,7 +128,25 @@ } }); }, - handleClick(index) {}, + handleClick(val) { + console.log(val) + if(val.status==-1){ + this.$router.push({ + path:"/new", + query:{ + id:val.id, + name:'编辑' + } + }) + }else if(val.status==0){ + this.$router.push({ + path:"/gojudging", + query:{ + id:val.id + } + }) + } + }, find() { this.safetySelfInspectionL(); }, @@ -142,9 +160,31 @@ }, jump(){ this.$router.push({ - path:"/new" + path:"/new", + query:{ + name:'添加' + } + }) + }, + Del(id){ + this.$confirm('确认删除吗','提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then(()=>{ + safetySelfInspectionDel({id:id}).then(res=>{ + if(res.data.code==200){ + this.safetySelfInspectionL(); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + } }) } + )} }, }; </script> diff --git a/src/views/safetyproduction/feature.vue b/src/views/safetyproduction/feature.vue index 8ab28c8..312c285 100644 --- a/src/views/safetyproduction/feature.vue +++ b/src/views/safetyproduction/feature.vue @@ -74,6 +74,7 @@ <el-dialog :title="title" :visible.sync="dialogVisible" + :close-on-click-modal="false" width="40%" > <el-form ref="form" :rules="rules" :model="form" label-width="80px"> @@ -139,7 +140,7 @@ <el-button type="primary" class="btns" @click="AddelementManagement()" >确 定</el-button > - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="cancel()">取 消</el-button> </span> </el-dialog> </div> @@ -303,18 +304,38 @@ }); }, deleteById(val) { - elementManagementDel({id:val}).then((res) => { - if (res.data.code == 200) { - this.elementManagementL(); - this.$notify({ - title: "成功", - message: "删除成功", - type: "success", - duration: 2000, - }); - } - }); + console.log(123,val) + this.$confirm('确认删除吗','提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(()=>{ + elementManagementDel({id:val}).then((res) => { + if (res.data.code == 200) { + this.elementManagementL(); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + }else { + this.$message({ + type: "warning", + // message: res.data.message, + message: "当前A级要素仍然有已绑定的B级要素,无法删除" + }); + } + }); + }) + .catch(error =>{ + }); }, + cancel(){ + this.elementManagementL(); + this.dialogVisible = false; + }, find(){ this.elementManagementL(); }, @@ -334,4 +355,4 @@ background-color: #034ea2; border: 1px solid #034ea2; } -</style> \ No newline at end of file +</style> diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue index 51cd6f6..6230be4 100644 --- a/src/views/safetyproduction/gojudging.vue +++ b/src/views/safetyproduction/gojudging.vue @@ -1,107 +1,105 @@ <template> <div> - <div class="box-right"> - <div class="title">A级要素:<span>A级要素2</span></div> - <div v-for="(item,index) in 2" :key="index"> + <div class="box-right"> + <div v-for="(item, index) in lists" :key="index"> + <div class="title"> + A级要素:<span>{{ item.elementAName }}</span> + </div> + <div v-for="(item, index) in item.child" :key="index"> <el-row class="titles"> - <el-col :span="6"><p><span>B级要素:</span>法律、法规和标准的识别和获取</p></el-col> - <el-col :span="6"><p><span>得分:</span>50</p></el-col> + <el-col :span="6" + ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col + > + <el-col :span="6" + ><p><span>得分:</span>50</p></el-col + > </el-row> <el-row> - <el-col :span="24"> + <el-col :span="24"> + <el-table border :data="item.child"> + <el-table-column + prop="standardizationRequirements" + align="center" + label="标准化要求" + > + </el-table-column> + <el-table-column + prop="enterpriseStandard" + align="center" + label="企业达标标准" + ></el-table-column> + <el-table-column + prop="reviewMethod" + align="center" + label="评审方法" + ></el-table-column> + <el-table-column + prop="veto" + align="center" + label="否决项" + ></el-table-column> + <el-table-column align="center" label="评审结果"> + <template slot-scope="scope"> + <span v-if="(scope.row.safetyInspectionItemResult = 0)" + >是</span + > + <span v-if="(scope.row.safetyInspectionItemResult = 1)" + >否</span + > + </template> + </el-table-column> + <el-table-column + align="center" + label="扣分项" + type="expand" + width="100px" + > + <template slot-scope="scope"> <el-table - border - :data="tableData" + :data="scope.row.selfDeductionList" > - <el-table-column - prop="date" - align="center" - label="标准化要求" - > + <el-table-column prop="name" align="center" label="扣分项"> + </el-table-column> + <el-table-column prop="point" align="center" label="扣分"> </el-table-column> <el-table-column - prop="name" - align="center" - label="企业达标标准" - ></el-table-column> - <el-table-column - prop="name" - align="center" - label="评审方法" - ></el-table-column> - <el-table-column - prop="name" - align="center" - label="评审标准" - > - <el-table-column - prop="name" - align="center" - label="否决项" - ></el-table-column> - <el-table-column - prop="name" - align="center" - label="扣分项" - ></el-table-column> - </el-table-column> - <el-table-column - prop="name" - align="center" - label="扣分" - type="expand" - width="50px" - > - <el-table - :data="tableData" - > - <el-table-column - prop="name" - align="center" - label="扣分项" - > - </el-table-column> - <el-table-column - prop="date" - align="center" - label="扣分" - > - </el-table-column> - <el-table-column - prop="date" + prop="remark" align="center" label="扣分备注" > </el-table-column> </el-table> - </el-table-column> - <el-table-column - prop="name" - align="center" - label="备注" - ></el-table-column> - <el-table-column align="center" label="操作" width="200px"> - <template slot-scope="scope"> - <el-button - @click="handleClick(scope.row)" - type="text" - size="small" - >评价</el-button - > - <!-- <el-button type="text" size="small" style="color: red" + </template> + </el-table-column> + <el-table-column + prop="" + align="center" + label="备注" + ></el-table-column> + <el-table-column align="center" label="操作" width="200px"> + <template slot-scope="scope"> + <el-button + @click="handleClick(scope.row)" + type="text" + size="small" + >评价</el-button + > + <!-- <el-button type="text" size="small" style="color: red" >删除</el-button > --> - </template> - </el-table-column> - </el-table> - </el-col> - </el-row> + </template> + </el-table-column> + </el-table> + </el-col> + </el-row> </div> - </div> + </div> + </div> </div> </template> <script> import Titlename from "../../components/Titlename/index.vue"; +import { safetySelfInspectionInfo } from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, data() { @@ -110,53 +108,71 @@ form: { name: "", }, + id: "", formInline: { user: "", region: "", }, - tableData: [ - { - date: "2016-05-02", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1518 弄", - zip: 200333, - }, - { - date: "2016-05-04", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1517 弄", - zip: 200333, - }, - { - date: "2016-05-01", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1519 弄", - zip: 200333, - }, - { - date: "2016-05-03", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1516 弄", - zip: 200333, - }, - ], - defaultProps: { - children: "children", - label: "label", - }, + list: [], + lists: [], }; }, + created() { + this.id = this.$route.query.id; + this.safeInitem(this.id); + }, methods: { - btnsQX() { - this.show = true; + safeInitem(id) { + safetySelfInspectionInfo({ id: id }).then((res) => { + // console.log("数据", res); + if (res.data.code == 200) this.list = res.data.result; + var arr = this.checkSameDataA(this.list.itemList); + for (var i = 0; i < arr.length; i++) { + arr[i].child = this.checkSameData(arr[i].child); + } + this.lists = arr; + console.log(this.lists) + }); + }, + checkSameDataA(resData) { + let dataInfo = {}; + resData.forEach((item, index) => { + let { elementAName } = item; + if (!dataInfo[elementAName]) { + dataInfo[elementAName] = { + elementAName, + child: [], + }; + } + dataInfo[elementAName].child.push(item); + }); + let list = Object.values(dataInfo); // list 转换成功的数据 + return list; + }, + checkSameData(resData) { + let dataInfo = {}; + resData.forEach((item, index) => { + let { elementBName } = item; + if (!dataInfo[elementBName]) { + dataInfo[elementBName] = { + elementBName, + child: [], + }; + } + dataInfo[elementBName].child.push(item); + }); + let list = Object.values(dataInfo); // list 转换成功的数据 + return list; + }, + handleClick(data) { + console.log(data.id); + this.$router.push({ + path: "/review", + query: { + idC: data.id, + id:this.id + }, + }); }, }, }; @@ -174,12 +190,12 @@ border-radius: 5px; padding: 20px; } -.title{ +.title { font-size: 16px; padding: 10px 0px; font-weight: bold; } -.titles{ +.titles { font-size: 14px; } </style> \ No newline at end of file diff --git a/src/views/safetyproduction/new.vue b/src/views/safetyproduction/new.vue index ca2005c..9ad7b6f 100644 --- a/src/views/safetyproduction/new.vue +++ b/src/views/safetyproduction/new.vue @@ -5,131 +5,158 @@ <Titlename title="检查项树"></Titlename> <div class="box-left-content"> <el-tree + ref="tree" :data="tree" - node-key="id" + node-key="value" @check="treeClick" + :expand-on-click-node="false" + :default-checked-keys="treeList" show-checkbox ></el-tree> </div> </div> <div class="box-right" v-if="list == '' ? false : true"> - <el-button type="primary" @click="open()" class="btns">添加</el-button> - <div v-for="(item, i) in lists" :key="i"> - <div class="title"> - A级要素:<span>{{ item.nameA }}</span> + <div class="btns"> + <el-button type="primary" class="btn" @click="open(0)" + >添加</el-button + > + <el-button type="primary" class="btn" @click="open(-1)" + >暂存</el-button + > </div> - <div v-for="(item, index) in item.child" :key="index"> - <el-row class="titles"> - <el-col :span="6" :offset="1" - ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col - > - <el-col :span="6" :offset="4" - ><p><span>得分:</span>50</p></el-col - > - </el-row> - <el-row> - <el-col :span="22" :offset="1"> - <el-table border :data="item.child"> - <el-table-column - prop="standardizationRequirements" - align="center" - label="标准化要求" - > - </el-table-column> - <el-table-column - prop="enterpriseStandard" - align="center" - label="企业达标标准" - ></el-table-column> - <el-table-column - prop="reviewMethod" - align="center" - label="评审方法" - ></el-table-column> - <el-table-column prop="name" align="center" label="评审标准"> + <div v-for="(item, i) in lists" :key="i"> + <div class="title"> + A级要素:<span>{{ item.elementAName }}</span> + </div> + <div v-for="(item, index) in item.child" :key="index"> + <el-row class="titles"> + <el-col :span="6" :offset="1" + ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col + > + <el-col :span="6" :offset="4" + ><p><span>得分:</span>50</p></el-col + > + </el-row> + <el-row> + <el-col :span="22" :offset="1"> + <el-table ref="table" border :data="item.child"> <el-table-column - prop="veto" + prop="standardizationRequirements" align="center" - label="否决项" + label="标准化要求" + > + </el-table-column> + <el-table-column + prop="enterpriseStandard" + align="center" + label="企业达标标准" ></el-table-column> <el-table-column + prop="reviewMethod" align="center" - width="80px" - type="expand" - label="扣分项" - > - <el-table :data="item.child.deductionList"> - <el-table-column - prop="name" - align="center" - label="扣分项" - > - </el-table-column> - <el-table-column prop="date" align="center" label="扣分"> - </el-table-column> - <el-table-column - prop="date" - align="center" - label="扣分备注" - > - </el-table-column> - </el-table> - </el-table-column> - </el-table-column> - <el-table-column align="center" label="操作" width="200px"> - <template slot-scope="scope"> - <el-button - @click="handleClick(scope.row)" - type="text" - size="small" - >修改</el-button + label="评审方法" + ></el-table-column> + <el-table-column prop="name" align="center" label="评审标准"> + <el-table-column + prop="veto" + align="center" + label="否决项" + ></el-table-column> + <el-table-column + align="center" + width="80px" + label="扣分项" + type="expand" > - <!-- <el-button type="text" size="small" style="color: red" + <template slot-scope="scope"> + <el-table :data="scope.row.deductionList"> + <el-table-column + prop="name" + align="center" + label="扣分项" + > + </el-table-column> + <el-table-column + prop="date" + align="center" + label="扣分" + > + </el-table-column> + <el-table-column + prop="date" + align="center" + label="扣分备注" + > + </el-table-column> + </el-table> + </template> + </el-table-column> + </el-table-column> + <el-table-column align="center" label="操作" width="200px"> + <template slot-scope="scope"> + <el-button + @click="handleClick(scope.row)" + type="text" + size="small" + >修改</el-button + > + <!-- <el-button type="text" size="small" style="color: red" >删除</el-button > --> - </template> - </el-table-column> - </el-table> - </el-col> - </el-row> - </div> + </template> + </el-table-column> + </el-table> + </el-col> + </el-row> + </div> </div> </div> </div> - <el-dialog - title="添加" - :visible.sync="dialogVisible" - width="30%" -> - <el-form ref="form" :model="form" label-width="100px"> - <el-form-item label="自查清单名称"> - <el-input v-model="form.inspectionName"></el-input> - </el-form-item> - <el-form-item label="检查人名称"> - <el-select v-model="form.inspector" placeholder="请选择"> - <el-option - v-for="item in nameList" - :key="item.id" - :label="item.realname" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="时间"> - <el-col :span="11"> - <el-date-picker type="date" format="yyyy 年 MM 月 dd 日" placeholder="开始时间" v-model="form.inspectionTime" style="width: 100%;"></el-date-picker> - </el-col> - <!-- <el-col style="text-align:center" :span="2">-</el-col> + <el-dialog title="添加" :visible.sync="dialogVisible" :close-on-click-modal="false" width="30%"> + <el-form ref="form" :model="form" label-width="100px"> + <el-form-item label="自查清单名称"> + <el-input v-model="form.inspectionName"></el-input> + </el-form-item> + <el-form-item label="检查人名称"> + <el-select + v-model="form.inspector" + style="width: 100%" + placeholder="请选择" + > + <el-option + v-for="item in nameList" + :key="item.id" + :label="item.realname" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="时间"> + <el-col :span="11"> + <el-date-picker + type="date" + format="yyyy 年 MM 月 dd 日" + placeholder="开始时间" + v-model="form.inspectionTime" + style="width: 100%" + ></el-date-picker> + </el-col> + <!-- <el-col style="text-align:center" :span="2">-</el-col> <el-col :span="11"> <el-date-picker type="date" format="yyyy 年 MM 月 dd 日" placeholder="结束时间" v-model="form.inspectionEndTime" style="width: 100%;"></el-date-picker> </el-col> --> - </el-form-item> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">取 消</el-button> - <el-button type="primary" @click="addC">确 定</el-button> - </span> -</el-dialog> + </el-form-item> + </el-form> + <span + slot="footer" + style="text-align: center; display: block" + class="dialog-footer" + > + <el-button type="primary" class="btn" @click="addC">确 定</el-button> + <el-button @click="dialogVisible = false">取 消</el-button> + </span> + </el-dialog> </div> </template> <script> @@ -139,6 +166,8 @@ safetyInspectionItemTreeB, safetySelfInspectionAdd, safetyInspectionItemName, + safetySelfInspectionInfo, + safetySelfInspectionMod, } from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, @@ -147,63 +176,155 @@ dialogVisible: false, show: true, form: { - inspectionName:"", - inspector:"", - inspectionTime:"", - status:"", - itemList:[] + inspectionName: "", + inspector: "", + inspectionTime: "", + status: "", + itemList: [], }, formInline: { user: "", region: "", }, list: [], - lists:[], - nameList:[], + lists: [], + nameList: [], tree: [], id: "", - nameA: "", - arr:[] + elementAName: "", + arr: [], + treeList: [], + defaultProps: { + children: "children", + label: "label", + }, + itemId: "", }; }, created() { this.TreeA(); + this.id = this.$route.query.name; + this.itemId = this.$route.query.id; + this.itemInfo(this.$route.query.id); }, methods: { + itemInfo(id) { + safetySelfInspectionInfo({ id: id }).then((res) => { + if (res.data.code == 200) { + this.form = res.data.result; + console.log(res.data.result); + this.list = res.data.result; + var trees = []; + for (var i = 0; i < this.list.itemList.length; i++) { + trees.push(this.list.itemList[i].elementA); + } + this.treeList = Array.from(new Set(trees)); + var arr = this.checkSameDataA(this.list.itemList); + for (var i = 0; i < arr.length; i++) { + var capB = { + safetySelfInspectionId: "", + safetyInspectionItemId: "", + } + var cser=[] + for(var j=0;j<arr[i].child.length;j++){ + capB.safetySelfInspectionId=arr[i].child[j].safetySelfInspectionId + capB.safetyInspectionItemId=arr[i].child[j].safetyInspectionItemId + cser.push(capB) + } + arr[i].id=cser + console.log('tag', capB) + arr[i].child = this.checkSameData(arr[i].child); + } + this.lists = arr; + console.log(this.lists); + } + }); + }, TreeA() { safetyInspectionItemTreeA().then((res) => { if (res.data.code == 200) { - // console.log(res.data) this.tree = res.data.result; } }); }, TreeB(id) { safetyInspectionItemTreeB({ id: id }).then((res) => { - this.list=[] - if (res.data.code == 200) { - this.list = res.data.result; - console.log(this.list) - var capA={nameA:'',id:[],child:[]} - var atte=[] - capA.nameA = this.list[0].elementAName; - for(var i=0;i<this.list.length;i++){ - var capB={safetySelfInspectionId:"",safetyInspectionItemId:""} - capB.safetyInspectionItemId=this.list[i].id - atte.push(capB) - } - capA.id=atte - capA.child= this.checkSameData(this.list); - if(this.lists.findIndex(item=>item.nameA===capA.nameA)==-1){ - this.lists.push(capA) - - }else{ - var i=this.lists.findIndex(item=>item.nameA===capA.nameA) - this.lists.splice(i,1) - } + this.list = []; + if (this.id == "添加") { + if (res.data.code == 200) { + this.list = res.data.result; + var capA = { elementAName: "", id: [], child: [] }; + var atte = []; + capA.elementAName = this.list[0].elementAName; + for (var i = 0; i < this.list.length; i++) { + var capB = { + safetySelfInspectionId: "", + safetyInspectionItemId: "", + }; + capB.safetyInspectionItemId = this.list[i].id; + atte.push(capB); + } + capA.id = atte; + capA.child = this.checkSameData(this.list); + if ( + this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ) == -1 + ) { + this.lists.push(capA); + } else { + var i = this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ); + this.lists.splice(i, 1); + } + } + } else if (this.id == "编辑") { + this.list = res.data.result; + var capA = { elementAName: "", id: [], child: [] }; + var atte = []; + capA.elementAName = this.list[0].elementAName; + for (var i = 0; i < this.list.length; i++) { + var capB = { + safetySelfInspectionId: "", + safetyInspectionItemId: "", + }; + capB.safetyInspectionItemId = this.list[i].id; + capB.safetySelfInspectionId = this.itemId; + atte.push(capB); + } + capA.id = atte; + capA.child = this.checkSameData(this.list); + if ( + this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ) == -1 + ) { + this.lists.push(capA); + } else { + var i = this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ); + this.lists.splice(i, 1); + } } - console.log(this.lists) }); + }, + checkSameDataA(resData) { + let dataInfo = {}; + resData.forEach((item, index) => { + let { elementAName } = item; + if (!dataInfo[elementAName]) { + dataInfo[elementAName] = { + elementAName, + id: {}, + child: [], + }; + } + dataInfo[elementAName].child.push(item); + }); + let list = Object.values(dataInfo); // list 转换成功的数据 + return list; }, checkSameData(resData) { let dataInfo = {}; @@ -224,43 +345,70 @@ this.TreeB(currentObj.value); }, handleClick(data) { - this.$router.push({ - path: "/reviewXG", - query: { - id: data, - }, - }); + if (data.safetyInspectionItemId != undefined) { + this.$router.push({ + path: "/reviewXG", + query: { + id: data.safetyInspectionItemId, + }, + }); + } else { + this.$router.push({ + path: "/reviewXG", + query: { + id: data.id, + }, + }); + } }, - open(){ - var arr=[] - for(var i=0;i<this.lists.length;i++){ - this.lists[i].id - for(var j=0;j<this.lists[i].id.length;j++){ - arr.push(this.lists[i].id[j]) + open(type) { + this.dialogVisible = true; + this.form.status = type; + var arr = []; + console.log("数据", this.lists); + for (var i = 0; i < this.lists.length; i++) { + this.lists[i].id; + for (var j = 0; j < this.lists[i].id.length; j++) { + arr.push(this.lists[i].id[j]); } } - this.form.itemList=arr - this.dialogVisible = true - safetyInspectionItemName().then(res=>{ - // console.log(res) - if(res.data.code==200){ - this.nameList=res.data.result + this.form.itemList = arr; + safetyInspectionItemName().then((res) => { + if (res.data.code == 200) { + this.nameList = res.data.result; } - }) + }); }, - addC(){ - safetySelfInspectionAdd(this.form).then(res=>{ - if(res.data.code==200){ - this.dialogVisible=false - this.$notify({ + addC() { + if (this.id == "添加") { + safetySelfInspectionAdd(this.form).then((res) => { + if (res.data.code == 200) { + this.dialogVisible = false; + this.$notify({ type: "success", duration: 2000, message: "新增成功", title: "成功", }); - } - - }) + this.$router.push({ + path:"/checklistself" + }); + } + }); + } else if (this.id == "编辑") { + safetySelfInspectionMod(this.form).then((res) => { + this.dialogVisible = false; + this.$notify({ + type: "success", + duration: 2000, + message: "编辑成功", + title: "成功", + }); + }); + this.$router.push({ + path:"/checklistself" + }); + } }, btnsQX() { this.show = true; @@ -285,7 +433,7 @@ border-radius: 5px; } .box-left-content { - padding: 10px; + padding: 10px 20px; } .box-right { position: relative; @@ -301,9 +449,16 @@ .titles { font-size: 14px; } -.btns{ +.btns { position: absolute; top: 10px; right: 50px; } +.box-left-content /deep/ .el-tree-node__expand-icon { + display: none; +} +.btn { + background-color: #034ea2; + border: 1px solid #034ea2; +} </style> \ No newline at end of file diff --git a/src/views/safetyproduction/review.vue b/src/views/safetyproduction/review.vue index e40c8d6..9539081 100644 --- a/src/views/safetyproduction/review.vue +++ b/src/views/safetyproduction/review.vue @@ -3,30 +3,26 @@ <div class="box"> <div class="box-right"> <Titlename title="基础信息"></Titlename> - <el-form ref="form" :model="form" label-width="120px"> + <el-form ref="form" :model="list" label-width="120px"> <div style="width: 80%; margin: auto"> <el-row class="box-right-content" align="top"> <el-col :span="11"> <el-form-item label="A级要素"> <el-select - v-model="formInline.region" + v-model="list.elementAName" :disabled="true" style="width: 100%" > - <el-option label="区域一" value="shanghai"></el-option> - <el-option label="区域二" value="beijing"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="11" :offset="2" style="white-space: nowrap"> <el-form-item label="B级要素"> <el-select - v-model="formInline.region" + v-model="list.elementBName" :disabled="true" style="width: 100%" > - <el-option label="区域一" value="shanghai"></el-option> - <el-option label="区域二" value="beijing"></el-option> </el-select> </el-form-item> </el-col> @@ -37,7 +33,8 @@ <el-input :rows="3" type="textarea" - v-model="form.name" + :disabled="true" + v-model="list.standardizationRequirements" placeholder="" ></el-input> </el-form-item> @@ -49,7 +46,8 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + :disabled="true" + v-model="list.enterpriseStandard" placeholder="" ></el-input> </el-form-item> @@ -61,7 +59,8 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + :disabled="true" + v-model="list.reviewMethod" placeholder="" ></el-input> </el-form-item> @@ -76,7 +75,8 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + :disabled="true" + v-model="list.veto" placeholder="" ></el-input> </el-form-item> @@ -98,12 +98,12 @@ <el-row> <el-col :span="22" :offset="2"> <el-table - :data="tableData" + :data="list.selfDeductionList" border style="width: 99%; margin-left: 1%" > <el-table-column - prop="date" + type="index" align="center" label="序号" width="150" @@ -114,19 +114,6 @@ align="center" label="说明" ></el-table-column> - <!-- <el-table-column align="center" label="操作" width="200px"> - <template slot-scope="scope"> - <el-button - @click="handleClick(scope.row)" - type="text" - size="small" - >编辑</el-button - > - <el-button type="text" size="small" style="color: red" - >删除</el-button - > - </template> - </el-table-column> --> </el-table> </el-col> </el-row> @@ -136,14 +123,18 @@ <el-row> <el-col :span="24"> <el-form-item label="是否否决项"> - <el-radio-group v-model="resource"> - <el-radio label="0">是</el-radio> - <el-radio label="1">否</el-radio> + <el-radio-group v-model="list.safetyInspectionItemResult"> + <el-radio :label="0">是</el-radio> + <el-radio :label="1">否</el-radio> </el-radio-group> </el-form-item></el-col > </el-row> - <div v-if="resource == '0' ? false : true"> + <div + v-if=" + list.safetyInspectionItemResult == 1 + " + > <el-row style="padding: 15px 1%"> <el-col :span="22" :offset="2"> <span @@ -160,11 +151,11 @@ <el-col :span="22" :offset="2"> <el-table border - :data="tableData" + :data="list.selfDeductionList" style="width: 99%; margin-left: 1%" > <el-table-column - prop="date" + type="index" align="center" label="序号" width="150" @@ -176,7 +167,7 @@ label="说明" ></el-table-column> <el-table-column - prop="name" + prop="point" align="center" label="扣分值" ></el-table-column> @@ -188,9 +179,6 @@ size="small" >修改</el-button > - <el-button type="text" size="small" style="color: red" - >删除</el-button - > </template> </el-table-column> </el-table> @@ -200,24 +188,26 @@ </div> <el-row> <el-col :span="24" style="padding: 20px 0; text-align: center"> - <el-button type="primary" class="btns">提交</el-button> - <el-button>取消</el-button> + <el-button type="primary" @click="modItem()" class="btns" + >提交</el-button + > + <el-button @click="back()">取消</el-button> </el-col> </el-row> </el-form> </div> </div> - <el-dialog title="扣分详情" :visible.sync="dialogVisible" width="30%"> + <el-dialog title="扣分详情" :visible.sync="dialogVisible" :close-on-click-modal="false" width="30%"> <el-form ref="form" :model="form" label-width="54px"> <el-form-item label="说明"> - <el-input v-model="form.name"></el-input> + <el-input disabled="true" v-model="form.name"></el-input> </el-form-item> <el-form-item label="扣分值"> - <el-input v-model="form.name"></el-input> + <el-input v-model="form.point"></el-input> </el-form-item> <el-form-item label="备注"> - <el-input v-model="form.name" :rows="5" type="textarea"></el-input> + <el-input v-model="form.remark" :rows="5" type="textarea"></el-input> </el-form-item> </el-form> <span @@ -228,69 +218,71 @@ <el-button type="primary" class="btns" @click="dialogVisible = false" >确 定</el-button > - <el-button @click="dialogVisible = false">取 消</el-button> + <el-button @click="lost()">取 消</el-button> </span> </el-dialog> </div> </template> <script> import Titlename from "../../components/Titlename/index.vue"; +import { + safetySelfInspectionItemInfo, + safetySelfInspectionModItemInfo, +} from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, data() { return { dialogVisible: false, - resource: "0", - form: { - name: "", - }, - formInline: { - user: "", - region: "", - }, - tableData: [ - { - date: "2016-05-02", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1518 弄", - zip: 200333, - }, - { - date: "2016-05-04", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1517 弄", - zip: 200333, - }, - { - date: "2016-05-01", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1519 弄", - zip: 200333, - }, - { - date: "2016-05-03", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1516 弄", - zip: 200333, - }, - ], - defaultProps: { - children: "children", - label: "label", - }, + id: "", + form: {}, + list: [], }; }, + created() { + this.id = this.$route.query.id; + this.itemInfo(this.$route.query.idC); + }, methods: { - handleClick() { + itemInfo(id) { + safetySelfInspectionItemInfo({id:id}).then((res) => { + this.list = res.data.result; + }); + }, + modItem() { + safetySelfInspectionModItemInfo(this.list).then((res) => { + if (res.data.code == 200) { + this.$notify({ + type: "success", + duration: 2000, + message: "提交成功", + title: "成功", + }); + this.$router.push({ + path: "/gojudging", + query:{ + id:this.id + } + }); + } + }); + }, + back() { + this.$router.push({ + path: "/gojudging", + query:{ + id:this.id + } + }); + }, + handleClick(data) { this.dialogVisible = true; + this.form = data; + console.log(data); + }, + lost() { + this.dialogVisible = false; + this.itemInfo(this.id); }, }, }; diff --git a/src/views/safetyproduction/reviewXG.vue b/src/views/safetyproduction/reviewXG.vue index b0a1349..838d985 100644 --- a/src/views/safetyproduction/reviewXG.vue +++ b/src/views/safetyproduction/reviewXG.vue @@ -9,7 +9,7 @@ <el-col :span="11"> <el-form-item label="A级要素"> <el-select - v-model="formInline.region" + v-model="form.elementAName" :disabled="true" style="width: 100%" > @@ -21,7 +21,7 @@ <el-col :span="11" :offset="2" style="white-space: nowrap"> <el-form-item label="B级要素"> <el-select - v-model="formInline.region" + v-model="form.elementBName" :disabled="true" style="width: 100%" > @@ -37,7 +37,7 @@ <el-input :rows="3" type="textarea" - v-model="form.name" + v-model="form.standardizationRequirements" placeholder="" ></el-input> </el-form-item> @@ -49,7 +49,7 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + v-model="form.enterpriseStandard" placeholder="" ></el-input> </el-form-item> @@ -61,7 +61,7 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + v-model="form.reviewMethod" placeholder="" ></el-input> </el-form-item> @@ -76,7 +76,7 @@ <el-input type="textarea" :rows="3" - v-model="form.name" + v-model="form.veto" placeholder="" ></el-input> </el-form-item> @@ -90,20 +90,25 @@ > </el-col> <el-col :span="12" style="text-align: right"> - <el-button type="primary" @click="dialogVisible=true" class="btns" size="mini" icon="el-icon-plus" - >新增</el-button - > - </el-col> + <el-button + type="primary" + @click="coAdd('', '新增')" + class="btns" + size="mini" + icon="el-icon-plus" + >新增</el-button + > + </el-col> </el-row> <el-row> <el-col :span="22" :offset="2"> <el-table - :data="tableData" + :data="form.deductionList" border style="width: 99%; margin-left: 1%" > <el-table-column - prop="date" + type="index" align="center" label="序号" width="150" @@ -115,42 +120,47 @@ label="说明" ></el-table-column> <el-table-column align="center" label="操作" width="200px"> - <template slot-scope="scope"> - <el-button - @click="handleClick(scope.row)" - type="text" - size="small" - >编辑</el-button - > - <el-button type="text" size="small" style="color: red" - >删除</el-button - > - </template> - </el-table-column> + <template slot-scope="scope"> + <el-button + @click="coAdd(scope.row, '编辑')" + type="text" + size="small" + >编辑</el-button + > + <el-button + type="text" + size="small" + style="color: red" + @click="listDel(scope.row)" + >删除</el-button + > + </template> + </el-table-column> </el-table> </el-col> </el-row> </div> <el-row> <el-col :span="24" style="padding: 20px 0; text-align: center"> - <el-button type="primary" class="btns">提交</el-button> - <el-button>取消</el-button> + <el-button type="primary" @click="safetyInspectionItemA()" class="btns">提交</el-button> + <el-button @click="back()">取消</el-button> </el-col> </el-row> </el-form> </div> </div> - <el-dialog title="扣分详情" :visible.sync="dialogVisible" width="30%"> - <el-form ref="form" :model="form" label-width="54px"> + <el-dialog title="扣分详情" :visible.sync="dialogVisible" :close-on-click-modal="false" width="30%"> + <el-form ref="form" :model="formInline" label-width="54px"> <el-form-item label="说明"> - <el-input v-model="form.name"></el-input> - </el-form-item> - <el-form-item label="扣分值"> - <el-input v-model="form.name"></el-input> + <el-input v-model="formInline.name"></el-input> </el-form-item> <el-form-item label="备注"> - <el-input v-model="form.name" :rows="5" type="textarea"></el-input> + <el-input + v-model="formInline.remark" + :rows="5" + type="textarea" + ></el-input> </el-form-item> </el-form> <span @@ -158,7 +168,7 @@ class="dialog-footer" style="text-align: center; display: block" > - <el-button type="primary" class="btns" @click="dialogVisible = false" + <el-button type="primary" class="btns" @click="listAdd" >确 定</el-button > <el-button @click="dialogVisible = false">取 消</el-button> @@ -168,63 +178,93 @@ </template> <script> import Titlename from "../../components/Titlename/index.vue"; +import { safetyInspectionItemId } from "@/api/safetySelfInspection.js"; +import { safetyInspectionItemMod } from "@/api/safetyInspectionItem.js"; export default { components: { Titlename }, data() { return { dialogVisible: false, + id: "", resource: "0", - form: { - name: "", - }, + form: {}, formInline: { - user: "", - region: "", - }, - tableData: [ - { - date: "2016-05-02", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1518 弄", - zip: 200333, - }, - { - date: "2016-05-04", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1517 弄", - zip: 200333, - }, - { - date: "2016-05-01", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1519 弄", - zip: 200333, - }, - { - date: "2016-05-03", - name: "王小虎", - province: "上海", - city: "普陀区", - address: "上海市普陀区金沙江路 1516 弄", - zip: 200333, - }, - ], - defaultProps: { - children: "children", - label: "label", + name: "", + remark: "", }, }; }, - created(){ - console.log(this.$route.query.id) + created() { + this.id = this.$route.query.id; + console.log('tagee',this.$route.query) + this.safeT(this.id); }, methods: { + safeT(id) { + safetyInspectionItemId({ id: id }).then((res) => { + if (res.data.code == 200) { + this.form = res.data.result; + } + }); + }, + coAdd(val, type) { + this.titleN = type; + if (type == "新增") { + this.dialogVisible = true; + this.formInline = { + name: "", + remark: "", + }; + } else { + this.dialogVisible = true; + this.index = this.form.deductionList.findIndex( + (item) => item.name == val.name + ); + this.formInline = val; + } + }, + listAdd() { + if (this.titleN == "新增") { + this.form.deductionList.push(this.formInline); + this.dialogVisible = false; + } else { + this.form.deductionList[this.index].name = this.formInline.name; + this.form.deductionList[this.index].space = this.formInline.space; + this.dialogVisible = false; + } + }, + listDel(val) { + var i = this.form.deductionList.findIndex( + (item) => item.name == val.name + ); + this.form.deductionList.splice(i, 1); + }, + safetyInspectionItemA() { + safetyInspectionItemMod(this.form).then((res) => { + console.log(res) + if (res.data.code == 200) { + this.$notify({ + type: "success", + duration: 2000, + message: "修改成功", + title: "成功", + }); + this.$router.push({ + path:"/new" + }) + } else { + this.$message({ + type: "warning", + message: res.data.message, + }); + } + }); + }, + back(){ + this.$router.push({ + path:"/new" + }) + }, handleClick() { this.dialogVisible = true; }, -- Gitblit v1.9.2