lyfO_o
2022-03-30 fcc1ea2bf3ce3efe1f927bd087e4cd6cf2116c32
Merge remote-tracking branch 'remotes/origin/shf' into master

# Conflicts:
# index.html
已修改10个文件
已添加1个文件
1007 ■■■■■ 文件已修改
index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/safetySelfInspection.js 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyplan/index.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/majorHazardSourceMonitoring/instrumentData/index.vue 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/majorHazardSourceMonitoring/productionEquipment/index.vue 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyproduction/checklist.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyproduction/checklistself.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyproduction/new.vue 409 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyproduction/reviewXG.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
index.html
@@ -22,6 +22,7 @@
        #app {
            margin: 0;
            padding: 0;
            overflow: hidden;
            height: 100%;
        }
src/api/safetySelfInspection.js
对比新文件
@@ -0,0 +1,109 @@
import {getToken} from "../utils/auth";
import request from '@/utils/request'
export function safetySelfInspectionList(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/page',
        method: 'post',
        data
    })
}
export function safetySelfInspectionInfo(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/info',
        method: 'post',
        data
    })
}
export function safetySelfInspectionItemInfo(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/itemInfo',
        method: 'post',
        data
    })
}
export function safetySelfInspectionModItemInfo(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/modItemInfo',
        method: 'post',
        data
    })
}
export function safetySelfInspectionAdd(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/add',
        method: 'post',
        data
    })
}
export function safetySelfInspectionMod(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/mod',
        method: 'post',
        data
    })
}
export function safetySelfInspectionDel(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetySelfInspection/del',
        method: 'post',
        data
    })
}
export function safetyInspectionItemTreeA(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/elementManagement/getElementTree',
        method: 'post',
        data
    })
}
export function safetyInspectionItemName(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/getUserList',
        method: 'post',
        data
    })
}
export function safetyInspectionItemTreeB(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+'/safetyInspectionItem/infoElementA',
        method: 'post',
        data
    })
}
src/router/index.js
@@ -150,12 +150,11 @@
            meta: { title: '自查清单_去评审', icon: '' }
          },
          {
            id: 2,
            parentId: 0,
            path: '/new',
            name: '自查清单_新增|修改',
            // name: '自查清单_新增|修改',
            component: () => import('@/views/safetyproduction/new'),
            meta: { title: '自查清单_新增|修改', icon: '' }
            // meta: { title: '自查清单_新增|修改', icon: '' }
            hidden: true
          },
          {
            id: 2,
src/views/contingencyplan/index.vue
@@ -62,16 +62,16 @@
          <el-input v-model="form.name"></el-input>
        </el-form-item>
        <el-form-item label="文件类型">
          <el-radio-group v-model="form.fileType">
          <el-radio-group v-model="form.fileType" @change="changeFileType">
            <el-radio :label=0 >图片</el-radio>
            <el-radio :label=1 >文件</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item v-if="form.fileType==0" label="图片上传">
            <upload-img  v-bind:imgList="form.fileList" @uploadImgSuccess="uploadImgSuccess" @removeImgSuccess="removeImgSuccess"></upload-img>
            <upload-img :imgList="fileList"   @uploadImgSuccess="uploadImgSuccess" @removeImgSuccess="removeImgSuccess"></upload-img>
        </el-form-item>
        <el-form-item label="文件链接" v-if="form.fileType==1">
            <upload-file v-bind:url="fileUrl" v-bind:name="fileName" @uploadFileSuccess="uploadFileSuccess" ></upload-file>
            <upload-file v-bind:url="fileUrl" v-bind:name="fileName"  @uploadFileSuccess="uploadFileSuccess" ></upload-file>
        </el-form-item>
        <el-form-item label="备注" prop="remark">
          <el-input v-model="form.remark" :rows="5" type="textarea"></el-input>
@@ -97,9 +97,7 @@
  components: { uploadImg , uploadFile},
  data() {
    return {
        name:"111",
        url:"222",
        path:"emergencyPlan",
        uploadDisabled:false,
      dialogVisible: false,
      title: "",
@@ -121,6 +119,7 @@
      },
        fileName:"",
        fileUrl:"",
        fileList:[],
      list: [],
      rules: {
        name: [
@@ -136,17 +135,15 @@
    this.emergencyPlan();
  },
  methods: {
      changeFileType(){
          this.fileUrl=""
          this.fileName=""
          this.fileList=[]
      },
      uploadFileSuccess(res){
          this.fileName=res.fileName
          this.fileUrl=res.fileUrl
          if (this.fileName=="" || this.fileUrl==""){
              this.form.fileList=[]
          }
          this.form.fileList=[{
              fileName: this.fileName,
              fileUrl:this.fileUrl
          }]
      },
      uploadImgSuccess(res){
@@ -154,11 +151,11 @@
              fileUrl : res.fileUrl,
              fileName : res.fileName
          }
          this.form.fileList.push(file)
          this.fileList.push(file)
      },
      removeImgSuccess(res){
          this.form.fileList=res.fileList
          this.fileList=res.fileList
      },
    async emergencyPlan() {
@@ -186,14 +183,27 @@
      } else {
        this.title = "编辑";
        this.form = value;
        this.fileUrl=value.fileList[0].fileUrl;
        this.fileName=value.fileList[0].fileName
        if (this.form.fileType==0){
            this.fileList=value.fileList
        } else{
            this.fileUrl=value.fileList[0].fileUrl;
            this.fileName=value.fileList[0].fileName
        }
      }
    },
    addemergencyPlan() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
            console.log(132,this.form)
            if (this.form.fileType==0){
                this.form.fileList=this.fileList
            }
            if (this.form.fileType==1){
                let file={
                    fileUrl:this.fileUrl,
                    fileName:this.fileName
                }
                this.form.fileList=[file]
            }
          if (this.title === "新增") {
            emergencyPlanAdd(this.form).then((res) => {
              if (res.data.code === "200") {
src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue
@@ -4,17 +4,17 @@
            <el-row>
                <el-col :span="5">
                    <el-form-item label="设备名称">
                        <el-input v-model="listQuery.filter.equipmentName"></el-input>
                        <el-input v-model="listQuery.filter.equipmentName" clearable></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="5">
                    <el-form-item label="状态">
                        <el-select v-model="listQuery.filter.status" placeholder="请选择状态">
                    <el-form-item label="设备状态">
                        <el-select v-model="listQuery.filter.status" placeholder="请选择状态" clearable>
                            <el-option v-for="item in unitIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="4" style="text-align: center">
                <el-col :span="6" style="text-align: center">
                    <el-button type="primary" icon="el-icon-search" @click="find()" class="btns"
                    >搜索</el-button
                    >
@@ -24,6 +24,9 @@
                        class="btns"
                        @click="handleClick('', '新增')"
                    >新增</el-button
                    >
                    <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns"
                    >重置</el-button
                    >
                </el-col>
            </el-row>
@@ -120,8 +123,9 @@
                    <el-col :span="12">
                        <el-form-item label="报警时间" prop="alarmTime">
                            <el-date-picker
                                type="datetime"
                                v-model="form.alarmTime"
                                value-format="yyyy-MM-dd"
                                value-format="yyyy-MM-dd HH:mm:ss"
                                placeholder="选择日期时间"
                            style="width: 100%;">
                            </el-date-picker>
@@ -131,7 +135,7 @@
                <el-row>
                    <el-col :span="24">
                        <el-form-item label="报警信息" prop="alarmInfo">
                            <el-input v-model="form.alarmInfo" maxlength="50"></el-input>
                            <el-input type="textarea" v-model="form.alarmInfo" placeholder="请输入报警信息" maxlength="50"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -180,13 +184,17 @@
                listQuery: {
                    filter: {
                        equipmentName: "",
                        // status:"",
                    },
                    pageIndex: 1,
                    pageSize: 10,
                },
                type:'',
                rules: {
                    equipmentId: { required: true, message: "请选择设备名称", trigger: "change"},
                    status: { required: true, message: "请选择设备状态", trigger: "change"},
                    alarmTime: { required: true, message: "请选择报警时间", trigger: "change"},
                    alarmInfo: { required: true, message: "请输入报警信息", trigger: "change"},
                },
                equipmentName:[],
                unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}]
@@ -194,8 +202,15 @@
        },
        created() {
            this.elementManagementL();
            this.alarmMajorEquipmentErt();
        },
        methods: {
            alarmMajorEquipmentErt(){
                majorEquipmentErt().then(res=>{
                    console.log(res)
                    this.equipmentName=res.data.result
                })
            },
            async elementManagementL() {
                var res = await majorEquipmentList(this.listQuery);
                console.log(res);
@@ -211,10 +226,6 @@
                this.$nextTick(() => {
                    this.$refs["form"].clearValidate();
                });
                majorEquipmentErt().then(res=>{
                    console.log(res)
                    this.equipmentName=res.data.result
                })
                if (type == "新增") {
                    this.title = "新增";
                    this.form = {
@@ -273,21 +284,34 @@
                });
            },
            deleteById(val) {
                majorEquipmentDel({id:val}).then((res) => {
                    if (res.data.code == 200) {
                        this.elementManagementL();
                        this.$notify({
                            title: "成功",
                            message: "删除成功",
                            type: "success",
                            duration: 2000,
                        });
                    }
                });
                this.$confirm('确认删除吗','提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                })
                    .then(()=>{
                        majorEquipmentDel({id:val}).then((res) => {
                            if (res.data.code == 200) {
                                this.elementManagementL();
                                this.$notify({
                                    title: "成功",
                                    message: "删除成功",
                                    type: "success",
                                    duration: 2000,
                                });
                            }
                        })
                    })
                    .catch(error =>{
                    });
            },
            find(){
                this.elementManagementL();
            },
            reset(){
                this.listQuery.filter={}
                this.elementManagementL();
            },
            handleSizeChange(val){
                this.listQuery.pageSize = val
                this.elementManagementL();
src/views/majorHazardSourceMonitoring/instrumentData/index.vue
@@ -4,7 +4,7 @@
            <el-row>
                <el-col :span="5">
                    <el-form-item label="设备名称">
                        <el-input v-model="listQuery.filter.equipmentName"></el-input>
                        <el-input v-model="listQuery.filter.equipmentName" clearable></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="8" style="text-align: center">
@@ -25,7 +25,9 @@
                        @click="importData()"
                    >导入</el-button
                    >
                    <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns"
                    >重置</el-button
                    >
                </el-col>
            </el-row>
        </el-form>
@@ -45,6 +47,8 @@
            <el-table-column prop="lowLiquidAlarm" label="低液位报警值" align="center">
            </el-table-column>
            <el-table-column prop="lowLowLiquidAlarm" label="低低液位报警值" align="center">
            </el-table-column>
            <el-table-column prop="monitoringTime" label="检测时间" align="center">
            </el-table-column>
            <el-table-column align="center" label="操作">
                <template slot-scope="scope">
@@ -104,8 +108,9 @@
                    <el-col :span="12">
                        <el-form-item label="检测时间" prop="monitoringTime">
                            <el-date-picker
                                type="datetime"
                                v-model="form.monitoringTime"
                                value-format="yyyy-MM-dd"
                                value-format="yyyy-MM-dd HH:mm:ss"
                                placeholder="选择日期时间"
                            style="width: 100%;">
                            </el-date-picker>
@@ -131,19 +136,19 @@
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="高液位报警值" prop="alarmInfo">
                        <el-form-item label="高液位报警值" prop="highLiquidAlarm">
                            <el-input v-model.number="form.highLiquidAlarm" maxlength="50"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="低液位报警值" prop="alarmInfo">
                        <el-form-item label="低液位报警值" prop="lowLiquidAlarm">
                            <el-input v-model.number="form.lowLiquidAlarm" maxlength="50"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="低低液位报警值" prop="alarmInfo">
                        <el-form-item label="低低液位报警值" prop="lowLowLiquidAlarm">
                            <el-input v-model.number="form.lowLowLiquidAlarm" maxlength="50"></el-input>
                        </el-form-item>
                    </el-col>
@@ -191,19 +196,40 @@
                listQuery: {
                    filter: {
                        equipmentId: "",
                        status:'',
                    },
                    pageIndex: 1,
                    pageSize: 10,
                },
                // type:'',
                rules: {
                    rangeLowerLimit:{ type: 'number', message: '仪表量程下限必须为数字值'},
                    rangeUpperLimit:{ type: 'number', message: '仪表量程上限必须为数字值'},
                    highHighLiquidAlarm:{ type: 'number', message: '高高液位报警值必须为数字值'},
                    highLiquidAlarm:{ type: 'number', message: '高液位报警值必须为数字值'},
                    lowLiquidAlarm:{ type: 'number', message: '低液位报警值必须为数字值'},
                    lowLowLiquidAlarm:{ type: 'number', message: '低低液位报警值必须为数字值'},
                    equipmentId:
                        { required: true, message: "请选择设备名称", trigger: "change" },
                    monitoringTime:
                        { required: true, message: "请选择检测时间", trigger: "change"},
                    rangeLowerLimit:[
                        { required: true, message: "仪表量程下限不能为空", trigger: "change"},
                        { type: 'number', message: '仪表量程下限必须为数字值'}
                    ],
                    rangeUpperLimit:[
                        { required: true, message: "仪表量程上限不能为空", trigger: "change"},
                        { type: 'number', message: '仪表量程上限必须为数字值'}
                    ],
                    highHighLiquidAlarm:[
                        { required: true, message: "高高液位报警值不能为空", trigger: "change"},
                        { type: 'number', message: '高高液位报警值必须为数字值'}
                    ],
                    highLiquidAlarm:[
                        { required: true, message: "高液位报警值不能为空", trigger: "change"},
                        { type: 'number', message: '高液位报警值必须为数字值'}
                    ],
                    lowLiquidAlarm:[
                        { required: true, message: "低液位报警值不能为空", trigger: "change"},
                        { type: 'number', message: '低液位报警值必须为数字值'}
                    ],
                    lowLowLiquidAlarm:[
                        { required: true, message: "低低液位报警值不能为空", trigger: "change"},
                        { type: 'number', message: '低低液位报警值必须为数字值'},
                    ],
                },
                equipmentName:[],
                unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}]
@@ -421,6 +447,8 @@
                } else {
                    this.title = "编辑";
                    this.form = value;
                    console.log(123,this.form)
                    console.log(222,this.equipmentName)
                }
            },
            AddelementManagement() {
@@ -467,21 +495,34 @@
                });
            },
            deleteById(val) {
                majorEquipmentDel({id:val}).then((res) => {
                    if (res.data.code == 200) {
                        this.elementManagementL();
                        this.$notify({
                            title: "成功",
                            message: "删除成功",
                            type: "success",
                            duration: 2000,
                        });
                    }
                });
                this.$confirm('确认删除吗','提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                })
                    .then(()=>{
                       majorEquipmentDel({id:val}).then((res) => {
                           if (res.data.code == 200) {
                               this.elementManagementL();
                               this.$notify({
                                   title: "成功",
                                   message: "删除成功",
                                   type: "success",
                                   duration: 2000,
                               });
                           }
                       });
                    })
                    .catch(error =>{
                    });
            },
            find(){
                this.elementManagementL();
            },
            reset(){
                this.listQuery.filter.equipmentName = "";
                this.elementManagementL();
            },
            handleSizeChange(val){
                this.listQuery.pageSize = val
                this.elementManagementL();
src/views/majorHazardSourceMonitoring/productionEquipment/index.vue
@@ -4,17 +4,17 @@
            <el-row>
                <el-col :span="5">
                    <el-form-item label="设备名称">
                        <el-input v-model="listQuery.filter.name"></el-input>
                        <el-input v-model="listQuery.filter.name" placeholder="请输入设备名称" clearable></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="5">
                    <el-form-item label="设备状态">
                        <el-select v-model="listQuery.filter.status" placeholder="请选择设备状态">
                        <el-select v-model="listQuery.filter.status" placeholder="请选择设备状态" clearable>
                            <el-option v-for="item in unitIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="4" style="text-align: center">
                <el-col :span="6" style="text-align: center">
                    <el-button type="primary" icon="el-icon-search" @click="find()" class="btns"
                    >搜索</el-button
                    >
@@ -24,6 +24,9 @@
                        class="btns"
                        @click="handleClick('', '新增')"
                    >新增</el-button
                    >
                    <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns"
                    >重置</el-button
                    >
                </el-col>
            </el-row>
@@ -41,7 +44,7 @@
            </el-table-column>
            <el-table-column prop="volume" label="容积" align="center">
            </el-table-column>
            <el-table-column prop="userId" label="负责人" align="center">
            <el-table-column prop="userName" label="负责人" align="center">
            </el-table-column>
            <el-table-column align="center" label="操作">
                <template slot-scope="scope">
@@ -83,12 +86,12 @@
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="设备编号" prop="serialNumber">
                            <el-input v-model.number="form.serialNumber" maxlength="50"></el-input>
                            <el-input v-model="form.serialNumber" maxlength="50" placeholder="请输入设备编号"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="设备名称" prop="name">
                            <el-input v-model="form.name" maxlength="50"></el-input>
                            <el-input v-model="form.name" maxlength="50" placeholder="请输入设备名称"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -112,14 +115,28 @@
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="容积" prop="volume">
                            <el-input v-model.number="form.volume" maxlength="50"></el-input>
                            <el-input v-model="form.volume" maxlength="50"
                                      placeholder="请输入容积"
                            ></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="负责人" prop="userId">
                            <el-input v-model="form.userId" maxlength="50"></el-input>
                            <el-select
                                v-model="form.userId"
                                placeholder="请选择负责人"
                                style="width: 100%"
                            >
                                <el-option
                                    v-for="item in personInCharge"
                                    :key="item.id"
                                    :label="item.realname"
                                    :value="item.id"
                                >
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -139,6 +156,7 @@
        majorEquipmentAdd,
        majorEquipmentMod,
        majorEquipmentDel,
        majorEquipmentLis
    } from "@/api/majorEquipment.js";
    export default {
        data() {
@@ -150,6 +168,7 @@
                    status: "",
                    volume: "",
                    serialNumber:"",
                    userId:"",
                },
                pageSize: 10,
                recordTotal: 0,
@@ -158,28 +177,44 @@
                listQuery: {
                    filter: {
                        name: "",
                        // status:"",
                    },
                    pageIndex: 1,
                    pageSize: 10,
                },
                type:'',
                rules: {
                    serialNumber:{ required: true, message: '容积必须为数字值'},
                    volume:{ type: 'number', message: '负责人必须为数字值'},
                    name: [
                        { required: true, message: "预案名称不能为空", trigger: "change" },
                    serialNumber:[
                        { required: true, message: "设备编号不能为空", trigger: "change"},
                        // { type:'number', message: '设备编号必须为数字值'}
                    ],
                    volume:[
                        { required: true, message: "容积不能为空", trigger: "change"},
                        // { type:'number', message: "容积必须为数字值", trigger: "change"},
                        { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' }
                    ],
                    name:{ required: true, message: "设备名称不能为空", trigger: "change" },
                    status:{ required: true, message: "状态不能为空", trigger: "change" },
                    userId:{ required: true, message: "负责人不能为空", trigger: "change" },
                },
                unitIdOptions:[{label:"在用",value:0},{label:"停用",value:1}]
                unitIdOptions:[{label:"在用",value:0},{label:"停用",value:1}],
                personInCharge:[],
            };
        },
        created() {
            this.elementManagementL();
            this.productionMajorEquipmentErt();
        },
        methods: {
            productionMajorEquipmentErt(){
                majorEquipmentLis().then(res=>{
                    if (res.data.code ==200){
                        this.personInCharge=res.data.result
                    }
                })
            },
            async elementManagementL() {
                var res = await majorEquipmentList(this.listQuery);
                console.log(res);
                if (res.data.code == 200) {
                    this.list = res.data.result.records;
                    this.recordTotal = res.data.result.total
@@ -192,6 +227,7 @@
                this.$nextTick(() => {
                    this.$refs["form"].clearValidate();
                });
                if (type == "新增") {
                    this.title = "新增";
                    this.form = {
@@ -250,21 +286,34 @@
                });
            },
            deleteById(val) {
                majorEquipmentDel({id:val}).then((res) => {
                    if (res.data.code == 200) {
                        this.elementManagementL();
                        this.$notify({
                            title: "成功",
                            message: "删除成功",
                            type: "success",
                            duration: 2000,
                        });
                    }
                });
                this.$confirm('确认删除吗','提示', {
                    confirmButtonText: '确认',
                    cancelButtonText: '取消',
                    type: 'warning'
                })
                    .then(()=>{
                       majorEquipmentDel({id:val}).then((res) => {
                           if (res.data.code == 200) {
                               this.elementManagementL();
                               this.$notify({
                                   title: "成功",
                                   message: "删除成功",
                                   type: "success",
                                   duration: 2000,
                               });
                           }
                       });
                    })
                    .catch(error =>{
                    });
            },
            find(){
                this.elementManagementL();
            },
            reset(){
                this.listQuery.filter={}
                this.elementManagementL();
            },
            handleSizeChange(val){
                this.listQuery.pageSize = val
                this.elementManagementL();
src/views/safetyproduction/checklist.vue
@@ -16,7 +16,7 @@
              </el-col>
              <el-col :span="11" :offset="1" style="white-space: nowrap">
                <el-form-item size="mini">
                  <el-button type="primary" class="btns" @click="find" size="mini"
                  <el-button type="primary" class="btns"  size="mini"
                    >搜索</el-button
                  >
                  <el-button
src/views/safetyproduction/checklistself.vue
@@ -1,125 +1,151 @@
<template>
  <div class="app-container">
    <el-form ref="form" :model="form" label-width="80px">
    <el-form ref="form" :model="listQuery" label-width="80px">
      <el-row>
        <el-col :span="5">
          <el-form-item label="自查任务">
            <el-input v-model="form.name"></el-input>
            <el-input v-model="listQuery.filter.inspectionName"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="检查时间">
            <el-date-picker v-model="form.value1" type="date" placeholder="选择日期">
            <el-date-picker
              v-model="listQuery.filter.inspectionStartTime"
              type="date"
              format="yyyy 年 MM 月 dd 日"
              placeholder="选择日期"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="检查人员">
            <el-input v-model="form.name"></el-input>
            <el-input v-model="listQuery.filter.inspectorName"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4" style="text-align: center">
          <el-button type="primary" icon="el-icon-search" class="btns"
          <el-button
            type="primary"
            icon="el-icon-search"
            class="btns"
            @click="find()"
            >搜索</el-button
          >
          <el-button
            type="primary"
            icon="el-icon-plus"
            class="btns"
            @click="dialogVisible = true"
            @click="jump()"
            >新增</el-button
          >
        </el-col>
      </el-row>
    </el-form>
    <el-table :data="tableData" border style="width: 100%">
      <el-table-column prop="date" label="自查任务">
    <el-table :data="list" border style="width: 100%">
      <el-table-column align="center" prop="inspectionName" label="自查任务">
      </el-table-column>
      <el-table-column prop="name" label="检查时间"> </el-table-column>
      <el-table-column prop="name" label="检查人员"> </el-table-column>
      <el-table-column prop="province" label="状态"> </el-table-column>
      <el-table-column prop="address" label="更新时间"> </el-table-column>
      <el-table-column align="center" prop="createTime" label="检查时间">
      </el-table-column>
      <el-table-column align="center" prop="inspectorName" label="检查人员">
      </el-table-column>
      <el-table-column align="center" label="状态">
        <template slot-scope="scope">
          <span v-if="scope.row.status == -1">暂存</span>
          <span v-if="scope.row.status == 0">评审中</span>
          <span v-if="scope.row.status == 1">已评审</span>
        </template>
      </el-table-column>
      <el-table-column align="center" prop="updateTime" label="更新时间">
      </el-table-column>
      <el-table-column align="center" label="操作">
        <template slot-scope="scope">
          <el-button @click="handleClick(scope.row)" type="text" size="small"
          <el-button v-if="scope.row.status==-1" @click="handleClick(scope.row)" type="text" size="small"
            >编辑</el-button
          >
          <el-button type="text" size="small" style="color: red"
           <el-button v-if="scope.row.status==0" @click="handleClick(scope.row)" type="text" size="small"
            >去评审</el-button
          >
           <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
          >
        </template>
      </el-table-column>
    </el-table>
    <div style="text-align: right">
      <el-pagination
        v-show="recordTotal > 0"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="[10, 20, 30, 50]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="recordTotal"
      >
      </el-pagination>
    </div>
  </div>
</template>
<script>
import { safetySelfInspectionList } from "@/api/safetySelfInspection.js";
export default {
  data() {
    return {
      dialogVisible: false,
      form: {
        name: "",
        value1:"",
      form: {},
      listQuery: {
        filter: {
          inspectionName: "",
          inspectorName: "",
          inspectionStartTime: "",
          inspectionEndTime: "",
          status: "",
        },
        pageIndex: 1,
        pageSize: 5,
      },
      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,
        },
      ],
      options: [
        {
          value: "选项1",
          label: "黄金糕",
        },
        {
          value: "选项2",
          label: "双皮奶",
        },
        {
          value: "选项3",
          label: "蚵仔煎",
        },
        {
          value: "选项4",
          label: "龙须面",
        },
        {
          value: "选项5",
          label: "北京烤鸭",
        },
      ],
      value: "",
      list: [],
      pageSize: 10,
      recordTotal: 0,
      currentPage: 1,
    };
  },
  created() {
    this.safetySelfInspectionL();
  },
  methods: {
    async safetySelfInspectionL() {
      var res = await safetySelfInspectionList(this.listQuery).then((res) => {
        if (res.data.code == 200) {
          console.log(res.data);
          this.list = res.data.result.records;
          this.recordTotal = res.data.result.total;
          this.pageSize = res.data.result.size;
          this.currentPage = res.data.result.current;
        }
      });
    },
    handleClick(index) {},
    find() {
      this.safetySelfInspectionL();
    },
    handleSizeChange(val) {
      this.listQuery.pageSize = val;
      this.safetySelfInspectionL();
    },
    handleCurrentChange(val) {
      this.listQuery.pageIndex = val;
      this.safetySelfInspectionL();
    },
    jump(){
      this.$router.push({
        path:"/new"
      })
    }
  },
};
</script>
<style scoped>
src/views/safetyproduction/new.vue
@@ -4,104 +4,142 @@
      <div class="box-left">
        <Titlename title="检查项树"></Titlename>
        <div class="box-left-content">
          <!-- <el-form ref="form" :model="form" style="font-size: 12px" size="mini">
            <el-row>
              <el-col :span="12">
                <el-form-item size="mini">
                  <el-input
                    v-model="form.name"
                    placeholder="请输入检查项名称"
                  ></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="11" :offset="1" style="white-space: nowrap">
                <el-form-item size="mini">
                  <el-button type="primary" class="btns" size="mini">搜索</el-button>
                  <el-button
                    type="primary"
                    style="margin: 0px"
                    class="btns"
                    icon="el-icon-plus"
                    size="mini"
                  ></el-button>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form> -->
          <el-tree
            :data="data"
            :props="defaultProps"
            :data="tree"
            node-key="id"
            @check="treeClick"
            show-checkbox
          ></el-tree>
        </div>
      </div>
      <div class="box-right" v-if="show">
          <div class="title">A级要素:<span>A级要素2</span></div>
        <div v-for="(item,index) in 2" :key="index">
      <div class="box-right" v-if="list == '' ? false : true">
        <el-button type="primary" @click="open()" class="btns">添加</el-button>
        <div v-for="(item, i) in lists" :key="i">
        <div class="title">
          A级要素:<span>{{ item.nameA }}</span>
        </div>
        <div v-for="(item, index) in item.child" :key="index">
          <el-row class="titles">
            <el-col :span="6" :offset="1"><p><span>B级要素:</span>法律、法规和标准的识别和获取</p></el-col>
             <el-col :span="6"  :offset="4"><p><span>得分:</span>50</p></el-col>
            <el-col :span="6" :offset="1"
              ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col
            >
            <el-col :span="6" :offset="4"
              ><p><span>得分:</span>50</p></el-col
            >
          </el-row>
          <el-row>
             <el-col :span="22" :offset="1">
                  <el-table
                    border
                    :data="tableData"
            <el-col :span="22" :offset="1">
              <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="name" align="center" label="评审标准">
                  <el-table-column
                    prop="veto"
                    align="center"
                    label="否决项"
                  ></el-table-column>
                  <el-table-column
                    align="center"
                    width="80px"
                    type="expand"
                    label="扣分项"
                  >
                    <el-table-column
                      prop="date"
                      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 :data="item.child.deductionList">
                      <el-table-column
                      prop="name"
                      align="center"
                      label="评审标准"
                        prop="name"
                        align="center"
                        label="扣分项"
                      >
                      </el-table-column>
                      <el-table-column prop="date" align="center" label="扣分">
                      </el-table-column>
                      <el-table-column
                        prop="date"
                        align="center"
                        label="扣分备注"
                      >
                      </el-table-column>
                    </el-table>
                  </el-table-column>
                </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-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 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 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>
    <el-dialog
  title="添加"
  :visible.sync="dialogVisible"
  width="30%"
>
  <el-form ref="form" :model="form" label-width="100px">
     <el-form-item label="自查清单名称">
    <el-input v-model="form.inspectionName"></el-input>
  </el-form-item>
   <el-form-item label="检查人名称">
    <el-select v-model="form.inspector" placeholder="请选择">
    <el-option
      v-for="item in nameList"
      :key="item.id"
      :label="item.realname"
      :value="item.id">
    </el-option>
  </el-select>
  </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-col>
    <!-- <el-col style="text-align:center" :span="2">-</el-col>
    <el-col :span="11">
      <el-date-picker type="date"  format="yyyy 年 MM 月 dd 日" placeholder="结束时间" v-model="form.inspectionEndTime" style="width: 100%;"></el-date-picker>
    </el-col> -->
  </el-form-item>
    </el-form>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="addC">确 定</el-button>
  </span>
</el-dialog>
  </div>
</template>
<script>
import Titlename from "../../components/Titlename/index.vue";
import {
  safetyInspectionItemTreeA,
  safetyInspectionItemTreeB,
  safetySelfInspectionAdd,
  safetyInspectionItemName,
} from "@/api/safetySelfInspection.js";
export default {
  components: { Titlename },
  data() {
@@ -109,110 +147,121 @@
      dialogVisible: false,
      show: true,
      form: {
        name: "",
      inspectionName:"",
      inspector:"",
      inspectionTime:"",
      status:"",
      itemList:[]
      },
      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,
        },
      ],
      data: [
        {
          label: "一级 1",
          children: [
            {
              label: "二级 1-1",
              children: [
                {
                  label: "三级 1-1-1",
                },
              ],
            },
          ],
        },
        {
          label: "一级 2",
          children: [
            {
              label: "二级 2-1",
              children: [
                {
                  label: "三级 2-1-1",
                },
              ],
            },
            {
              label: "二级 2-2",
              children: [
                {
                  label: "三级 2-2-1",
                },
              ],
            },
          ],
        },
        {
          label: "一级 3",
          children: [
            {
              label: "二级 3-1",
              children: [
                {
                  label: "三级 3-1-1",
                },
              ],
            },
            {
              label: "二级 3-2",
              children: [
                {
                  label: "三级 3-2-1",
                },
              ],
            },
          ],
        },
      ],
      defaultProps: {
        children: "children",
        label: "label",
      },
      list: [],
      lists:[],
      nameList:[],
      tree: [],
      id: "",
      nameA: "",
      arr:[]
    };
  },
  created() {
    this.TreeA();
  },
  methods: {
    TreeA() {
      safetyInspectionItemTreeA().then((res) => {
        if (res.data.code == 200) {
          // console.log(res.data)
          this.tree = res.data.result;
        }
      });
    },
    TreeB(id) {
      safetyInspectionItemTreeB({ id: id }).then((res) => {
        this.list=[]
        if (res.data.code == 200) {
           this.list = res.data.result;
           console.log(this.list)
          var capA={nameA:'',id:[],child:[]}
          var atte=[]
           capA.nameA = this.list[0].elementAName;
           for(var i=0;i<this.list.length;i++){
             var capB={safetySelfInspectionId:"",safetyInspectionItemId:""}
             capB.safetyInspectionItemId=this.list[i].id
             atte.push(capB)
           }
           capA.id=atte
           capA.child= this.checkSameData(this.list);
           if(this.lists.findIndex(item=>item.nameA===capA.nameA)==-1){
             this.lists.push(capA)
           }else{
            var i=this.lists.findIndex(item=>item.nameA===capA.nameA)
            this.lists.splice(i,1)
           }
        }
        console.log(this.lists)
      });
    },
    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;
    },
    treeClick(currentObj) {
      this.TreeB(currentObj.value);
    },
    handleClick(data) {
      this.$router.push({
        path: "/reviewXG",
        query: {
          id: data,
        },
      });
    },
    open(){
      var arr=[]
      for(var i=0;i<this.lists.length;i++){
        this.lists[i].id
        for(var j=0;j<this.lists[i].id.length;j++){
          arr.push(this.lists[i].id[j])
        }
      }
      this.form.itemList=arr
    this.dialogVisible = true
    safetyInspectionItemName().then(res=>{
      // console.log(res)
  if(res.data.code==200){
          this.nameList=res.data.result
        }
    })
    },
    addC(){
      safetySelfInspectionAdd(this.form).then(res=>{
       if(res.data.code==200){
         this.dialogVisible=false
           this.$notify({
              type: "success",
              duration: 2000,
              message: "新增成功",
              title: "成功",
            });
       }
      })
    },
    btnsQX() {
      this.show = true;
    },
@@ -239,16 +288,22 @@
  padding: 10px;
}
.box-right {
  position: relative;
  width: 79%;
  background-color: white;
  border-radius: 5px;
}
.title{
.title {
  font-size: 16px;
  padding: 10px 20px;
  font-weight: bold;
}
.titles{
.titles {
  font-size: 14px;
}
.btns{
  position: absolute;
  top: 10px;
  right: 50px;
}
</style>
src/views/safetyproduction/reviewXG.vue
@@ -221,6 +221,9 @@
      },
    };
  },
  created(){
  console.log(this.$route.query.id)
  },
  methods: {
    handleClick() {
      this.dialogVisible = true;