From c1df656dee7e75d109d2bee05f0c129e13e9367a Mon Sep 17 00:00:00 2001 From: panzy <225@qq.com> Date: 星期六, 21 五月 2022 06:49:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/shf' into shf --- src/views/summaryPotentialSafetyHzards/index.vue | 554 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 388 insertions(+), 166 deletions(-) diff --git a/src/views/summaryPotentialSafetyHzards/index.vue b/src/views/summaryPotentialSafetyHzards/index.vue index 31747b9..4f953f9 100644 --- a/src/views/summaryPotentialSafetyHzards/index.vue +++ b/src/views/summaryPotentialSafetyHzards/index.vue @@ -1,144 +1,158 @@ <template> -<div> - <div class="whole_top"> - <el-form ref="form" :inline="true" :model="form" label-width="100px"> - <div class="top"> - <div class="select"> - <el-form-item> - <el-select v-model="value1" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select v-model="value2" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select v-model="value3" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select v-model="value4" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select v-model="value5" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-select v-model="value6" multiple placeholder="请选择" style="color: red"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - </div> - <el-form-item> - <el-radio-group v-model="radio" style="padding: 20px 0;"> - <el-radio :label="1">按隐患部门</el-radio> - <el-radio :label="2">按专业</el-radio> - <el-radio :label="3">按级别</el-radio> - <el-radio :label="4">按检查类别</el-radio> - <el-radio :label="5">按检查单位(上级单位)</el-radio> - <el-radio :label="6">按检查单位(本部单位)</el-radio> - </el-radio-group> - </el-form-item> - <el-radio-group v-model="radio"> - <el-radio :label="1">按隐患部门</el-radio> - <el-radio :label="2">按专业</el-radio> - <el-radio :label="3">按级别</el-radio> - <el-radio :label="4">按检查类别</el-radio> - <el-radio :label="5">按检查单位(上级单位)</el-radio> - <el-radio :label="6">按检查单位(本部单位)</el-radio> - </el-radio-group> - </div> - <div class="center" style="text-align: center;padding-top: 10px;"> - <el-form-item label="检查时间:"> - <el-date-picker - v-model="time" - type="daterange" - range-separator="至" - start-placeholder="开始日期" - end-placeholder="结束日期"> - </el-date-picker> - </el-form-item> - <el-form-item> - <el-button class="btn" size="small" type="primary" @click="close()" - >汇总</el-button> - <el-button class="btn" size="small" type="primary" @click="close()" - >导出Excel</el-button> - </el-form-item> + <div> + <div class="whole_top"> + <el-form ref="form" :inline="true" :model="form" label-width="100px"> + <div class="top"> + <div class="select"> + <el-form-item> + <el-select v-model="form.ht_branch" multiple placeholder="请选择隐患部门" style="color: red"> + <el-option + v-for="item in YHBMList" + :key="item.branch_name" + :label="item.branch_name" + :value="item.branch_name"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select v-model="form.ht_typesub" multiple placeholder="请选择隐患专业" style="color: red"> + <el-option + v-for="item in YHLXList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select v-model="form.ht_level" multiple placeholder="请选择隐患级别" style="color: red"> + <el-option + v-for="item in YHJBList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select v-model="form.checktype" multiple placeholder="请选择检查类型" style="color: red"> + <el-option + v-for="item in JCLBList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select v-model="form.ht_community" multiple placeholder="请选择上级检查单位" + style="color: red"> + <el-option + v-for="item in SJLBList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-select v-model="form.check_branch" multiple placeholder="请选择本部检查单位" + style="color: red"> + <el-option + v-for="item in JCBMList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </div> + <el-form-item label="统计类别"> + <el-radio-group v-model="form.x_axis" style="padding: 0px 0;"> + <el-radio label="ht_branch">按隐患部门</el-radio> + <el-radio label="ht_typesub">按专业</el-radio> + <el-radio label="ht_level">按级别</el-radio> + <el-radio label="checktype">按检查类别</el-radio> + <el-radio label="ht_community">按检查单位(上级单位)</el-radio> + <el-radio label="check_branch">按检查单位(本部单位)</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="汇总类别"> + <el-radio-group v-model="form.y_axis"> + <el-radio label="ht_branch">按隐患部门</el-radio> + <el-radio label="ht_typesub">按专业</el-radio> + <el-radio label="ht_level">按级别</el-radio> + <el-radio label="checktype">按检查类别</el-radio> + <el-radio label="ht_community">按检查单位(上级单位)</el-radio> + <el-radio label="check_branch">按检查单位(本部单位)</el-radio> + </el-radio-group> + </el-form-item> + </div> + <div class="center" style="text-align: center;padding-top: 10px;"> + <el-form-item label="检查时间:"> + <el-date-picker + v-model="time" + type="daterange" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button class="btn" size="small" type="primary" @click="queryData" + >汇总 + </el-button> + <el-button class="btn" size="small" type="primary" @click="close()" + >导出Excel + </el-button> + </el-form-item> + </div> + </el-form> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column align="center" label="众泰煤焦化-安全隐患台帐"> + <el-table-column + prop="y_label" + label="隐患部门\隐患专业" + + align="center"> + </el-table-column> + <el-table-column + v-for="item in tableData[0].items" + :label="item.x_label" + align="center"> + <template slot-scope="scope"> + <span @click="showYHList(scope.row,item)" class="clickSpan"> + {{ getRowNum(scope.row, item.x_label) }} + </span> + </template> + </el-table-column> + </el-table-column> + </el-table> + <div style="color: #c5021a;margin-top: 20px;"> + <div>温馨提示:</div> + <div>点选可查询隐患详情。</div> </div> - </el-form> - <el-table - :data="tableData" - style="width: 100%"> - <el-table-column align="center" label="众泰煤焦化-安全隐患台帐"> - <el-table-column - prop="name" - label="隐患部门\隐患专业" - align="center"> - </el-table-column> - <el-table-column - prop="province" - label="采掘" - align="center"> - </el-table-column> - <el-table-column - prop="city" - label="生产" - width="120" - align="center"> - </el-table-column> - <el-table-column - prop="address" - label="合计" - width="300" - align="center"> - </el-table-column> - </el-table-column> - </el-table> - <div style="color: #c5021a;margin-top: 20px;"> - <div>温馨提示:</div> - <div>点选可查询隐患详情。</div> </div> </div> -</div> </template> <script> + +import { + initJCBM, + initYHLX, + initBC, + initJCLB, + initYHBM, + initYHJB, + initLlr, + initReformStatus +} from "@/api/sgyhpczl/initSelect"; + +import {danger_summary} from "@/api/sgyhpczl/summaryPotentialSafetyHzards"; + export default { name: "index", data() { @@ -166,58 +180,257 @@ value5: [], value6: [], radio: 3, - time: '', - tableData: [{ - name: '财务部', - province: '1', - city: '4', - address: '1' - }, { - name: '党委副书记', - province: '0', - city: '2', - address: '0' - }, { - name: '众泰煤焦化', - province: '2', - city: '3', - address: '1' - }, { - name: '王小虎', - province: '3', - city: '9', - address: '2' - }] + TJType: "ht_typesub", + HZType: "ht_branch", + time: [], + tableData: [ + {} + ], + form: { + x_axis: "ht_typesub", + y_axis: "ht_branch" + }, + JCDWList: [{label: "众泰煤焦化", value: 0}, {label: "上级单位", value: 1}], + JCBMList: [], + YHLXList: [], + BCList: [], + JCLBList: [], + SJLBList: [], + YHBMList: [], + YHJBList: [], + YHZTList: [], + startDate: "", + endDate: "", } + }, + mounted() { + this.initYHLX() + this.initYHJB() + this.initBC() + this.initJCLB() + this.initLlr() + this.initYHBM() + this.initYHZT() + this.initJCBM() + this.initSJJCBM() + let startDate = this.getCurrentMonthFirst(); + let endDate = this.getCurrentMonthLast(); + this.time.push(startDate, endDate); + this.queryData(); + + }, + methods: { + initYHLX() { + initYHLX().then(res => { + if (res.data.ok == 1) { + this.YHLXList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHJB() { + initYHJB().then(res => { + if (res.data.ok == 1) { + this.YHJBList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHZT() { + initReformStatus().then(res => { + if (res.data.ok == 1) { + this.YHZTList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initBC() { + initBC().then(res => { + if (res.data.ok == 1) { + this.BCList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initJCLB() { + initJCLB().then(res => { + if (res.data.ok == 1) { + this.JCLBList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initLlr() { + initLlr().then(res => { + if (res.data.ok == 1) { + this.llrList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initYHBM() { + initYHBM().then(res => { + if (res.data.ok == 1) { + this.YHBMList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initJCBM() { + initJCBM(0).then(res => { + if (res.data.ok == 1) { + this.JCBMList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + initSJJCBM() { + initJCBM(1).then(res => { + if (res.data.ok == 1) { + this.SJLBList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + queryData() { + let requestData = {}; + let selectData = [] + for (const queryElement in this.form) { + if (queryElement != "x_axis" && queryElement != "y_axis") { + if (this.form[queryElement] != null && this.form[queryElement] != '') { + let searchCloumn = { + "field": queryElement, + "value": this.form[queryElement].join(','), + "type": "IN" + } + selectData.push(searchCloumn); + } + } else { + requestData[queryElement] = this.form[queryElement]; + } + } + let timeSearchCloumn = { + "field": "check_date", + "value": this.time[0] + "至" + this.time[1], + "type": "DAT" + } + selectData.push(timeSearchCloumn) + requestData.query_condition = selectData; + danger_summary(requestData).then(res => { + if (res.data.ok == 1) { + this.tableData = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }, + getCurrentMonthFirst() { + var date = new Date(); + date.setDate(1); + var month = parseInt(date.getMonth() + 1); + var day = date.getDate(); + if (month < 10) { + month = '0' + month + } + if (day < 10) { + day = '0' + day + } + + return date.getFullYear() + '-' + month + '-' + day; + }, + getCurrentMonthLast() { + var date = new Date(); + var currentMonth = date.getMonth(); + var nextMonth = ++currentMonth; + var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1); + var oneDay = 1000 * 60 * 60 * 24; + var lastTime = new Date(nextMonthFirstDay - oneDay); + var month = parseInt(lastTime.getMonth() + 1); + var day = lastTime.getDate(); + if (month < 10) { + month = '0' + month + } + if (day < 10) { + day = '0' + day + } + return date.getFullYear() + '-' + month + '-' + day; + }, + getRowNum(row, str) { + var data = row.items.find(n => n.x_label == str); + return data.value + }, + + showYHList(row,item){ + var searchData = {}; + searchData[this.form.x_axis] = item.x_label; + searchData[this.form.y_axis] = row.y_label; + let requestData = {}; + let selectData = [] + for (const queryElement in this.form) { + if (queryElement != "x_axis" && queryElement != "y_axis") { + if (this.form[queryElement] != null && this.form[queryElement] != '') { + let searchCloumn = { + "field": queryElement, + "value": this.form[queryElement].join(','), + "type": "IN" + } + selectData.push(searchCloumn); + } + } else { + requestData[queryElement] = this.form[queryElement]; + } + } + searchData.query_condition = selectData; + this.$router.push({ + path: "/summaryList", + query: {"searchData": searchData} + }) + } + } } </script> <style scoped> -.top{ +.top { padding: 10px 5px; background: #e4edf4; } + /*下拉框图标隐藏*/ -.whole_top .select /deep/ .el-input__suffix-inner .is-reverse{ +.whole_top .select /deep/ .el-input__suffix-inner .is-reverse { display: none; } -.whole_top .select /deep/ .el-input__suffix-inner .el-icon-arrow-up{ + +.whole_top .select /deep/ .el-input__suffix-inner .el-icon-arrow-up { display: none; } + /*设下拉框颜色*/ -.select /deep/.el-input__inner { +.select /deep/ .el-input__inner { border: 1px solid #c5dbec; font-weight: bold; background: #dfeffc; -/*.el-icon-circle-close*/ + /*.el-icon-circle-close*/ } -.whole_top .select /deep/.el-select .el-input__inner:focus { + +.whole_top .select /deep/ .el-select .el-input__inner:focus { color: #e6860b; } -.select /deep/ .is-focus .el-select__tags-text{ + +.select /deep/ .is-focus .el-select__tags-text { color: #000000; } + /*下拉框选值之后的样式*/ .select /deep/ .el-tag.el-tag--info { background-color: transparent;; @@ -225,24 +438,33 @@ font-weight: bold; color: #e6860b; } + /*placeholder颜色修改*/ .whole_top ::-webkit-input-placeholder { color: #000000; } + .whole_top :-moz-placeholder { color: #000000; } -.whole_top ::-moz-placeholder{ + +.whole_top ::-moz-placeholder { color: #000000; } + .whole_top :-ms-input-placeholder { color: #000000; } + /*日期*/ -/deep/ .el-date-editor .el-range-separator{ +/deep/ .el-date-editor .el-range-separator { width: auto; } -.btn{ +.clickSpan:hover{ + cursor: pointer; +} + +.btn { background-color: #034ea2; border: 1px solid #034ea2; } -- Gitblit v1.9.2