From 381d806f7a04ed66ceb8dcb848c2b17de4202554 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期四, 31 三月 2022 10:17:30 +0800 Subject: [PATCH] 检查清单 --- src/views/safetyproduction/gojudging.vue | 265 +++++++++-------- src/views/safetyproduction/checklistself.vue | 42 ++ src/views/safetyproduction/reviewXG.vue | 195 +++++++----- src/views/safetyproduction/review.vue | 164 +++++----- src/api/safetySelfInspection.js | 11 src/router/index.js | 27 + src/views/safetyproduction/new.vue | 145 ++++++++- 7 files changed, 517 insertions(+), 332 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/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/safetyproduction/checklistself.vue b/src/views/safetyproduction/checklistself.vue index 9c95d1e..5738976 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,7 +160,23 @@ }, jump(){ this.$router.push({ - path:"/new" + path:"/new", + query:{ + name:'添加' + } + }) + }, + Del(id){ + safetySelfInspectionDel({id:id}).then(res=>{ + if(res.data.code==200){ + this.safetySelfInspectionL(); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + } }) } }, diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue index 51cd6f6..a6dfaf0 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,70 @@ 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: { + id: data.id, + }, + }); }, }, }; @@ -174,12 +189,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..2a1eef5 100644 --- a/src/views/safetyproduction/new.vue +++ b/src/views/safetyproduction/new.vue @@ -5,18 +5,24 @@ <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 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, i) in lists" :key="i"> <div class="title"> - A级要素:<span>{{ item.nameA }}</span> + A级要素:<span>{{ item.elementAName }}</span> </div> <div v-for="(item, index) in item.child" :key="index"> <el-row class="titles"> @@ -29,7 +35,7 @@ </el-row> <el-row> <el-col :span="22" :offset="1"> - <el-table border :data="item.child"> + <el-table ref="table" border :data="item.child"> <el-table-column prop="standardizationRequirements" align="center" @@ -55,10 +61,11 @@ <el-table-column align="center" width="80px" - type="expand" label="扣分项" + type="expand" > - <el-table :data="item.child.deductionList"> + <template slot-scope="scope"> + <el-table :data="scope.row.deductionList"> <el-table-column prop="name" align="center" @@ -74,6 +81,7 @@ > </el-table-column> </el-table> + </template> </el-table-column> </el-table-column> <el-table-column align="center" label="操作" width="200px"> @@ -106,7 +114,7 @@ <el-input v-model="form.inspectionName"></el-input> </el-form-item> <el-form-item label="检查人名称"> - <el-select v-model="form.inspector" placeholder="请选择"> + <el-select v-model="form.inspector" style="width:100%" placeholder="请选择"> <el-option v-for="item in nameList" :key="item.id" @@ -117,7 +125,7 @@ </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-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"> @@ -125,9 +133,9 @@ </el-col> --> </el-form-item> </el-form> - <span slot="footer" class="dialog-footer"> + <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> - <el-button type="primary" @click="addC">确 定</el-button> </span> </el-dialog> </div> @@ -139,6 +147,8 @@ safetyInspectionItemTreeB, safetySelfInspectionAdd, safetyInspectionItemName, + safetySelfInspectionInfo, + safetySelfInspectionMod, } from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, @@ -162,18 +172,48 @@ 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); + console.log('tag', arr) + for (var i = 0; i < arr.length; i++) { + arr[i].child = this.checkSameData(arr[i].child); + arr[i].id={safetySelfInspectionId:arr[i].child.safetySelfInspectionId,safetyInspectionItemId:arr[i].child.safetyInspectionItemId} + } + 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; } }); @@ -181,12 +221,12 @@ TreeB(id) { safetyInspectionItemTreeB({ id: id }).then((res) => { this.list=[] + if(this.id=="添加"){ if (res.data.code == 200) { this.list = res.data.result; - console.log(this.list) - var capA={nameA:'',id:[],child:[]} + var capA={elementAName:'',id:[],child:[]} var atte=[] - capA.nameA = this.list[0].elementAName; + 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 @@ -194,16 +234,53 @@ } capA.id=atte capA.child= this.checkSameData(this.list); - if(this.lists.findIndex(item=>item.nameA===capA.nameA)==-1){ + if(this.lists.findIndex(item=>item.elementAName===capA.elementAName)==-1){ this.lists.push(capA) }else{ - var i=this.lists.findIndex(item=>item.nameA===capA.nameA) + var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName) this.lists.splice(i,1) } } - console.log(this.lists) + }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) + } + console.log("数据",this.lists) + 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) + } + } }); + }, + 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 = {}; @@ -231,7 +308,9 @@ }, }); }, - open(){ + open(type){ + this.dialogVisible = true + this.form.status=type var arr=[] for(var i=0;i<this.lists.length;i++){ this.lists[i].id @@ -240,15 +319,15 @@ } } this.form.itemList=arr - this.dialogVisible = true safetyInspectionItemName().then(res=>{ - // console.log(res) - if(res.data.code==200){ + if(res.data.code==200){ this.nameList=res.data.result } }) + }, addC(){ + if(this.id=='添加'){ safetySelfInspectionAdd(this.form).then(res=>{ if(res.data.code==200){ this.dialogVisible=false @@ -261,6 +340,17 @@ } }) + }else if(this.id=='编辑'){ + safetySelfInspectionMod(this.form).then(res=>{ + this.dialogVisible=false + this.$notify({ + type: "success", + duration: 2000, + message: "编辑成功", + title: "成功", + }); + }) + } }, btnsQX() { this.show = true; @@ -285,7 +375,7 @@ border-radius: 5px; } .box-left-content { - padding: 10px; + padding:10px 20px; } .box-right { position: relative; @@ -306,4 +396,11 @@ 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..372143b 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 == '0' || null ? false : true + " + > <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,8 +188,10 @@ </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> @@ -211,13 +201,13 @@ <el-dialog title="扣分详情" :visible.sync="dialogVisible" 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,65 @@ <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; + this.itemInfo(this.$route.query); + }, methods: { - handleClick() { + itemInfo(id) { + safetySelfInspectionItemInfo(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", + }); + } + }); + }, + back() { + this.$router.push({ + path: "/gojudging", + }); + }, + 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..190f272 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,26 +120,30 @@ 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> @@ -142,15 +151,16 @@ </div> <el-dialog title="扣分详情" :visible.sync="dialogVisible" width="30%"> - <el-form ref="form" :model="form" label-width="54px"> + <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,92 @@ </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.id; + 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