From 4f77b7a712833d073f4006f3043468e0cbd9d7ca Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期四, 19 五月 2022 18:29:10 +0800
Subject: [PATCH] Merge branch 'shf' of https://sinanoaq.cn:8888/r/ztqt into shf

---
 src/views/oneFromanotherN/index.vue |  345 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 300 insertions(+), 45 deletions(-)

diff --git a/src/views/oneFromanotherN/index.vue b/src/views/oneFromanotherN/index.vue
index 64723ba..ed13ff7 100644
--- a/src/views/oneFromanotherN/index.vue
+++ b/src/views/oneFromanotherN/index.vue
@@ -2,14 +2,15 @@
     <div class="app-container">
             <el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px">
             <el-form-item label="隐患单位">
-                <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">
-                    <el-option
-                        v-for="item in XFDWList"
-                        :key="item.value"
-                        :label="item.value"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
+                <el-input v-model="listQuery.form.check_main_branch" style="width:202px"></el-input>
+<!--                <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">-->
+<!--                    <el-option-->
+<!--                        v-for="item in XFDWList"-->
+<!--                        :key="item.value"-->
+<!--                        :label="item.value"-->
+<!--                        :value="item.value">-->
+<!--                    </el-option>-->
+<!--                </el-select>-->
             </el-form-item>
             <el-form-item label="检查类别">
                 <el-select v-model="listQuery.form.checktype" placeholder="请选择">
@@ -50,9 +51,8 @@
             <el-form-item label="隐患内容">
                 <el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input>
             </el-form-item>
-
-            <el-form-item label="发送单位">
-                <el-input v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input>
+            <el-form-item label="发送单位" v-if="listQuery.type=='1'">
+                <el-input  v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input>
             </el-form-item>
             <el-form-item label="检查时间">
                 <el-col :span="11">
@@ -69,8 +69,6 @@
                 <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询
                 </el-button>
                 <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
-                <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel
-                </el-button>
             </el-form-item>
         </el-form>
      <el-row class="title-center">
@@ -88,12 +86,12 @@
             </el-col>
             <div v-if="table1">
             <el-col :span="14" style="text-align:right;" v-if="listQuery.type==0">
-                <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" >发送</el-button>
-                <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="sendBath()">添加</el-button>
-                <el-button size="small" >批量删除</el-button>
+                <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" @click="openSend()">发送</el-button>
+                <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="addDanger()">添加</el-button>
+                <el-button size="small" @click="deleteBatch()" >批量删除</el-button>
             </el-col>
              <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1">
-                <el-button class="btns" type="primary" size="small" >收回</el-button>
+                <el-button class="btns" type="primary" size="small" @click="tackBack()">收回</el-button>
             </el-col>
             </div>
         </el-row>
@@ -113,15 +111,15 @@
             <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
             <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                 <!-- <el-table-column prop="measure" label="被检单位" align="center"></el-table-column> -->
-            <el-table-column prop="ht_level" label="隐患类别" align="center"></el-table-column>
-            <el-table-column prop="ht_typesub" label="隐患级别" align="center"></el-table-column>
+            <el-table-column prop="ht_typesub" label="隐患类别" align="center"></el-table-column>
+            <el-table-column prop="ht_level" label="隐患级别" align="center"></el-table-column>
             <el-table-column prop="address" label="隐患地点" align="center"></el-table-column>
             <el-table-column prop="ht_content" label="隐患内容" width="200" align="center"></el-table-column>
             <!-- <el-table-column prop="curWarningLevel" label="下发单位" align="center"></el-table-column> -->
             <el-table-column prop="date" label="基本操作" align="center">
                 <template slot-scope="scope">
-                    <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
-                    <el-button @click="handleClick(scope.row)" type="text" size="small">删除</el-button>
+                    <el-button @click="editDanger(scope.row)" type="text" size="small">编辑</el-button>
+                    <el-button @click="deleteDanger(scope.row)" type="text" size="small">删除</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -185,11 +183,128 @@
             </el-pagination>
         </div>
 
+        <!-- 编辑弹窗 -->
+        <el-dialog
+            title="编辑"
+            :visible.sync="dialogVisible"
+            :close-on-click-modal="false"
+            width="40%">
+            <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px">
+                <el-row>
+                    <el-col :span="9">
+                        <el-form-item label="检查时间" prop="check_date">
+                            <el-date-picker
+                                v-model="dangerForm.check_date"
+                                type="date"
+                                value-format="yyyy-MM-dd"
+                                placeholder="选择日期"
+                                style="width: 100%"
+                            >
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="9" :offset="4">
+                        <el-form-item label="检查类别" prop="checktype">
+                            <el-select v-model="dangerForm.checktype" placeholder="请选择">
+                                <el-option
+                                    v-for="item in JCLBList"
+                                    :key="item.value"
+                                    :label="item.value"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="9" >
+                        <el-form-item label="检查单位" prop="check_main_branch">
+                            <el-input v-model="dangerForm.check_main_branch" class="multiline"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+                <el-row>
+                    <el-col :span="9">
+                        <el-form-item label="地点" prop="address">
+                            <el-input v-model="dangerForm.address" rows="3" type="textarea" class="multiline"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="9" :offset="4">
+                        <el-form-item label="隐患内容" prop="ht_content">
+                            <el-input v-model="dangerForm.ht_content" rows="3" type="textarea" class="multiline"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="9" >
+                        <el-form-item label="隐患类别" prop="ht_typesub">
+                            <el-select v-model="dangerForm.ht_typesub" placeholder="请选择">
+                                <el-option
+                                    v-for="item in YHLBList"
+                                    :key="item.value"
+                                    :label="item.value"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="9" :offset="4">
+                        <el-form-item label="隐患级别" prop="ht_level">
+                            <el-select v-model="dangerForm.ht_level" placeholder="请选择">
+                                <el-option
+                                    v-for="item in YHJBList"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="22">
+                        <el-form-item style="text-align: center">
+                            <el-button type="primary" class="btns" @click="submitDanger('form')">保存</el-button>
+                            <el-button @click="dialogVisible=false">关闭</el-button>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </el-dialog>
+
+        <!-- 部门弹窗 -->
+        <el-dialog
+            title="责任单位"
+            :visible.sync="bmDialogVisible"
+            :close-on-click-modal="false"
+            width="40%">
+            <el-form>
+                <el-row>
+                    <el-checkbox style="width: 80px;height: 30px" v-for="item in YHBMList" v-model="checked" :label="item.branch_id">
+                        {{item.branch_name}}
+                    </el-checkbox>
+                </el-row>
+                <el-row>
+                    <el-col :span="22">
+                        <el-form-item style="text-align: center;">
+                            <el-button class="btn" size="small" type="primary" @click="submitForm()">
+                                保存
+                            </el-button>
+                            <el-button size="small" @click="bmDialogVisible = false">关闭</el-button>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </el-dialog>
+
     </div>
 </template>
 <script>
-    import { getPageList, analogy_export_do} from "@/api/sgyhpczl/oneFromanotherN"
-    import {initJCBM, initYHLX, initJCLB, initYHJB} from "@/api/sgyhpczl/initSelect";
+import { getPageList, edit, del, send, revoke} from "@/api/sgyhpczl/oneFromanotherN"
+import {initJCBM, initYHLX, initJCLB, initYHJB,initYHBM} from "@/api/sgyhpczl/initSelect";
+import {deepClone} from '@/utils'
+
 
     export default{
         data(){
@@ -209,6 +324,10 @@
                 currentPage: 1,
                 pageSize: 10,
                 recordTotal: 0,
+                YHBMList: [],
+                bmDialogVisible: false,
+                checked:[],
+                requestData:{},//发送提交参数
                 XFDWList:[],
                 YHLBList:[],
                 YHJBList:[],
@@ -227,20 +346,28 @@
                     markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }],
                     markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }]
                 },
+                dialogVisible:false,
+                dangerForm:{},
+                dangerRules:{
+                    check_date: [{ required: true, message: '不能为空', trigger: 'blur' },],
+                    check_main_branch: [{ required: true, message: '不能为空', trigger: 'blur' },],
+                    checktype: [{ required: true, message: '不能为空', trigger: 'blur' },],
+                },
 
             }
         },
         mounted() {
             this.getPageList();
+            this.initYHBM();
             this.initJCLB();
             this.initXFDW();
             this.initYHJB();
             this.initYHLB();
         },
         methods:{
-            sendBath(){
+            addDanger(){
                 this.$router.push({
-                    path:'/existN'
+                    path:'/existN',
                 })
             },
             handleClick(data,val){
@@ -255,12 +382,22 @@
                     this.table1=false
                     this.table2=true
                     this.listQuery.type = 2
-                    console.log(this.listQuery.type)
                     this.getPageList()
                 }else{
+                    this.listQuery.type = 0
+                    this.getPageList()
                     this.table1=true
                     this.table2=false
                 }
+            },
+            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})
+                    }
+                })
             },
             initXFDW(){
                 initJCBM(1).then(res=>{
@@ -362,25 +499,6 @@
                     this.selectedList.push(item)
                 })
             },
-            exportData() {
-                var requestData = this.listQuery;
-                //删除分页参数
-                this.$delete(requestData, 'page')
-                this.$delete(requestData, 'limit')
-                analogy_export_do(requestData).then(res => {
-                    var blob = new Blob([res.data])
-                    var downloadElement = document.createElement('a')
-                    var href = window.URL.createObjectURL(blob) //创建下载的链接
-                    downloadElement.href = href
-                    downloadElement.download = '内部举一反三.xlsx' //下载后文件名
-                    document.body.appendChild(downloadElement)
-                    downloadElement.click() //点击下载
-                    document.body.removeChild(downloadElement) //下载完成移除元素
-                    window.URL.revokeObjectURL(href) //释放掉blob对象
-                }).catch(err => {
-                    console.log(err)
-                })
-            },
             //日期格式转换
             formatColumnDate(row, column) {
                 // 获取单元格数据
@@ -391,6 +509,143 @@
                 let dt = new Date(data)
                 return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
             },
+            editDanger(row, index) {
+                this.dangerForm = deepClone(row);
+                this.rowIndex = index;
+                this.dialogVisible = true;
+            },
+            //编辑提交
+            submitDanger(formName){
+                this.$refs[formName].validate((valid) => {
+                    if (valid) {
+                        edit(this.dangerForm).then(res=>{
+                            if (res.data.ok==1) {
+                                this.dialogVisible=false
+                                this.$message({type:'success', message:res.data.msg, duration:3000})
+                                this.getPageList()
+                            }else{
+                                this.$message({type:'error', message:res.data.msg, duration:3000})
+                            }
+                        })
+                    } else {
+                        console.log("error submit!!");
+                        return false;
+                    }
+                });
+            },
+            deleteBatch() {
+                if (this.selectedList == null || this.selectedList.length == 0) {
+                    this.$message({type: 'warning', message: '至少选中一条数据', duration: 3000})
+                    return
+                }
+                var ids = this.selectedList.map((obj) => {
+                    return obj.id
+                }).join(",")
+                this.$confirm('确认删除吗', '提示', {
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                        del(ids).then(() => {
+                            this.getPageList()
+                            this.$notify({
+                                title: "成功",
+                                message: "删除成功",
+                                type: "success",
+                                duration: 2000,
+                            });
+                        });
+                    })
+                    .catch(error => {
+                    });
+            },
+            deleteDanger(row) {
+                this.$confirm('确认删除吗', '提示', {
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    console.log(row.id)
+                        del(row.id).then(() => {
+                            this.getPageList()
+                            this.$notify({
+                                title: "成功",
+                                message: "删除成功",
+                                type: "success",
+                                duration: 2000,
+                            });
+                        });
+                    }).catch(error => {
+                });
+            },
+            //发送提交
+            submitForm() {
+                if (this.checked.length == 0) {
+                    this.$message({
+                        type: 'warning',
+                        message: '请勾选需要发送的部门!'
+                    });
+                    return;
+                }
+                this.requestData.branchIds = this.checked.join(";");
+                send(this.requestData).then(res => {
+                    if (res.data.ok) {
+                        this.$message({
+                            type: 'success',
+                            message: res.data.msg
+                        });
+                        this.bmDialogVisible = false;
+                        this.getPageList();
+                    } else {
+                        this.$message({
+                            type: 'error',
+                            message: res.data.msg
+                        });
+                    }
+                })
+            },
+            openSend() {
+                if (this.selectedList.length != 1) {
+                    this.$message({
+                        type: 'warning',
+                        message: '请选择一条数据!'
+                    });
+                    return false;
+                } else {
+                    this.requestData.id = this.selectedList[0].id;
+                    this.bmDialogVisible = true;
+                }
+            },
+            tackBack(){
+                if (this.selectedList.length != 1) {
+                    this.$message({
+                        type: 'warning',
+                        message: '请选择一条数据!'
+                    });
+                    return false;
+                }else {
+                    this.$confirm('确认收回吗', '提示', {
+                        confirmButtonText: '确认',
+                        cancelButtonText: '取消',
+                        type: 'warning'
+                    }).then(() => {
+                        let data = {
+                            id: this.selectedList[0].id
+                        }
+                        revoke(data).then(() => {
+                            this.getPageList()
+                            this.$notify({
+                                title: "成功",
+                                message: "收回成功",
+                                type: "success",
+                                duration: 2000,
+                            });
+                        });
+                    }).catch(error => {
+                    });
+                }
+            }
+
         }
     }
 </script>

--
Gitblit v1.9.2