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