<template>
|
<div class="app-container">
|
|
<div class="filter-container">
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">刷新</el-button>
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-plus" @click="showCreateHandle">新增</el-button>
|
<el-select v-model="searchKey" placeholder="请选择" clearable class="filter-item" style="width: 130px">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
<el-input v-model="searchContent" class="filter-item" placeholder="输入查询内容" style="width: 400px;" @keyup.enter.native="queryHandle"/>
|
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="queryHandle" />
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="enterpriseApplyList"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column type="index" label="" align="center" width="60"/>
|
<el-table-column label="提出时间" prop="applytime" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.applytime }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="提出者" prop="applypersonname" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.applypersonname }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="处理时间" prop="processtime" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.processtime }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="处理人" prop="processpersonname" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.processpersonname}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="处理状态" prop="applystatus" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.applystatus}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" v-if="scope.row.processtime == null" @click="toDetail('审核',scope.row)">审核</el-button>
|
<el-button type="text" v-if="scope.row.processtime != null" @click="toDetail('查看',scope.row)">查看</el-button>
|
|
<!-- <el-button :disabled="disableRole(scope.row)" type="text" align="center" @click="showAssignRole(scope.row)">审核</el-button>-->
|
<!-- <el-button :disabled="scope.row.type==1" type="text" style="color:red;" @click="deleteHandle(scope.row)">重置密码</el-button>-->
|
</template>
|
</el-table-column>
|
</el-table>
|
<br>
|
<el-pagination
|
v-show="recordTotal>0"
|
:current-page="currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="pageSize"
|
:total="recordTotal"
|
layout="total, sizes, prev, pager, next, jumper"
|
background
|
style="float:right;"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
<el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" top="2vh" :close-on-click-modal="false" width="50%">
|
<el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="150px" element-loading-text="保存中...">
|
<div>
|
<el-row style="text-align: center;margin: 0 0 23px 0;">
|
<el-alert
|
title="企业基本信息(带*为必填项)"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 5%;margin-right: 5%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row >
|
<el-col :span="3"/>
|
<el-col :span="9">
|
<el-form-item label="安全监管分类:" prop="safetysupervision">
|
<!-- <el-select v-model.trim="dataForm.instituteId" placeholder="请选择研究所" style="width:100%;" @change="handleInstituteChange">-->
|
<!-- <el-option v-for="(item,index) in instituteList" :label="item.name" :value="item.id" :key="index"/>-->
|
<!-- </el-select>-->
|
|
<el-select v-model.trim="dataForm.safetysupervision" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3"/>
|
<el-col :span="9">
|
<el-form-item label="国民经济行业分类:" prop="economicindustry">
|
<el-select v-model.trim="dataForm.economicindustry" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3"/>
|
</el-row>
|
|
<el-row >
|
<el-col :span="3"/>
|
<el-col :span="9">
|
<el-form-item label="行政主管部门:" prop="department">
|
<el-select v-model.trim="dataForm.department" placeholder="" clearable class="filter-item" style="width: 90%">
|
<el-option label="安监局" value="1" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="3"/>
|
<el-col :span="9"/>
|
</el-row>
|
|
|
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="企业名称:" prop="enterprisename">
|
<el-input v-model.trim="dataForm.enterprisename" style="width: 100%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="12">
|
<el-form-item label="单位编号:" prop="enterprisenumber">
|
<el-input v-model.trim="dataForm.enterprisenumber" style="width: 100%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="12">
|
<el-form-item label="设备编号:" prop="devicenumber">
|
<el-input v-model.trim="dataForm.devicenumber" style="width: 100%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="15">
|
<el-form-item label="单位注册地址:" prop="registeraddress">
|
<el-input v-model.trim="dataForm.registeraddress" style="width: 100%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="15">
|
<el-form-item label="单位办公地址:" prop="officeaddress">
|
<el-input v-model.trim="dataForm.officeaddress" style="width: 100%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="15">
|
<!-- <el-form-item label="所属区域:" prop="workId">-->
|
<!-- <el-cascader :props="props"></el-cascader>-->
|
<!-- </el-form-item>-->
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="20">
|
<el-form-item label="治安主管单位:" prop="securitysupervisory">
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="企业规模:" prop="enterprisesize">
|
<el-select v-model.trim="dataForm.enterprisesize" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="0" />
|
<el-option label="小型" value="1" />
|
<el-option label="中型" value="2" />
|
<el-option label="大型" value="3" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="工房数量:" prop="roomnumber">
|
<el-input v-model.trim="dataForm.roomnumber" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="注册类型:" prop="registertype">
|
<el-select v-model.trim="dataForm.registertype" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="国民经济类型:" prop="economictype">
|
<el-select v-model.trim="dataForm.economictype" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="办公电话:" prop="officephone">
|
<el-input v-model.trim="dataForm.officephone" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="成立时间:" prop="establishtime">
|
<el-date-picker
|
v-model="dataForm.establishtime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
style="width: 90%">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="传真电话:" prop="faxphone">
|
<el-input v-model.trim="dataForm.faxphone" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="QQ号码:" prop="qqnumber">
|
<el-input v-model.trim="dataForm.qqnumber" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
</el-row>
|
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="电子邮箱:" prop="enterpriseemail">
|
<el-input v-model.trim="dataForm.enterpriseemail" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="邮编:" prop="postcode">
|
<el-input v-model.trim="dataForm.postcode" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="工商注册号:" prop="businessregisternumber">
|
<el-input v-model.trim="dataForm.businessregisternumber" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="组织结构代码:" prop="organizationstructurecode">
|
<el-input v-model.trim="dataForm.organizationstructurecode" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="24">
|
<el-form-item label="有效期:" prop="validTime">
|
<el-date-picker
|
v-model="validTime"
|
value-format="yyyy-MM-dd"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
|
<el-row >
|
<el-col :span="10">
|
<el-form-item label="从业人数:" prop="employeenumber">
|
<el-input v-model.trim="dataForm.employeenumber" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="单位坐标(经纬度):" prop="enterpriselocation">
|
<el-input v-model.trim="dataForm.enterpriselocation" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="18">
|
<el-form-item label="生产经营项目:" prop="productioncontent">
|
<el-input
|
:autosize="{ minRows: 2, maxRows: 4}" v-model.trim="dataForm.productioncontent" type="textarea">
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row >
|
<el-col :span="18">
|
<el-form-item label="密码:">
|
<el-input v-model.trim="dataForm.password" :type="passwordType" placeholder="请输入密码">
|
<el-button slot="append" icon="el-icon-view" @click="showPwd"/>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div>
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="安全责任险"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="18">
|
<el-form-item label="是否缴纳安全责任险:" prop="ispaysafetyinsurance">
|
<el-radio-group v-model="dataForm.ispaysafetyinsurance">
|
<el-radio :label="true">是</el-radio>
|
<el-radio :label="false">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="保单号:" prop="insurancecontractnumber" >
|
<el-input v-model.trim="dataForm.insurancecontractnumber" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="投保金额:" prop="insureamount">
|
<el-input v-model.trim="dataForm.insureamount" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<div>
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="法定代表人信息"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="法定代表人姓名:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="职务:" prop="isSafety">
|
<el-select v-model="searchKey" placeholder="" clearable class="filter-item" style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="身份证号:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="手机号码:" prop="isSafety">
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="办公电话:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="安全培训合格证编号:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-form-item label="有效期:" prop="isSafety">
|
<el-date-picker
|
v-model="dataForm.description"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-row>
|
</div>
|
<div>
|
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="主要负责人"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="姓名:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="职务:" prop="isSafety">
|
<el-select v-model="searchKey" placeholder="" clearable class="filter-item" style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="办公电话:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="手机号码:" prop="isSafety">
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="安全培训合格证编号:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-form-item label="有效期:" prop="isSafety">
|
<el-date-picker
|
v-model="dataForm.description"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
|
</el-row>
|
</div>
|
|
<div>
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="安全负责人"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="姓名:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="职务:" prop="isSafety">
|
<el-select v-model="searchKey" placeholder="" clearable class="filter-item" style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
|
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="办公电话:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="手机号码:" prop="isSafety">
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="安全培训合格证编号:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-form-item label="有效期:" prop="isSafety">
|
<el-date-picker
|
v-model="dataForm.description"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
|
</el-row>
|
</div>
|
<div>
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="信息员"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="姓名:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="职务:" prop="isSafety">
|
<el-select v-model="searchKey" placeholder="" clearable class="filter-item" style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
|
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="办公电话:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="手机号码:" prop="isSafety">
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="15">
|
<el-form-item label="安全培训合格证编号:" prop="isSafety" >
|
<el-input v-model.trim="dataForm.workId" style="width: 90%"/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-form-item label="有效期:" prop="isSafety">
|
<el-date-picker
|
v-model="dataForm.description"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
|
</el-row>
|
</div>
|
|
<div>
|
<el-row style="margin: 0 0 23px 0;">
|
<el-alert
|
title="相关属性"
|
type="success"
|
:closable="false"
|
center
|
style="margin-left: 1%;margin-right: 1%;width: auto;">
|
</el-alert>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="重大危险源:" prop="ismajorhazard">
|
<el-radio-group v-model="dataForm.ismajorhazard">
|
<el-radio :label="true">是</el-radio>
|
<el-radio :label="false">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="特种设备:" prop="isspecialequipment">
|
<el-radio-group v-model="dataForm.isspecialequipment">
|
<el-radio :label="true">是</el-radio>
|
<el-radio :label="false">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="职业卫生信息:" prop="isoccupationalhealthinfo">
|
<el-radio-group v-model="dataForm.isoccupationalhealthinfo">
|
<el-radio :label="true">是</el-radio>
|
<el-radio :label="false">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="10">
|
<el-form-item label="特种人员:" prop="isspecialpersonnel">
|
<el-radio-group v-model="dataForm.isspecialpersonnel">
|
<el-radio :label="true">有</el-radio>
|
<el-radio :label="false">无</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="自查记录周期:" prop="selfrecordingcycle">
|
<el-select v-model="dataForm.selfrecordingcycle" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="10">
|
<el-form-item label="是否有上级企业:" prop="isparententerprise">
|
<el-radio-group v-model="dataForm.isparententerprise">
|
<el-radio :label="true">有</el-radio>
|
<el-radio :label="false">无</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
|
<el-row>
|
<el-col :span="14">
|
<el-form-item label="上级企业名称:" prop="parententerprisename">
|
<el-input v-model.trim="dataForm.parententerprisename" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="10">
|
<el-form-item label="企业状态:" prop="enterprisestatus">
|
<el-select v-model="dataForm.enterprisestatus" placeholder="" clearable style="width: 90%">
|
<el-option label="微型" value="1" />
|
<el-option label="小型" value="2" />
|
<el-option label="中型" value="3" />
|
<el-option label="大型" value="4" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="dialogFormVisible = false">取消</el-button>
|
<el-button type="primary" @click="dialogStatus==='create'?createHandle():updateHandle()">确认</el-button>
|
</div>
|
</el-dialog>
|
|
<div style="clear: both;"></div>
|
</div>
|
</template>
|
|
<script>
|
import { mapGetters } from 'vuex'
|
import { userList, createUser, deleteUser, updateUser } from '@/api/user'
|
import { roleList } from '@/api/role'
|
import { parseTime, computePageCount, parseUserType } from '@/utils'
|
import { parseError } from '@/utils/messageDialog'
|
import Cookies from 'js-cookie'
|
import { Message, MessageBox } from 'element-ui'
|
export default {
|
name: 'UserTable',
|
filters: {
|
parseRoles(roles) {
|
if (!roles) {
|
return
|
}
|
let message = ''
|
for (const role of roles) {
|
message += role.name + ','
|
}
|
if (message) {
|
message = message.substring(0, message.lastIndexOf(','))
|
}
|
return message
|
},
|
filterSafety(value) {
|
if (value) {
|
return '是'
|
} else {
|
return '否'
|
}
|
},
|
filterUserType(value) {
|
return parseUserType(value)
|
},
|
filterPeriod(value) {
|
if (!value) {
|
return
|
}
|
if (value == 'month') {
|
return '一月一次'
|
} else if (value == 'week') {
|
return '一周一次'
|
} else if (value == 'day') {
|
return '一天一次'
|
}
|
}
|
},
|
computed: {
|
...mapGetters([
|
'userType',
|
'name'
|
])
|
},
|
data() {
|
const validateEmail = (rule, value, callback) => {
|
if (value === '') {
|
return callback(new Error('邮箱不能为空'))
|
} else {
|
// 对电子邮件的验证
|
const myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
|
if (!myreg.test(value)) {
|
return callback(new Error('请输入有效的邮箱格式'))
|
}
|
callback()
|
}
|
}
|
return {
|
pageSize: 10,
|
recordTotal: 0,
|
currentPage: 1,
|
pageTotal: 0,
|
tableKey: 0,
|
enterpriseApplyList: null,
|
enterpriseFilter:{
|
enterprisesize:''
|
},
|
listLoading: true,
|
validTime:['',''],
|
dataForm: {
|
safetysupervision: '',
|
economicindustry: '',
|
enterprisenumber: '',
|
enterprisename: '',
|
enterpriseemail: '',
|
enterprisesize: '',
|
enterprisestatus: '',
|
department: '',
|
devicenumber: '',
|
officeaddress: '',
|
province: '',
|
city: '',
|
district: '',
|
street: '',
|
committee: '',
|
securitysupervisory: '',
|
officephone: '',
|
faxphone: '',
|
registeraddress: '',
|
registertype: '',
|
establishtime: '',
|
qqnumber: '',
|
postcode: '',
|
roomnumber: '',
|
economictype: '',
|
productioncontent: '',
|
businessregisternumber: '',
|
organizationstructurecode: '',
|
validstarttime: '',
|
validendtime: '',
|
employeenumber: '',
|
ispaysafetyinsurance: '',
|
insurancecontractnumber: '',
|
insureamount: '',
|
insurestarttime: '',
|
insureendtime: '',
|
ismajorhazard: '',
|
isspecialequipment: '',
|
isoccupationalhealthinfo: '',
|
isspecialpersonnel: '',
|
selfrecordingcycle: '',
|
isparententerprise: '',
|
parententerprisename: '',
|
legalrepresentative: '',
|
mainprincipal: '',
|
securityofficer: '',
|
informationofficer: '',
|
enterpriselocation: '',
|
},
|
queryForm: {
|
name: ''
|
},
|
dialogFormVisible: false,
|
dialogStatus: '',
|
dataFormRules: {
|
// workId: [{ required: true, message: '工号不能为空', trigger: 'blur' }],
|
|
},
|
dialogUserRoleFormVisible: false,
|
userRoleDataForm: {
|
userRoles: [],
|
userId: ''
|
},
|
userRoleDataFormRules: {
|
userRoles: [{ type: 'array', required: true, message: '角色不能为空', trigger: 'change' }]
|
},
|
roleList: [],
|
passwordType: 'password',
|
confirmPasswordType: 'password',
|
templateRadio: '',
|
instituteList: [],
|
departmentList: [],
|
searchKey: '',
|
searchContent: ''
|
}
|
},
|
created() {
|
this.getEnterpriseList()
|
},
|
methods: {
|
getEnterpriseList() {
|
const _this = this
|
const params = {}
|
params['pageIndex'] = _this.currentPage
|
params['pageSize'] = _this.pageSize
|
if (_this.searchKey && _this.searchContent) {
|
params[_this.searchKey] = _this.searchContent
|
}
|
_this.listLoading = true
|
enterpriseApplyList(params,{}).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
|
_this.recordTotal = res.result.total
|
_this.pageSize = res.result.size
|
_this.pageTotal = computePageCount(res.result.total, res.result.size)
|
_this.currentPage = res.result.current
|
_this.enterpriseApplyList = res.result.records
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
_this.listLoading = false
|
}).catch(error => {
|
_this.listLoading = false
|
parseError({ error: error, vm: _this })
|
})
|
},
|
createHandle: function() {
|
const _this = this
|
this.$refs['dataForm'].validate((valid) => {
|
if (valid) {
|
//TODO 密码规则
|
_this.dataForm.validstarttime= _this.validTime[0]
|
_this.dataForm.validendtime= _this.validTime[1]
|
addEnterprise(_this.dataForm).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
_this.dialogFormVisible = false
|
_this.$message({
|
message: '已提交新建',
|
type: 'success'
|
})
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
}).catch(error => {
|
parseError({ error: error, vm: _this })
|
})
|
}
|
})
|
},
|
deleteHandle: function(row) {
|
const _this = this
|
MessageBox.confirm('确定删除用户' + row.name + '信息', '确定删除', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
_this.deleteAction(row)
|
}).catch(() => {
|
console.log('已取消删除')
|
})
|
},
|
deleteAction: function(row) {
|
const _this = this
|
const params = {}
|
params['id'] = row.id
|
const userName = Cookies.get('userName')
|
const userId = Cookies.get('userId')
|
params['userName'] = userName
|
params['userId'] = userId
|
deleteUser(params).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
_this.$message({
|
message: '删除成功',
|
type: 'success'
|
})
|
_this.getEnterpriseList()
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
}).catch(error => {
|
parseError({ error: error, vm: _this })
|
})
|
},
|
refreshHandle: function() {
|
this.getEnterpriseList()
|
},
|
queryHandle: function() {
|
this.currentPage = 1
|
this.getEnterpriseList()
|
},
|
resetDataForm() {
|
this.dataForm= {
|
safetysupervision: '',
|
economicindustry: '',
|
enterprisenumber: '',
|
enterprisename: '',
|
enterpriseemail: '',
|
enterprisesize: '',
|
enterprisestatus: '',
|
department: '',
|
devicenumber: '',
|
officeaddress: '',
|
province: '',
|
city: '',
|
district: '',
|
street: '',
|
committee: '',
|
securitysupervisory: '',
|
officephone: '',
|
faxphone: '',
|
registeraddress: '',
|
registertype: '',
|
establishtime: '',
|
qqnumber: '',
|
postcode: '',
|
roomnumber: '',
|
economictype: '',
|
productioncontent: '',
|
businessregisternumber: '',
|
organizationstructurecode: '',
|
validstarttime: '',
|
validendtime: '',
|
employeenumber: '',
|
ispaysafetyinsurance: '',
|
insurancecontractnumber: '',
|
insureamount: '',
|
insurestarttime: '',
|
insureendtime: '',
|
ismajorhazard: '',
|
isspecialequipment: '',
|
isoccupationalhealthinfo: '',
|
isspecialpersonnel: '',
|
selfrecordingcycle: '',
|
isparententerprise: '',
|
parententerprisename: '',
|
legalrepresentative: '',
|
mainprincipal: '',
|
securityofficer: '',
|
informationofficer: '',
|
enterpriselocation: '',
|
}
|
this.validTime = ['', '']
|
|
},
|
showCreateHandle() {
|
this.resetDataForm()
|
this.dialogStatus = 'create'
|
this.dialogFormVisible = true
|
this.$nextTick(() => {
|
this.$refs['dataForm'].clearValidate()
|
})
|
},
|
updateHandle() {
|
this.$refs['dataForm'].validate((valid) => {
|
const _this = this
|
if (valid) {
|
if (_this.dataForm.password || _this.dataForm.confirmPassword) {
|
if (_this.dataForm.password != _this.dataForm.confirmPassword) {
|
parseError({ error: '密码输入不一致', vm: _this })
|
return
|
}
|
}
|
const userName = Cookies.get('userName')
|
const name = Cookies.get('name')
|
_this.dataForm['operator'] = name + '(' + userName + ')'
|
updateUser(_this.dataForm).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
_this.dialogFormVisible = false
|
_this.$message({
|
message: '更新成功',
|
type: 'success'
|
})
|
_this.getEnterpriseList()
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
}).catch(error => {
|
parseError({ error: error, vm: _this })
|
})
|
}
|
})
|
},
|
getRoleList: async function() {
|
const _this = this
|
const params = {}
|
params['returns'] = 'queryAll'
|
params['instituteId'] = _this.instituteId
|
roleList(params).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
const roleList = res.result
|
_this.roleList = roleList
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
})
|
},
|
showAssignRole: async function(row) {
|
await this.getRoleList()
|
|
this.userRoleDataForm.userId = row.id
|
|
this.$nextTick(() => {
|
const assigedRoles = []
|
if (row.roles) {
|
for (const role of row.roles) {
|
assigedRoles.push(role.id)
|
}
|
}
|
this.userRoleDataForm.userRoles = assigedRoles
|
})
|
this.dialogUserRoleFormVisible = true
|
this.$nextTick(() => {
|
this.$refs['userRoleDataForm'].clearValidate()
|
})
|
},
|
assignUserRoleHandle: function() {
|
const _this = this
|
this.$refs['userRoleDataForm'].validate((valid) => {
|
if (valid) {
|
const params = {}
|
params['id'] = _this.userRoleDataForm.userId
|
params['roles'] = _this.userRoleDataForm.userRoles
|
updateUser(params).then(response => {
|
const res = response.data
|
if (res.code == 200) {
|
_this.dialogUserRoleFormVisible = false
|
_this.$message({
|
message: '角色分配成功',
|
type: 'success'
|
})
|
_this.getEnterpriseList()
|
} else {
|
parseError({ error: res.message, vm: _this })
|
}
|
})
|
}
|
})
|
},
|
toDetail:function(title,row){
|
this.$router.push({path:'/enterprise/detail',query: {title:title,id:row.id}})
|
},
|
|
showEditHandle: function(row) {
|
this.resetDataForm()
|
this.dialogStatus = 'editor'
|
this.dataForm.name = row.name
|
this.dataForm.workId = row.workId
|
this.dataForm.job = row.job
|
this.dataForm.isSafety = row.isSafety
|
this.dataForm.email = row.email
|
this.dataForm.phone = row.phone
|
this.dataForm.userType = row.type
|
this.dataForm.instituteId = row.institute ? row.institute.id : ''
|
this.getDepartmentList(this.dataForm.instituteId)
|
this.dataForm.departmentId = row.department ? row.department.id : ''
|
this.dataForm.id = row.id
|
this.dataForm.description = row.description
|
this.dataForm.period = row.period
|
this.dialogFormVisible = true
|
this.$nextTick(() => {
|
this.$refs['dataForm'].clearValidate()
|
})
|
},
|
passwordChangeEvent: function(value) {
|
if (this.dataForm.password != value) {
|
parseError({ error: '密码输入不一致', vm: this })
|
}
|
},
|
showPwd() {
|
if (this.passwordType === 'password') {
|
this.passwordType = ''
|
} else {
|
this.passwordType = 'password'
|
}
|
},
|
showConfirmPwd() {
|
if (this.confirmPasswordType === 'password') {
|
this.confirmPasswordType = ''
|
} else {
|
this.confirmPasswordType = 'password'
|
}
|
},
|
handleSizeChange: function(val) {
|
this.pageSize = val
|
this.currentPage = 1
|
this.getEnterpriseList()
|
},
|
handleCurrentChange: function(val) {
|
this.currentPage = val
|
this.getEnterpriseList()
|
},
|
getTemplateRow(row) {
|
console.log(row, '22222')
|
},
|
handleInstituteChange(value) {
|
if (value) {
|
this.dataForm.departmentId = ''
|
}
|
},
|
disableRole(row) {
|
if (row.type == 1) {
|
return true
|
} else {
|
return false
|
}
|
},
|
getRoleInfo(role) {
|
const name = role.institute ? role.institute.name : ''
|
return role.name + '(' + name + ')'
|
}
|
}
|
}
|
</script>
|