cqf
2022-05-19 6d2492004f8fe31f606399c01d4fd420f1064fc5
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>