Merge branch 'zy-1219-四色卡' into 1212-八项作业迁移
commit
c2191b9680
|
@ -0,0 +1,324 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
:visible.sync="dialog_visible"
|
||||
title="人员详情"
|
||||
width="70%"
|
||||
>
|
||||
<div v-loading="listLoading">
|
||||
<div>
|
||||
<table class="table-ui" style="margin-bottom: 20px;">
|
||||
<div class="level-title">
|
||||
<h1>人员信息</h1>
|
||||
</div>
|
||||
<tr>
|
||||
<th>照片</th>
|
||||
<td>
|
||||
<span v-if="imgUrl != ''">
|
||||
<div class="img-flex">
|
||||
<viewer>
|
||||
<img :src="imgUrl" width="40" height="40" style="object-fit: cover;">
|
||||
</viewer>
|
||||
</div>
|
||||
</span>
|
||||
<span v-else/>
|
||||
</td>
|
||||
<th>姓名</th>
|
||||
<td>{{ dataForm.NAME }}</td>
|
||||
<th>性别</th>
|
||||
<td>{{ dataForm.SEX === '0' ? '男' : '女' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>出生年月</th>
|
||||
<td>{{ dataForm.DATE_OF_BIRTH }}</td>
|
||||
<th>年龄</th>
|
||||
<td>{{ dataForm.AGE }}</td>
|
||||
<th>手机号</th>
|
||||
<td>{{ dataForm.PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>身份证</th>
|
||||
<td>{{ dataForm.CARD_ID }}</td>
|
||||
<th>身份证照片</th>
|
||||
<!--if条件不可删除-->
|
||||
<td v-if="userCardIDPhotoFile.length>0" colspan="3">
|
||||
<span>
|
||||
<div class="img-flex">
|
||||
<viewer>
|
||||
<img
|
||||
v-for="item in userCardIDPhotoFile"
|
||||
:src="config.fileUrl + item.FILEPATH"
|
||||
:key="item.IMGFILES_ID"
|
||||
width="40"
|
||||
height="40"
|
||||
style="object-fit: cover;">
|
||||
</viewer>
|
||||
</div>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>民族</th>
|
||||
<td>{{ dataForm.minzuName? dataForm.minzuName:'暂无信息' }}</td>
|
||||
<th>婚姻状况</th>
|
||||
<td>{{ dataForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
|
||||
<th>政治面貌</th>
|
||||
<td>{{ dataForm.zzName }} {{
|
||||
dataForm.zzName == '中共党员' ? '入党时间' + dataForm.POLITICAL_TIME : ''
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>户口所在地</th>
|
||||
<td>{{ dataForm.HKLOCAL? dataForm.HKLOCAL:'暂无信息' }}</td>
|
||||
<th>现住址</th>
|
||||
<td>{{ dataForm.ADDRESS? dataForm.ADDRESS:'暂无信息' }}</td>
|
||||
<th>联系电话</th>
|
||||
<td>{{ dataForm.PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>文化程度</th>
|
||||
<td>{{ dataForm.DEGREE_OF_EDUCATION_NAME }}</td>
|
||||
<!-- <th>本企业从业开始日期</th>-->
|
||||
<!-- <td>{{ dataForm.CORP_START_DATE }}</td>-->
|
||||
<th>岗位名称(工种)</th>
|
||||
<td colspan="3">{{ dataForm.POST_ID }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>是否缴纳社保</th>
|
||||
<td :colspan="dataForm.IS_SOCIAL === '1' ? '':5">{{ formatLabel(dataForm.IS_SOCIAL) }}</td>
|
||||
<th v-if="dataForm.IS_SOCIAL === '1'">社会保障号码</th>
|
||||
<td v-if="dataForm.IS_SOCIAL === '1'">{{ dataForm.SOCIAL_NUMBER }}</td>
|
||||
<th v-if="dataForm.IS_SOCIAL === '1'">社保卡照片</th>
|
||||
<td v-if="dataForm.IS_SOCIAL === '1'&& socialPhotoFile.length>0" colspan="3">
|
||||
<span>
|
||||
<div class="img-flex">
|
||||
<viewer>
|
||||
<img
|
||||
v-for="item in socialPhotoFile"
|
||||
:src="config.fileUrl + item.FILEPATH"
|
||||
:key="item.IMGFILES_ID"
|
||||
width="40"
|
||||
height="40"
|
||||
style="object-fit: cover;">
|
||||
</viewer>
|
||||
</div>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>是否参加三级安全培训</th>
|
||||
<td >{{ formatLabel(dataForm.IS_LEVEL_THREE) }}</td>
|
||||
<th v-if="dataForm.IS_LEVEL_THREE == 1">三级安全培训照片</th>
|
||||
<td v-if="dataForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
|
||||
<span>
|
||||
<div class="img-flex">
|
||||
<viewer>
|
||||
<img
|
||||
v-for="item in photosOfLevel"
|
||||
:src="config.fileUrl + item.FILEPATH"
|
||||
:key="item.IMGFILES_ID"
|
||||
width="40"
|
||||
height="40"
|
||||
style="object-fit: cover;">
|
||||
</viewer>
|
||||
</div>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>是否缴纳保险</th>
|
||||
<td >{{ formatLabelBf(dataForm.IS_BF) }}</td>
|
||||
<th>是否特殊工种</th>
|
||||
<td >{{ formatLabel(dataForm.IS_SPECIAL_JOB) }}</td>
|
||||
<th>是否流动人员</th>
|
||||
<td >{{ formatLabel(dataForm.ISFLOW) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div v-if="pdList.length > 0 ">
|
||||
<table class="table-ui" style="margin-bottom: 20px;">
|
||||
<div class="level-title">
|
||||
<h1>证书信息</h1>
|
||||
</div>
|
||||
<tr>
|
||||
<th>证书类型</th>
|
||||
<th>证书名称</th>
|
||||
<th>证书编号</th>
|
||||
<th>发证机关</th>
|
||||
<th>作业类别</th>
|
||||
<th>操作项目</th>
|
||||
<th>有效期开始</th>
|
||||
<th>有效期结束</th>
|
||||
<th>证书图片</th>
|
||||
</tr>
|
||||
<template v-if="pdList.length > 0 ">
|
||||
<tr v-for="(item,index) in pdList" :key="index">
|
||||
<td>{{ item.CER_TYPE_NAME }}</td>
|
||||
<td>{{ item.CERTIFICATE }}</td>
|
||||
<td>{{ item.SPECIAL_NUMBER }}</td>
|
||||
<td>{{ item.ISSUING_AUTHORITY }}</td>
|
||||
<td>{{ item.SPECIAL_TYPE_NAME?item.SPECIAL_TYPE_NAME:'无' }}</td>
|
||||
<td>{{ item.OPERATION_TYPE_NAME?item.OPERATION_TYPE_NAME:'无' }}</td>
|
||||
<td>{{ item.VALIDITY_TIME_START }}</td>
|
||||
<td>{{ item.VALIDITY_TIME_END }}</td>
|
||||
<td>
|
||||
<viewer>
|
||||
<img
|
||||
:src="config.fileUrl + item.FILEPATH"
|
||||
width="40"
|
||||
height="40"
|
||||
style="object-fit: cover;">
|
||||
</viewer>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialog_visible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="dialog_visible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
name: 'UserBaseInfoView',
|
||||
props: {
|
||||
base_info_url: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
imgUrl: '',
|
||||
listLoading: false,
|
||||
dialog_visible: false,
|
||||
pdList: [], // 证书信息
|
||||
wenhuachengduList: [],
|
||||
postList: [],
|
||||
contractFileList: [], // 合同文件
|
||||
insuranceFileList: [], // 保险文件
|
||||
userPhotoFile: [], // 头像
|
||||
userCardIDPhotoFile: [], // 身份证照片
|
||||
photosOfLevel: [], // 三级教育培训
|
||||
socialPhotoFile: [], // 身份证照片
|
||||
gongshangbaoxianFile: [], // 身份证照片
|
||||
dataForm: {
|
||||
contractFileList: [], // 合同文件
|
||||
insuranceFileList: [], // 保险文件
|
||||
CARD_ID: '', // 身份证号
|
||||
DEPARTMENT_NAME: '', // 部门名称
|
||||
CORPINFO_ID: '', // 企业id
|
||||
HKLOCAL: '', // 户口所在地
|
||||
AGE: '',
|
||||
SEX: '',
|
||||
ADDRESS: '',
|
||||
PHONE: '',
|
||||
IS_SOCIAL: '', // 是否缴纳社保
|
||||
SOCIAL_NUMBER: '', // 社会保障号码
|
||||
IS_LEVEL_THREE: '', // 是否参加三级安全培训
|
||||
IS_SPECIAL_JOB: '', // 是否特殊工种
|
||||
ISFLOW: '', //
|
||||
PHOTO: [],
|
||||
IS_INJURIES_PAY: '',
|
||||
CORP_START_DATE: '',
|
||||
IS_BODY_ADAPT: '',
|
||||
IS_SAFETY_TELL: '',
|
||||
ISPAY: '',
|
||||
IS_SIGN_LABOR: '',
|
||||
DEPARTMENT_ID: '',
|
||||
POST_ID: '',
|
||||
PERSON_WORK_TYPE: '', // 工种
|
||||
USERNAME: '',
|
||||
NAME: '',
|
||||
BZ: '',
|
||||
PERSON_TYPE: '',
|
||||
PASSWORD: 'Aa@123456789',
|
||||
DATE_OF_BIRTH: '', // 出生年月
|
||||
|
||||
DEGREE_OF_EDUCATION: '', // 文化程度
|
||||
POST: '', // 职务
|
||||
TYPE_OF_WORK: '', // 工种
|
||||
ENTRY_DATE: '', // 入职日期
|
||||
WORK_DATE: '' // 参加工作日期
|
||||
},
|
||||
USER_ID: '',
|
||||
CORPINFO_ID: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openWindow(user_id, corpinfo_id) {
|
||||
console.log('openWindow')
|
||||
console.log(this.base_info_url)
|
||||
this.getList(user_id, corpinfo_id)
|
||||
this.$nextTick(() => {
|
||||
this.dialog_visible = !this.dialog_visible
|
||||
})
|
||||
},
|
||||
formatLabelBf(value) {
|
||||
if (value) {
|
||||
var valList = value.split(',')
|
||||
var label = []
|
||||
for (let i = 0; i < valList.length; i++) {
|
||||
if (valList[i] == 0) {
|
||||
label.push('无')
|
||||
break
|
||||
}
|
||||
if (valList[i] == 1) {
|
||||
label.push('商业保险')
|
||||
}
|
||||
if (valList[i] == 2) {
|
||||
label.push('工伤保险')
|
||||
}
|
||||
}
|
||||
return label.join(',')
|
||||
}
|
||||
},
|
||||
// 转换是否
|
||||
formatLabel(value) {
|
||||
if (value == '1') {
|
||||
return '是'
|
||||
} else if (value == '0') {
|
||||
return '否'
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getList(user_id, corpinfo_id) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
this.base_info_url,
|
||||
{
|
||||
USER_ID: user_id,
|
||||
CORPINFO_ID: corpinfo_id
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.dataForm = Object.assign(this.dataForm, data.pd)
|
||||
this.userPhotoFile = data.userPhotoFile
|
||||
if (this.userPhotoFile.length > 0) {
|
||||
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
|
||||
}
|
||||
this.photosOfLevel = data.photosOfLevel
|
||||
this.pdList = data.pdList
|
||||
this.userCardIDPhotoFile = data.userCardIDPhotoFile
|
||||
this.socialPhotoFile = data.socialPhotoFile
|
||||
// this.gongshangbaoxianFile = data.gongshangbaoxianFile
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
|
@ -1,41 +1,51 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="searchForm" :model="searchForm">
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="作业编号" prop="keySource" label-width="80px">
|
||||
<el-form ref="searchForm" :model="searchForm" label-width="80px">
|
||||
<el-row>
|
||||
<el-col span="6">
|
||||
<el-form-item label="作业编号" prop="keySource">
|
||||
<el-input v-model="searchForm.keyJobNumber" placeholder="请输入作业编号" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="特级动火审批状态" prop="keyHiddenDescr" label-width="140px">
|
||||
<el-col span="6">
|
||||
<el-form-item label="特级动火审批状态" prop="keyHiddenDescr" label-width="130px">
|
||||
<el-select v-model="searchForm.keyState" placeholder="请选择">
|
||||
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-option v-for="item in statusSuperList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="申请人" prop="keyApplyUserName">-->
|
||||
<!-- <el-input v-model="searchForm.keyApplyUserName" placeholder="请输入申请人" class="filter-item" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!--<!– </el-col>–>-->
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="审批人" prop="keyApproveUserName">-->
|
||||
<!-- <el-input v-model="searchForm.keyApproveUserName" placeholder="请输入审批人" class="filter-item" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="审批时间" prop="keyFindUserName">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="searchForm.keyApproveTime"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- type="date"-->
|
||||
<!-- placeholder="选择日期"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="4">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火等级" prop="HOT_WORK_LEVEL_INDEX" >
|
||||
<el-select v-model="searchForm.HOT_WORK_LEVEL_INDEX" placeholder="请选择" style="width: 80%">
|
||||
<el-option v-for="item in hotworklevelList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火内容" prop="keySource">
|
||||
<el-input v-model="searchForm.JOB_CONTENT" placeholder="请输入动火内容" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火部位" prop="keySource">
|
||||
<el-input v-model="searchForm.HOT_WORK_POSITION" placeholder="请输入动火部位" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火区域管辖单位" prop="keySource" label-width="130px">
|
||||
<SelectTree
|
||||
ref="deptTree_Inspected"
|
||||
:clearable="false"
|
||||
:options="treeData"
|
||||
:props="defaultProps"
|
||||
v-model="searchForm.UNIT_LEADER_DEPARTMENT_ID"
|
||||
placeholder="请选择动火区域管辖单位"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
|
@ -54,6 +64,10 @@
|
|||
{{ translate(row.JOB_TYPE_INDEX, jobTypeList) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HOT_WORK_LEVEL_NAME" label="动火等级" />
|
||||
<el-table-column prop="JOB_CONTENT" label="动火内容" />
|
||||
<el-table-column prop="HOT_WORK_POSITION" label="动火部位" />
|
||||
<el-table-column prop="UNIT_LEADER_DEPARTMENT_NAME" label="动火区域管辖单位" />
|
||||
<el-table-column prop="WORK_LEVEL" label="申请单位" >
|
||||
<template slot-scope="{row}">
|
||||
{{ getUserName('deptName', row.HOT_WORK_APPLICATION_List) }}
|
||||
|
@ -93,8 +107,10 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
|
@ -113,6 +129,7 @@ export default {
|
|||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
treeData: [], // 动火前管辖单位
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
|
@ -124,6 +141,24 @@ export default {
|
|||
{ id: '0', name: '内部作业' },
|
||||
{ id: '1', name: '相关方作业' }
|
||||
],
|
||||
statusSuperList: [
|
||||
{ id: '0', name: '请选择' },
|
||||
{ id: '1', name: '待提交' },
|
||||
{ id: '2', name: '待审批' },
|
||||
{ id: '3', name: '审批通过' },
|
||||
{ id: '4', name: '已打回' }
|
||||
],
|
||||
hotworklevelList: [
|
||||
{ id: '0', name: '特级' },
|
||||
{ id: '1', name: '一级' },
|
||||
{ id: '2', name: '二级' },
|
||||
{ id: '3', name: '三级' }
|
||||
],
|
||||
defaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
statusList: [
|
||||
{ id: '0', name: '申请人' },
|
||||
{ id: '1', name: '动火单位待确认' },
|
||||
|
@ -159,7 +194,11 @@ export default {
|
|||
keyState: '',
|
||||
keyApplyUserName: '',
|
||||
keyApproveUserName: '',
|
||||
keyApproveTime: ''
|
||||
keyApproveTime: '',
|
||||
HOT_WORK_LEVEL_INDEX: '',
|
||||
JOB_CONTENT: '',
|
||||
HOT_WORK_POSITION: '',
|
||||
UNIT_LEADER_DEPARTMENT_ID: ''
|
||||
},
|
||||
loginUserID: ''
|
||||
}
|
||||
|
@ -167,6 +206,7 @@ export default {
|
|||
created() {
|
||||
this.getList()
|
||||
this.getEditMyInfo()
|
||||
this.getDictTreeData()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
|
@ -248,6 +288,18 @@ export default {
|
|||
this.$parent.HOTWORKAPPLICATION_ID = id
|
||||
this.$parent.HOTWORKAPPLICATION_TYPE = type
|
||||
},
|
||||
getDictTreeData() {
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/department/listTreeCorpDept',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
resolve('ok')
|
||||
}).catch((e) => {
|
||||
})
|
||||
})
|
||||
},
|
||||
chongzhi() {
|
||||
this.searchForm = {
|
||||
stateConfirm: '',
|
||||
|
@ -261,7 +313,10 @@ export default {
|
|||
keyFindTime: [],
|
||||
keyFindStateTime: '',
|
||||
keyFindEndTime: '',
|
||||
keyConfirmUser: ''
|
||||
keyConfirmUser: '',
|
||||
HOT_WORK_LEVEL_INDEX: '',
|
||||
JOB_CONTENT: '',
|
||||
HOT_WORK_POSITION: ''
|
||||
}
|
||||
this.$refs.searchForm.resetFields()
|
||||
this.getList()
|
||||
|
|
|
@ -1,41 +1,51 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="searchForm" :model="searchForm" label-width="80px">
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="4">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="作业编号" prop="keySource">
|
||||
<el-input v-model="searchForm.keyJobNumber" placeholder="请输入作业编号" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="特级动火审批状态" prop="keyHiddenDescr" label-width="130px">
|
||||
<el-select v-model="searchForm.keyState" placeholder="请选择">
|
||||
<el-option v-for="item in statusSuperList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="申请人" prop="keyApplyUserName">-->
|
||||
<!-- <el-input v-model="searchForm.keyApplyUserName" placeholder="请输入申请人" class="filter-item" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!--<!– </el-col>–>-->
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="审批人" prop="keyApproveUserName">-->
|
||||
<!-- <el-input v-model="searchForm.keyApproveUserName" placeholder="请输入审批人" class="filter-item" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="4">-->
|
||||
<!-- <el-form-item label="审批时间" prop="keyFindUserName">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="searchForm.keyApproveTime"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- type="date"-->
|
||||
<!-- placeholder="选择日期"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="4">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火等级" prop="HOT_WORK_LEVEL_INDEX" >
|
||||
<el-select v-model="searchForm.HOT_WORK_LEVEL_INDEX" placeholder="请选择" style="width: 80%">
|
||||
<el-option v-for="item in hotworklevelList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火内容" prop="keySource">
|
||||
<el-input v-model="searchForm.JOB_CONTENT" placeholder="请输入动火内容" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火部位" prop="keySource">
|
||||
<el-input v-model="searchForm.HOT_WORK_POSITION" placeholder="请输入动火部位" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="动火区域管辖单位" prop="keySource" label-width="130px">
|
||||
<SelectTree
|
||||
ref="deptTree_Inspected"
|
||||
:clearable="false"
|
||||
:options="treeData"
|
||||
:props="defaultProps"
|
||||
v-model="searchForm.UNIT_LEADER_DEPARTMENT_ID"
|
||||
placeholder="请选择动火区域管辖单位"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getList">
|
||||
搜索
|
||||
</el-button>
|
||||
|
@ -54,6 +64,10 @@
|
|||
{{ translate(row.JOB_TYPE_INDEX, jobTypeList) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="HOT_WORK_LEVEL_NAME" label="动火等级" />
|
||||
<el-table-column prop="JOB_CONTENT" label="动火内容" />
|
||||
<el-table-column prop="HOT_WORK_POSITION" label="动火部位" />
|
||||
<el-table-column prop="UNIT_LEADER_DEPARTMENT_NAME" label="动火区域管辖单位" />
|
||||
<el-table-column prop="WORK_LEVEL" label="申请单位" >
|
||||
<template slot-scope="{row}">
|
||||
{{ getUserName('deptName', row.HOT_WORK_APPLICATION_List) }}
|
||||
|
@ -89,8 +103,10 @@
|
|||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
|
@ -109,6 +125,7 @@ export default {
|
|||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
treeData: [], // 动火前管辖单位
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
|
@ -132,6 +149,17 @@ export default {
|
|||
{ id: '3', name: '审批通过' },
|
||||
{ id: '4', name: '已打回' }
|
||||
],
|
||||
hotworklevelList: [
|
||||
{ id: '0', name: '特级' },
|
||||
{ id: '1', name: '一级' },
|
||||
{ id: '2', name: '二级' },
|
||||
{ id: '3', name: '三级' }
|
||||
],
|
||||
defaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
STATUS: '0',
|
||||
DEPTIDS: '',
|
||||
searchForm: {
|
||||
|
@ -139,12 +167,17 @@ export default {
|
|||
keyState: '',
|
||||
keyApplyUserName: '',
|
||||
keyApproveUserName: '',
|
||||
keyApproveTime: ''
|
||||
keyApproveTime: '',
|
||||
HOT_WORK_LEVEL_INDEX: '',
|
||||
JOB_CONTENT: '',
|
||||
HOT_WORK_POSITION: '',
|
||||
UNIT_LEADER_DEPARTMENT_ID: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getDictTreeData()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
|
@ -209,6 +242,18 @@ export default {
|
|||
this.$parent.HOTWORKAPPLICATION_ID = id
|
||||
this.$parent.HOTWORKAPPLICATION_TYPE = type
|
||||
},
|
||||
getDictTreeData() {
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/department/listTreeCorpDept',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
resolve('ok')
|
||||
}).catch((e) => {
|
||||
})
|
||||
})
|
||||
},
|
||||
chongzhi() {
|
||||
this.searchForm = {
|
||||
stateConfirm: '',
|
||||
|
@ -222,8 +267,12 @@ export default {
|
|||
keyFindTime: [],
|
||||
keyFindStateTime: '',
|
||||
keyFindEndTime: '',
|
||||
keyConfirmUser: ''
|
||||
keyConfirmUser: '',
|
||||
HOT_WORK_LEVEL_INDEX: '',
|
||||
JOB_CONTENT: '',
|
||||
HOT_WORK_POSITION: ''
|
||||
}
|
||||
this.$refs.deptTree_Inspected.clearHandle()
|
||||
this.$refs.searchForm.resetFields()
|
||||
this.getList()
|
||||
}
|
||||
|
|
|
@ -0,0 +1,381 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<table class="table-ui">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="4" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>动火安全作业票</h1>
|
||||
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="bbg">作业申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td>{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td>{{ pd.WORK_CONTENT }}</td>
|
||||
<td class="bbg">动火地点及动火部位</td>
|
||||
<td>{{ pd.WORK_PLACE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火作业级别</td>
|
||||
<td>{{ pd.WORK_LEVEL }}</td>
|
||||
<td class="bbg">动火方式</td>
|
||||
<td>{{ pd.WORK_FUNCTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火人及证书编号</td>
|
||||
<td colspan="3">{{ pd.WORK_USER }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.CONFIRM_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td>{{ pd.CONFIRM_USER_NAME }}</td>
|
||||
</tr>
|
||||
<template v-for="(item,index) in gasList">
|
||||
<tr :key="index">
|
||||
<td class="bbg">气体取样分析时间</td>
|
||||
<td>{{ item.ANALYZE_TIME }}</td>
|
||||
<td class="bbg">代表性气体</td>
|
||||
<td>{{ item.ANALYZE_PLACE }}</td>
|
||||
|
||||
</tr>
|
||||
<tr :key="index">
|
||||
<td class="bbg">分析结果/%</td>
|
||||
<td>{{ item.ANALYZE_RESULT }}</td>
|
||||
<td class="bbg">分析人</td>
|
||||
<td>{{ item.ANALYZE_USER }}</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="3">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="3">{{ pd.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火作业实施时间</td>
|
||||
<td colspan="3">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td>是否涉及</td>
|
||||
<td>确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
{{ item.PROTECTIVE_MEASURES }}
|
||||
<!-- <template v-if="item.QUESTION1">-->
|
||||
<!-- {{ item.QUESTION1 }}({{ item.ANSWER1 }})-->
|
||||
<!-- </template>-->
|
||||
<!-- <template v-if="item.QUESTION2">-->
|
||||
<!-- 、{{ item.QUESTION2 }}({{ item.ANSWER2 }}) 、{{ item.QUESTION3 }}({{ item.ANSWER3 }})-->
|
||||
<!-- </template>-->
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONFIRM_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.AUDIT_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.AUDIT_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.MONITOR_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.MONITOR_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.MONITOR_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">监护人</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火前,岗位当班班长验票情况:{{ pd.MONITOR_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.MONITOR_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- <div class="ui-height" />-->
|
||||
<div class="ui-foot">
|
||||
<!-- <el-button v-print="'#printTest'" v-if="pd.APPLY_STATUS==8">打 印</el-button>-->
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import dateformat from '@/utils/dateformat'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
HOTWORK_ID: this.$parent.HOTWORK_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
gasList: [],
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.HOTWORK_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/hotwork/cfd/goEdit',
|
||||
{
|
||||
HOTWORK_ID: this.HOTWORK_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
this.imgList = data.imgList
|
||||
this.imgList1 = data.imgList1
|
||||
for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = data.measuresList[i].PROTECTIVE_MEASURES.split('')
|
||||
for (let j = 1; j <= 3; j++) {
|
||||
// 判断字符串是否存在
|
||||
if (this.findCharIndex(PROTECTIVE_MEASURES, '(', j) !== -1) {
|
||||
// 给字符串后面添加上需要的数据
|
||||
PROTECTIVE_MEASURES.splice(
|
||||
this.findCharIndex(PROTECTIVE_MEASURES, '(', j) + 1,
|
||||
0,
|
||||
data.measuresList[i]['ANSWER' + j]
|
||||
)
|
||||
}
|
||||
}
|
||||
// 将数组转回字符串
|
||||
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
}
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.gasList = data.gasList // 参数map
|
||||
if (this.pd.WORK_LEVEL === '二级') {
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
} else if (this.pd.WORK_LEVEL === '一级') {
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
} else {
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 查找字符串第几次出现的位置
|
||||
findCharIndex(str, char, num) {
|
||||
let index = str.indexOf(char)
|
||||
for (let i = 0; i < num - 1; i++) {
|
||||
index = str.indexOf(char, index + 1)
|
||||
}
|
||||
return index
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
.bbg
|
||||
width: 300px
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
</style>
|
||||
<style scoped lang="scss">
|
||||
.table-ui td{
|
||||
line-height: unset;
|
||||
}
|
||||
.app-container{
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.level-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.pdf-content[name=pdf-box]{
|
||||
position: absolute;
|
||||
left: -999999px;
|
||||
.level-title {
|
||||
h1{
|
||||
font-size: 20px;
|
||||
}
|
||||
.level-code{
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
td{
|
||||
font-size: 20px;
|
||||
}
|
||||
.bbg {
|
||||
width: 180px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,401 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" />
|
||||
<el-table-column prop="WORK_LEVEL" label="作业级别" />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" />
|
||||
<el-table-column prop="ANALYZE_USER_NAME" label="分析人" />
|
||||
<el-table-column prop="CONFIRM_USER_NAME" label="作业负责人" />
|
||||
<el-table-column prop="LEADER_USER_NAME" label="所在单位负责人" />
|
||||
<el-table-column prop="AUDIT_USER_NAME" label="安全管理部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.AUDIT_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="动火审批人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.APPROVE_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="MONITOR_USER_NAME" label="动火前在岗班长" />
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收部门负责人" />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">动火作业待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">安全管理部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">动火审批人待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">班长待验票</span>
|
||||
<span v-else-if="row.APPLY_STATUS==7">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==8">验收归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">所在单位审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">安全管理部门审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">动火审批人审核打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-7">班长验票打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-8">验收打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-99">已作废(班长未验票)</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-98">已作废(未进行气体检测)</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="230">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="goChart(row)">流程图</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormShow " :title="dialogType==='add'?'查看流程图':'新增'" width="1550px">
|
||||
<el-steps :active="getStatus()" :process-status="getProcessStatus()" finish-status="success" align-center>
|
||||
<el-step title="动火作业提交">
|
||||
<template slot="description">
|
||||
<div>{{ getProcessMessage().title }}</div>
|
||||
<div>{{ getProcessMessage().USER_NAME }}</div>
|
||||
<div>{{ getProcessMessage().OPERATTIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="作业负责人意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.CONFIRM_USER_NAME }}</div>
|
||||
<div>{{ pd.CONFIRM_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="所在单位意见">
|
||||
<template slot="description">
|
||||
<div>{{ pd.LEADER_USER_NAME }}</div>
|
||||
<div>{{ pd.LEADER_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="安全管理部门意见" >
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('AUDIT_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div v-else>{{ pd.AUDIT_USER_NAME }}</div>
|
||||
<div>{{ pd.AUDIT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="动火审批人意见">
|
||||
<template slot="description">
|
||||
<div v-if="getIsPase('APPROVE_USER_NAME')">{{ '已跳过' }}</div>
|
||||
<div>{{ pd.APPROVE_USER_NAME }}</div>
|
||||
<div>{{ pd.APPROVE_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="班长验票">
|
||||
<template slot="description">
|
||||
<div>{{ pd.MONITOR_USER_NAME }}</div>
|
||||
<div>{{ pd.MONITOR_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="完成验收">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="验收归档">
|
||||
<template slot="description">
|
||||
<div>{{ pd.ACCEPT_USER_NAME }}</div>
|
||||
<div>{{ pd.ACCEPT_USER_SIGNER_TIME }}</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
<div style="margin: 60px 60px 0 60px;display: flex;justify-content: space-between">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.GUARDIAN_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
监护人:{{ pd.GUARDIAN_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
安全交底人:{{ pd.CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: #13ce66">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}已签字
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!pd.ACCEPT_CONFESS_USER_SIGNER_TIME">
|
||||
<div style="color: red">
|
||||
接受交底人:{{ pd.ACCEPT_CONFESS_USER_NAME }}未签字
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogFormShow = false">取 消</el-button>-->
|
||||
<el-button type="primary" @click="dialogFormShow = false">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '动火作业待提交' },
|
||||
{ ID: '1', NAME: '作业负责人待审核' },
|
||||
{ ID: '2', NAME: '所在单位待审核' },
|
||||
{ ID: '4', NAME: '安全管理部门待审核' },
|
||||
{ ID: '5', NAME: '动火审批人待审核' },
|
||||
{ ID: '6', NAME: '班长待验票' },
|
||||
{ ID: '7', NAME: '待验收' },
|
||||
{ ID: '8', NAME: '验收归档' },
|
||||
{ ID: '-2', NAME: '作业负责人审核打回' },
|
||||
{ ID: '-4', NAME: '所在单位审核打回' },
|
||||
{ ID: '-5', NAME: '安全管理部门审核打回' },
|
||||
{ ID: '-6', NAME: '动火审批人审核打回' },
|
||||
{ ID: '-7', NAME: '班长验票打回' },
|
||||
{ ID: '-8', NAME: '验收打回' },
|
||||
{ ID: '-99', NAME: '已作废(班长未验票)' },
|
||||
{ ID: '-98', NAME: '已作废(未进行气体检测)' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.HOTWORK_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.STATUS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/hotwork/cfd/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: this.STATUS,
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'hotwork:add,hotwork:del,hotwork:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.hotworkfhadminadd // 新增权限
|
||||
this.del = data.hotworkfhadmindel // 删除权限
|
||||
this.edit = data.hotworkfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goChart(row) {
|
||||
this.pd = row
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
getStatus() {
|
||||
if (this.pd.APPLY_STATUS <= '0') {
|
||||
return 0
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '1') {
|
||||
return 1
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '2') {
|
||||
return 2
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '4') {
|
||||
return 3
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '5') {
|
||||
return 4
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '6') {
|
||||
return 5
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '7') {
|
||||
return 6
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '8') {
|
||||
return 8
|
||||
}
|
||||
},
|
||||
getProcessStatus() {
|
||||
if (this.pd.APPLY_STATUS < '0') {
|
||||
return 'error'
|
||||
} else {
|
||||
return 'process'
|
||||
}
|
||||
},
|
||||
getProcessMessage() {
|
||||
let obj = {}
|
||||
if (this.pd.APPLY_STATUS >= '0') {
|
||||
obj = {
|
||||
title: '',
|
||||
USER_NAME: this.pd.APPLY_USER_NAME,
|
||||
OPERATTIME: this.pd.CREATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-2') {
|
||||
obj = {
|
||||
title: '作业负责人审核打回',
|
||||
USER_NAME: this.pd.CONFIRM_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-4') {
|
||||
obj = {
|
||||
title: '所在单位审核打回',
|
||||
USER_NAME: this.pd.LEADER_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-5') {
|
||||
obj = {
|
||||
title: '安全管理部门审核打回',
|
||||
USER_NAME: this.pd.AUDIT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-6') {
|
||||
obj = {
|
||||
title: '动火审批人审核打回',
|
||||
USER_NAME: this.pd.APPROVE_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-7') {
|
||||
obj = {
|
||||
title: '班长验票打回',
|
||||
USER_NAME: this.pd.MONITOR_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-8') {
|
||||
obj = {
|
||||
title: '验收打回',
|
||||
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-99') {
|
||||
obj = {
|
||||
title: '已作废(班长未验票)',
|
||||
AUSER_NAME: '',
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
if (this.pd.APPLY_STATUS == '-98') {
|
||||
obj = {
|
||||
title: '已作废(未进行气体检测)',
|
||||
AUSER_NAME: '',
|
||||
OPERATTIME: this.pd.OPERATTIME
|
||||
}
|
||||
}
|
||||
return obj
|
||||
},
|
||||
getIsPase(col) {
|
||||
if (!this.pd[col]) {
|
||||
return '已跳过'
|
||||
}
|
||||
},
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.HOTWORK_ID = id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,33 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
Detail: Detail
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
HOTWORK_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,454 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="printTest" class="app-container print-work">
|
||||
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
|
||||
<div v-for="pdf in 2" :key="pdf" :name="pdf === 2 ? 'pdf-box' : ''" class="pdf-content">
|
||||
<table :class="['table-ui','table-ui' + pdf]">
|
||||
<tr>
|
||||
<td colspan="4" style="border: none">
|
||||
<div class="level-title mt-20">
|
||||
<h1>动火安全作业票</h1>
|
||||
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业申请单位</td>
|
||||
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业申请时间</td>
|
||||
<td>{{ pd.CREATTIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业内容</td>
|
||||
<td>{{ pd.WORK_CONTENT }}</td>
|
||||
<td class="bbg">动火地点及动火部位</td>
|
||||
<td>{{ pd.WORK_PLACE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火作业级别</td>
|
||||
<td>{{ pd.WORK_LEVEL }}</td>
|
||||
<td class="bbg">动火方式</td>
|
||||
<td>{{ pd.WORK_FUNCTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火人及证书编号</td>
|
||||
<td colspan="3">{{ pd.WORK_USER }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">作业单位</td>
|
||||
<td>{{ pd.CONFIRM_DEPARTMENT_NAME }}</td>
|
||||
<td class="bbg">作业负责人</td>
|
||||
<td>{{ pd.CONFIRM_USER_NAME }}</td>
|
||||
</tr>
|
||||
<template v-for="(item,index) in gasList">
|
||||
<tr :key="index">
|
||||
<td class="bbg">气体取样分析时间</td>
|
||||
<td>{{ item.ANALYZE_TIME }}</td>
|
||||
<td class="bbg">代表性气体</td>
|
||||
<td>{{ item.ANALYZE_PLACE }}</td>
|
||||
|
||||
</tr>
|
||||
<tr :key="index">
|
||||
<td class="bbg">分析结果/%</td>
|
||||
<td>{{ item.ANALYZE_RESULT }}</td>
|
||||
<td class="bbg">分析人</td>
|
||||
<td>{{ item.ANALYZE_USER }}</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<tr>
|
||||
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
|
||||
<td colspan="3">{{ pd.SPECIAL_WORK }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">风险辨识结果</td>
|
||||
<td colspan="3">{{ pd.RISK_IDENTIFICATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">动火作业实施时间</td>
|
||||
<td colspan="3">{{ pd.WORK_START_DATE }}至{{ pd.WORK_END_DATE }}止</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>序号</td>
|
||||
<td>安全措施</td>
|
||||
<td style="width: 100px;">是否涉及</td>
|
||||
<td style="width: 100px;">确认人</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in measuresList" :key="index">
|
||||
<td>{{ index + 1 }}</td>
|
||||
<td>
|
||||
{{ item.PROTECTIVE_MEASURES }}
|
||||
<!-- <template v-if="item.QUESTION1">-->
|
||||
<!-- {{ item.QUESTION1 }}({{ item.ANSWER1 }})-->
|
||||
<!-- </template>-->
|
||||
<!-- <template v-if="item.QUESTION2">-->
|
||||
<!-- 、{{ item.QUESTION2 }}({{ item.ANSWER2 }}) 、{{ item.QUESTION3 }}({{ item.ANSWER3 }})-->
|
||||
<!-- </template>-->
|
||||
</td>
|
||||
<td>
|
||||
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>涉 及</span>
|
||||
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
|
||||
</td>
|
||||
<td>
|
||||
{{ item.CONFIRM_NAME }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES">
|
||||
<td>{{ measuresList.length + 1 }}</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
|
||||
<span>其他安全措施:{{ pd.CONFIRM_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.CONFIRM_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.LEADER_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.LEADER_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.AUDIT_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.AUDIT_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.APPROVE_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.APPROVE_USER_NAME }}</span>
|
||||
</div>
|
||||
<div v-if="pd.MONITOR_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
|
||||
<span>其他安全措施:{{ pd.MONITOR_USER_MEASURES }}</span>
|
||||
<span>编制人:{{ pd.MONITOR_USER_NAME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">安全交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">接受交底人</td>
|
||||
<td colspan="10">
|
||||
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg">监护人</td>
|
||||
<td colspan="3">
|
||||
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>作业负责人意见:{{ pd.CONFIRM_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>所在单位意见:{{ pd.LEADER_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>安全管理部门意见:{{ pd.AUDIT_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火审批人意见:{{ pd.APPROVE_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
|
||||
<td colspan="6">
|
||||
<div>动火前,岗位当班班长验票情况:{{ pd.MONITOR_CONTENT }}</div>
|
||||
<div style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ pd.MONITOR_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="imgList1.length>0">
|
||||
<td colspan="10">
|
||||
<div>完工验收:{{ pd.ACCEPT_CONTENT }}</div>
|
||||
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
|
||||
<span>签字:</span>
|
||||
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
|
||||
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="ui-height" />-->
|
||||
<div class="ui-foot">
|
||||
<!-- <el-button v-print="'#printTest'" icon="el-icon-printer" type="primary">打 印</el-button>-->
|
||||
<el-button type="primary" icon="el-icon-printer" @click="handle2PDF">PDF导出</el-button>
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import dateformat from '@/utils/dateformat'
|
||||
import JsPDF from 'jspdf'
|
||||
import html2Canvas from 'html2canvas'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
HOTWORK_ID: this.$parent.HOTWORK_ID, // 主键ID
|
||||
pd: [], // 存放字段参数
|
||||
measuresList: [],
|
||||
gasList: [],
|
||||
imgList: [],
|
||||
imgList1: [],
|
||||
otherProtectiveMeasures: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
handle2PDF() {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '正在生成,请稍候...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
const elements = document.querySelectorAll('div[name="pdf-box"]')
|
||||
console.log(elements)
|
||||
this.html2pdf(this.pd.CHECK_NO + '审批表详情', elements, loading)
|
||||
},
|
||||
|
||||
html2pdf(filename, els, loading) {
|
||||
const flagArr = []
|
||||
for (let i = 0, len = els.length; i < len; i++) {
|
||||
flagArr.push(0)
|
||||
}
|
||||
console.log(flagArr)
|
||||
runself(0)
|
||||
const pdf = new JsPDF('', 'pt', 'a4') // A4纸,纵向
|
||||
function runself(index) {
|
||||
const html = els[index]
|
||||
html2Canvas(html, {
|
||||
allowTaint: true,
|
||||
taintTest: false,
|
||||
logging: false,
|
||||
useCORS: true,
|
||||
scale: 2 // 按比例增加分辨率
|
||||
}).then(canvas => {
|
||||
// eslint-disable-next-line one-var
|
||||
var ctx = canvas.getContext('2d'),
|
||||
a4w = 532.28, a4h = 781.89, // A4大小,210mm x 297mm,四边各保留10mm的边距,显示区域190x277 pt:592.28 * 841.89
|
||||
renderedHeight = 0
|
||||
const allTrs = html.querySelectorAll('tr')
|
||||
while (renderedHeight < canvas.height) {
|
||||
let imgHeight = Math.floor(a4h * canvas.width / a4w) // 按A4显示比例换算一页图像的像素高度
|
||||
for (let i = 0; i < allTrs.length; i++) {
|
||||
const tr = allTrs[i]
|
||||
const trHeight = tr.offsetHeight + tr.offsetTop
|
||||
console.log('offsetHeight:' + tr.offsetHeight + 'offsetTop:' + tr.offsetTop + 'offsetParent:' + tr.offsetParent.offsetTop)
|
||||
if (trHeight * 2 > (imgHeight + renderedHeight)) {
|
||||
const btr = allTrs[i - 1]
|
||||
const btrHeight = btr.offsetHeight + btr.offsetTop
|
||||
console.log('i:' + (i - 1) + 'btrHeight:' + btrHeight)
|
||||
imgHeight = btrHeight * 2 - renderedHeight
|
||||
break
|
||||
}
|
||||
}
|
||||
var page = document.createElement('canvas')
|
||||
page.width = canvas.width
|
||||
page.height = Math.min(imgHeight, canvas.height - renderedHeight)// 可能内容不足一页
|
||||
|
||||
// 用getImageData剪裁指定区域,并画到前面创建的canvas对象中
|
||||
page.getContext('2d').putImageData(ctx.getImageData(0, renderedHeight, canvas.width, Math.min(imgHeight, canvas.height - renderedHeight)), 0, 0)
|
||||
pdf.addImage(page.toDataURL('image/jpeg', 1.0), 'JPEG', 30, 30, a4w, Math.min(a4h, a4w * page.height / page.width)) // 添加图像到页面,保留10mm边距
|
||||
|
||||
renderedHeight += imgHeight
|
||||
if (renderedHeight < canvas.height) {
|
||||
pdf.addPage()// 如果后面还有内容,添加一个空页
|
||||
}
|
||||
}
|
||||
if (index < els.length - 1) {
|
||||
pdf.addPage()
|
||||
}
|
||||
return 1
|
||||
}).then(item => {
|
||||
flagArr[index] = item
|
||||
if (flagArr.every(f => f === 1)) {
|
||||
pdf.save(filename)
|
||||
}
|
||||
index++
|
||||
if (index < els.length) {
|
||||
runself(index)
|
||||
} else {
|
||||
loading.close()
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
validStr(str) {
|
||||
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
|
||||
return false
|
||||
},
|
||||
formatTime(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
formatDate(date, column) {
|
||||
if (date) {
|
||||
return dateformat(date, 'YYYY-MM-DD')
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.HOTWORK_ID
|
||||
},
|
||||
getData() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/hotwork/cfd/goEdit',
|
||||
{
|
||||
HOTWORK_ID: this.HOTWORK_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.pd = data.pd // 参数map
|
||||
console.log(this.pd)
|
||||
this.imgList = data.imgList
|
||||
this.imgList1 = data.imgList1
|
||||
for (let i = 0; i < data.measuresList.length; i++) {
|
||||
// 将字符串转成数组
|
||||
const PROTECTIVE_MEASURES = data.measuresList[i].PROTECTIVE_MEASURES.split('')
|
||||
for (let j = 1; j <= 3; j++) {
|
||||
// 判断字符串是否存在
|
||||
if (this.findCharIndex(PROTECTIVE_MEASURES, '(', j) !== -1) {
|
||||
// 给字符串后面添加上需要的数据
|
||||
PROTECTIVE_MEASURES.splice(
|
||||
this.findCharIndex(PROTECTIVE_MEASURES, '(', j) + 1,
|
||||
0,
|
||||
data.measuresList[i]['ANSWER' + j]
|
||||
)
|
||||
}
|
||||
}
|
||||
// 将数组转回字符串
|
||||
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
|
||||
}
|
||||
this.measuresList = data.measuresList // 参数map
|
||||
this.gasList = data.gasList // 参数map
|
||||
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
|
||||
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
|
||||
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
|
||||
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
|
||||
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 查找字符串第几次出现的位置
|
||||
findCharIndex(str, char, num) {
|
||||
let index = str.indexOf(char)
|
||||
for (let i = 0; i < num - 1; i++) {
|
||||
index = str.indexOf(char, index + 1)
|
||||
}
|
||||
return index
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.print-approval-p10
|
||||
padding: 20px 0
|
||||
span
|
||||
vertical-align: middle
|
||||
.bbg
|
||||
width: 300px
|
||||
.print-approval-img
|
||||
width: 200px
|
||||
height: 97px
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
height: 100%
|
||||
</style>
|
||||
<style scoped lang="scss">
|
||||
.table-ui td{
|
||||
line-height: unset;
|
||||
}
|
||||
.app-container{
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.level-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.pdf-content[name=pdf-box]{
|
||||
position: absolute;
|
||||
left: -999999px;
|
||||
.level-title {
|
||||
h1{
|
||||
font-size: 20px;
|
||||
}
|
||||
.level-code{
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
td{
|
||||
font-size: 20px;
|
||||
}
|
||||
.bbg {
|
||||
width: 180px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,192 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="50px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" type="success" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CHECK_NO" label="编号" />
|
||||
<el-table-column prop="WORK_LEVEL" label="作业级别" />
|
||||
<el-table-column prop="APPLY_USER_NAME" label="申请人" />
|
||||
<el-table-column prop="ANALYZE_USER_NAME" label="分析人" />
|
||||
<el-table-column prop="CONFIRM_USER_NAME" label="作业单位负责人" />
|
||||
<el-table-column prop="LEADER_USER_NAME" label="所在单位负责人" />
|
||||
<el-table-column prop="AUDIT_USER_NAME" label="安全管理部门负责人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.AUDIT_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="APPROVE_USER_NAME" label="动火审批人" show-overflow-tooltip >
|
||||
<template slot-scope="{row}">
|
||||
{{ row.APPROVE_USER_NAME || ' 已跳过' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="MONITOR_USER_NAME" label="动火前在岗部门" />
|
||||
<el-table-column prop="ACCEPT_USER_NAME" label="验收人" />
|
||||
<el-table-column prop="STATUS" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.APPLY_STATUS==0">待提交</span>
|
||||
<span v-else-if="row.APPLY_STATUS==1">作业负责人待确认</span>
|
||||
<span v-else-if="row.APPLY_STATUS==2">所在单位待确认</span>
|
||||
<span v-else-if="row.APPLY_STATUS==4">安全管理部门待审核</span>
|
||||
<span v-else-if="row.APPLY_STATUS==5">待审批</span>
|
||||
<span v-else-if="row.APPLY_STATUS==6">班长待验票</span>
|
||||
<span v-else-if="row.APPLY_STATUS==7">待验收</span>
|
||||
<span v-else-if="row.APPLY_STATUS==8">已归档</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-2">作业负责人确认打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-4">所在单位打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-5">安全管理部门打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-6">审批打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-7">班长验票打回</span>
|
||||
<span v-else-if="row.APPLY_STATUS==-8">验收打回</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="130">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORK_ID)">审批表详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>-->
|
||||
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>-->
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormShow: false,
|
||||
dialogFormEdit: false,
|
||||
dialogType: 'add',
|
||||
replyVarList: [], // REPLY
|
||||
replyListQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
replyTotal: 0,
|
||||
dialogFormHuifuShow: false,
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
{ ID: '0', NAME: '待提交' },
|
||||
{ ID: '1', NAME: '作业人待确认' },
|
||||
{ ID: '2', NAME: '监护人待确认' },
|
||||
{ ID: '3', NAME: '车间负责人待确认' },
|
||||
{ ID: '4', NAME: '安全部门待审核' },
|
||||
{ ID: '5', NAME: '待审批' },
|
||||
{ ID: '6', NAME: '班长待验票' },
|
||||
{ ID: '7', NAME: '待验收' },
|
||||
{ ID: '8', NAME: '已归档' },
|
||||
{ ID: '-2', NAME: '作业负责人确认打回' },
|
||||
{ ID: '-3', NAME: '监护人确认打回' },
|
||||
{ ID: '-4', NAME: '车间负责人打回' },
|
||||
{ ID: '-5', NAME: '安全部门打回' },
|
||||
{ ID: '-6', NAME: '审批打回' },
|
||||
{ ID: '-7', NAME: '班长验票打回' },
|
||||
{ ID: '-8', NAME: '验收打回' }
|
||||
],
|
||||
STATUS: '',
|
||||
DEPTIDS: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.HOTWORK_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getQuery()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/hotwork/cfd/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS, APPLY_STATUS: '8',
|
||||
DEPTIDS: this.DEPTIDS, tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'hotwork:add,hotwork:del,hotwork:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.hotworkfhadminadd // 新增权限
|
||||
this.del = data.hotworkfhadmindel // 删除权限
|
||||
this.edit = data.hotworkfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goDetail(id) {
|
||||
this.$parent.activeName = 'Detail'
|
||||
this.$parent.HOTWORK_ID = id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -0,0 +1,33 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<Detail v-if="activeName=='Detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import Detail from './components/detail'
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
Detail: Detail
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
HOTWORK_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -99,7 +99,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="施工相关方:" prop="UNITS_ID">
|
||||
<el-select v-model="form.UNITS_ID" placeholder="请选择施工相关方" style="width: 100%;" @change="getUnitUser">
|
||||
<el-select v-model="form.UNITS_ID" filterable placeholder="请选择施工相关方" style="width: 100%;" @change="getUnitUser">
|
||||
<el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -149,7 +149,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="状态:" prop="STATE">
|
||||
<el-select v-model="form.STATE" style="width: 100%;">
|
||||
<el-select v-model="form.STATE" disabled style="width: 100%;">
|
||||
<el-option v-for="item in stateList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -406,9 +406,11 @@ export default {
|
|||
// { ID: '0', NAME: '未申请' },
|
||||
// { ID: '1', NAME: '申请中' },
|
||||
// { ID: '2', NAME: '已完成' }
|
||||
|
||||
{ ID: '0', NAME: '未开工' },
|
||||
{ ID: '1', NAME: '进行中' },
|
||||
{ ID: '2', NAME: '已结束' }
|
||||
{ ID: '2', NAME: '已结束' },
|
||||
{ ID: '-1', NAME: '开工申请中' },
|
||||
{ ID: '-2', NAME: '结束申请中' }
|
||||
],
|
||||
smsList: [
|
||||
{ ID: '0', NAME: '是' },
|
||||
|
@ -452,17 +454,17 @@ export default {
|
|||
immediate: false
|
||||
|
||||
},
|
||||
'form.ENDTIME': {
|
||||
handler: function() {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
var time = formatDate(new Date(), 'YYYY-MM-DD')
|
||||
if (this.form.ENDTIME > time) {
|
||||
this.form.STATE = '1'
|
||||
} else {
|
||||
this.form.STATE = '2'
|
||||
}
|
||||
}
|
||||
},
|
||||
// 'form.ENDTIME': {
|
||||
// handler: function() {
|
||||
// // eslint-disable-next-line no-unused-vars
|
||||
// var time = formatDate(new Date(), 'YYYY-MM-DD')
|
||||
// if (this.form.ENDTIME > time) {
|
||||
// this.form.STATE = '1'
|
||||
// } else {
|
||||
// this.form.STATE = '2'
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
|
||||
TRAINING_TIME: function(newData, oldData) {
|
||||
if (!newData) {
|
||||
|
@ -481,6 +483,8 @@ export default {
|
|||
this.dialogType = 'edit'
|
||||
this.form.OUTSOURCED_ID = this.$parent.OUTSOURCED_ID
|
||||
this.getData()
|
||||
} else {
|
||||
this.form.STATE = '0'
|
||||
}
|
||||
this.getCorpInfo()
|
||||
// this.getTreeList()
|
||||
|
|
|
@ -39,21 +39,14 @@
|
|||
<tr>
|
||||
<td class="tbg">计划工期</td>
|
||||
<td colspan="3">{{ pd.STARTTIME }} 至 {{ pd.ENDTIME }}</td>
|
||||
<!--<td>{{ pd.STARTTIME }}</td>
|
||||
<td class="tbg">计划工期结束时间</td>
|
||||
<td>{{ pd.ENDTIME}}</td>-->
|
||||
</tr>
|
||||
<tr>
|
||||
<!--<td class="tbg">合同起止时间</td>
|
||||
<td>{{ pd.CONTRACT_STIME }} 至 {{ pd.CONTRACT_ETIME }}</td>-->
|
||||
<td class="tbg">施工相关方</td>
|
||||
<td colspan="3">{{ pd.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">合同号</td>
|
||||
<td>{{ pd.CONTRACT_NUM }}</td>
|
||||
<td class="tbg">监理单位名称</td>
|
||||
<td>{{ pd.MANAGE_CORPS_NAME }}</td>
|
||||
<td colspan="3">{{ pd.CONTRACT_NUM }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">施工相关方</td>
|
||||
<td colspan="3">{{ pd.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">相关方单位工程负责人</td>
|
||||
|
@ -61,21 +54,10 @@
|
|||
<td class="tbg">相关方单位负责人手机</td>
|
||||
<td>{{ pd.UNITS_PHONE }}</td>
|
||||
</tr>
|
||||
<!--<tr v-if="pd.UNITS_APTITUDE">
|
||||
<td class="tbg">相关方单位资质</td>
|
||||
<!– <td colspan="2">{{ pd.UNITS_APTITUDE }}</td>–>
|
||||
<td colspan="3"><el-button type="primary" @click="downloadFile(pd.UNITS_APTITUDE)">下载</el-button></td>
|
||||
<tr>
|
||||
<td class="tbg">监理单位名称</td>
|
||||
<td colspan="3">{{ pd.MANAGE_CORPS_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-if="pd.MANAGE_APTITUDE">
|
||||
<td class="tbg">监理单位资质</td>
|
||||
<!– <td colspan="2">{{ pd.MANAGE_APTITUDE }}</td>–>
|
||||
<td colspan="3"><el-button type="primary" @click="downloadFile(pd.MANAGE_APTITUDE)">下载</el-button></td>
|
||||
</tr>
|
||||
<tr v-if="pd.MEASURES">
|
||||
<td class="tbg">安全技术措施</td>
|
||||
<!– <td colspan="2">{{ pd.MEASURES }}</td>–>
|
||||
<td colspan="3"><el-button type="primary" @click="downloadFile(pd.MEASURES)">下载</el-button></td>
|
||||
</tr>-->
|
||||
<tr>
|
||||
<td class="tbg">监理单位工程负责人</td>
|
||||
<td>{{ pd.MANAGE_PIC }}</td>
|
||||
|
@ -93,8 +75,11 @@
|
|||
<!-- <span v-if="pd.STATE == 0">未申请</span>-->
|
||||
<!-- <span v-if="pd.STATE == 1">申请中</span>-->
|
||||
<!-- <span v-if="pd.STATE == 2">已完成</span>-->
|
||||
<span v-if="pd.STATE == 0">未开工</span>
|
||||
<span v-if="pd.STATE == 1">进行中</span>
|
||||
<span v-if="pd.STATE == 2">已结束</span>
|
||||
<span v-if="pd.STATE == -1">开工申请中</span>
|
||||
<span v-if="pd.STATE == -2">结束申请中</span>
|
||||
</td>
|
||||
</tr>
|
||||
<!--<tr>
|
||||
|
@ -137,6 +122,12 @@
|
|||
<!– <td colspan="2">{{ pd.SHEET }}</td>–>
|
||||
<td colspan="3"><el-button type="primary" @click="downloadFile(pd.SHEET)">下载</el-button></td>
|
||||
</tr>-->
|
||||
<tr>
|
||||
<td class="tbg">重点工程定位</td>
|
||||
<td v-if="pd.WORK_LATITUDE && pd.WORK_LONGITUDE" colspan="2">经度:{{ pd.WORK_LONGITUDE }},纬度:{{ pd.WORK_LATITUDE }}</td>
|
||||
<td v-else colspan="2">未定位</td>
|
||||
<td><el-button type="success" @click="handleMap(pd)">查看定位</el-button></td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in file9" :key="index">
|
||||
<td class="tbg">安全管理协议{{ index +1 }}</td>
|
||||
<td colspan="2">{{ item.FILE_NAME }}</td>
|
||||
|
@ -169,12 +160,26 @@
|
|||
<div class="ui-foot">
|
||||
<el-button icon="el-icon-arrow-left" @click="goBack">返 回</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormMap" title="定位" width="1050px" class="dy-dialog">
|
||||
<div id="map" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<span>经度:</span>
|
||||
<el-input v-model="form.LONGITUDE" style="width: 200px" placeholder="请输入内容" disabled />
|
||||
<span>纬度:</span>
|
||||
<el-input v-model="form.LATITUDE" style="width: 200px" placeholder="请输入内容" disabled />
|
||||
<el-button @click="dialogFormMap = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import TiandiMap from '../../../../components/TianMap/TiandiMap'
|
||||
|
||||
export default {
|
||||
components: { TiandiMap },
|
||||
data() {
|
||||
return {
|
||||
pd: {
|
||||
|
@ -232,6 +237,14 @@ export default {
|
|||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
// 地图所需参数
|
||||
map: null,
|
||||
marker: null,
|
||||
dialogFormMap: false,
|
||||
form: {
|
||||
LONGITUDE: '',
|
||||
LATITUDE: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -315,6 +328,78 @@ export default {
|
|||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
this.$parent.OUTSOURCED_ID = ''
|
||||
},
|
||||
/**
|
||||
* 初始化天地图对象
|
||||
*/
|
||||
initTDT() {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (window.T) {
|
||||
console.log('天地图初始化成功...')
|
||||
resolve(window.T)
|
||||
reject('error')
|
||||
}
|
||||
}).then(T => {
|
||||
window.T = T
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 初始化地图
|
||||
* @param {*} lng 经度
|
||||
* @param {*} lat 纬度
|
||||
* @param {*} zoom 缩放比例(1~18)
|
||||
*/
|
||||
initMap(lng, lat, zoom) {
|
||||
this.initTDT().then((T) => {
|
||||
const imageURL = 'http://t0.tianditu.gov.cn/img_w/wmts?' + 'SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles' + '&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e8a16137fd226a62a23cc7ba5c9c78ce'
|
||||
// 创建自定义图层对象
|
||||
this.lay = new window.T.TileLayer(imageURL, { minZoom: 1, maxZoom: 18 })
|
||||
// 初始化地图对象
|
||||
this.map = new window.T.Map('map')
|
||||
this.initCenter(lng, lat, zoom)
|
||||
})
|
||||
},
|
||||
initCenter(lng, lat, zoom) {
|
||||
// 设置显示地图的中心点和级别
|
||||
if (!this.form.LONGITUDE && !this.form.LATITUDE) {
|
||||
this.map.centerAndZoom(new window.T.LngLat(119.58, 39.94), zoom)
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
} else {
|
||||
this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom)
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
this.form.LONGITUDE = lng
|
||||
this.form.LATITUDE = lat
|
||||
this.marker = new window.T.Marker(new window.T.LngLat(lng, lat))
|
||||
// 向地图上添加标注
|
||||
this.map.addOverLay(this.marker)
|
||||
}
|
||||
// 创建卫星和路网的混合视图
|
||||
this.map.setMapType(window.TMAP_HYBRID_MAP)
|
||||
// 允许鼠标滚轮缩放地图
|
||||
this.map.enableScrollWheelZoom()
|
||||
// 允许鼠标移动地图
|
||||
this.map.enableInertia()
|
||||
// 向地图上添加标注
|
||||
this.map.addEventListener('click', this.MapClick)
|
||||
},
|
||||
MapClick(event) {
|
||||
this.marker && this.map.removeOverLay(this.marker)
|
||||
this.form.LONGITUDE = event.lnglat.getLng()
|
||||
this.form.LATITUDE = event.lnglat.getLat()
|
||||
this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat()))
|
||||
// 向地图上添加标注
|
||||
this.map.addOverLay(this.marker)
|
||||
},
|
||||
handleMap(row) {
|
||||
this.form.LATITUDE = ''
|
||||
this.form.LONGITUDE = ''
|
||||
this.dialogFormMap = true
|
||||
this.form.LATITUDE = this.pd.WORK_LATITUDE
|
||||
this.form.LONGITUDE = this.pd.WORK_LONGITUDE
|
||||
this.$nextTick(() => {
|
||||
if (!this.map) this.initMap(this.form.LONGITUDE, this.form.LATITUDE, 16)
|
||||
else this.initCenter(this.form.LONGITUDE, this.form.LATITUDE, 16)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -324,5 +409,8 @@ export default {
|
|||
.tbg{width:180px;
|
||||
/*text-align: left;*/
|
||||
}
|
||||
|
||||
#map{
|
||||
width: 1000px;
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -137,15 +137,19 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="STATE" label="状态" width="100" >
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.STATE == 0">未开工</span>
|
||||
<span v-if="row.STATE == 1">进行中</span>
|
||||
<span v-if="row.STATE == 2">已结束</span>
|
||||
<span v-if="row.STATE == -1">开工申请中</span>
|
||||
<span v-if="row.STATE == -2">结束申请中</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="OUTSOURCED_CREATOR_NAME" label="创建人" show-overflow-tooltip />
|
||||
<el-table-column label="操作" align="center" width="400">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID)">查看</el-button>
|
||||
<el-button v-if="loginUserId == row.CREATOR" type="success" icon="el-icon-view" size="mini" @click="handleJie(row.OUTSOURCED_ID)">结束</el-button>
|
||||
<el-button v-if="row.CREATOR==userInfoUserId && row.STATE==-1" type="success" icon="el-icon-view" size="mini" @click="handleState(row.OUTSOURCED_ID)">开工审批</el-button>
|
||||
<el-button v-if="row.CREATOR==userInfoUserId && row.STATE==-2" type="success" icon="el-icon-view" size="mini" @click="handleJie(row.OUTSOURCED_ID)">结束审批</el-button>
|
||||
<el-button v-show="edit" v-if="loginUserId == row.CREATOR" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.OUTSOURCED_ID)">编辑</el-button>
|
||||
<el-button v-show="del" v-if="loginUserId == row.CREATOR" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.OUTSOURCED_ID)">删除</el-button>
|
||||
</template>
|
||||
|
@ -183,6 +187,7 @@ export default {
|
|||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
userInfoUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
qrcodeStr: '',
|
||||
listLoading: true,
|
||||
add: false,
|
||||
|
@ -233,8 +238,11 @@ export default {
|
|||
dialogType: 'add',
|
||||
loginUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
stateList: [
|
||||
{ ID: '0', NAME: '未开工' },
|
||||
{ ID: '1', NAME: '进行中' },
|
||||
{ ID: '2', NAME: '已结束' }
|
||||
{ ID: '2', NAME: '已结束' },
|
||||
{ ID: '-1', NAME: '开工申请中' },
|
||||
{ ID: '-2', NAME: '结束申请中' }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -326,27 +334,50 @@ export default {
|
|||
this.$parent.OUTSOURCED_ID = ID
|
||||
},
|
||||
|
||||
handleState(id) {
|
||||
this.$confirm('确定要开工吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/outsourced/updateState',
|
||||
{
|
||||
OUTSOURCED_ID: id,
|
||||
OPERATOR: this.userInfoUserId, // 修改人
|
||||
STATE: '1'
|
||||
}
|
||||
).then((data) => {
|
||||
this.$message({
|
||||
message: '已开工',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
handleJie(id) {
|
||||
this.$confirm('确定要结束吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then((data) => {
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/outsourced/jie',
|
||||
'/outsourced/updateState',
|
||||
{
|
||||
OUTSOURCED_ID: id
|
||||
OUTSOURCED_ID: id,
|
||||
OPERATOR: this.userInfoUserId, // 修改人
|
||||
STATE: '2'
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.code == '500') {
|
||||
this.listLoading = false
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
message: '已结束',
|
||||
type: 'success'
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">被处罚单位</td>
|
||||
<td>{{ pd.OUTSOURCED_NAME }}</td>
|
||||
<td>{{ pd.UNITS_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">被处罚人</td>
|
||||
|
|
|
@ -0,0 +1,350 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="60px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="文件名">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:row-key="getRowKey"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="NAME" label="文件名" />
|
||||
<el-table-column prop="imgPatn" label="图片" >
|
||||
<template slot-scope="{row}">
|
||||
<el-tooltip placement="top">
|
||||
<template slot="content">
|
||||
<viewer>
|
||||
<img :src="config.fileUrl + row.FILEPATH" width="100" height="100">
|
||||
</viewer>
|
||||
</template>
|
||||
<el-tag>预览</el-tag>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="left" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="downloadFile(row.RISKWARNING_ID)">下载</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.RISKWARNING_ID)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogForm" title="上传文件" width="600px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px" style="width: 500px;">
|
||||
<el-form-item label="文件名" prop="NAME">
|
||||
<el-input v-model="form.NAME" placeholder="这里输入名称..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChangeIMG"
|
||||
:before-upload="beforeFileUpload"
|
||||
:auto-upload="false"
|
||||
:limit="1"
|
||||
:class="{hide:hideUpload}"
|
||||
action="#"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
list-type="picture-card">
|
||||
<i class="el-icon-plus" />
|
||||
</el-upload>
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<img :src="dialogImageUrl" width="100%" alt="">
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogForm = false">取 消</el-button>
|
||||
<el-button type="primary" @click="upload">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import { upload } from '@/utils/upload'
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
listLoading: true,
|
||||
dialogForm: false,
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
add: true,
|
||||
del: true,
|
||||
edit: true,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
dates: [],
|
||||
varList: [],
|
||||
hideUpload: false,
|
||||
form: {
|
||||
NAME: '', //
|
||||
FFILE: []
|
||||
},
|
||||
rules: {
|
||||
NAME: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.RISKWARNING_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS,
|
||||
TYPE: '4'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 添加
|
||||
handleAdd() {
|
||||
this.hideUpload = false
|
||||
this.resetForm()
|
||||
if (this.$refs.upload) {
|
||||
this.$refs.upload.clearFiles()
|
||||
}
|
||||
this.dialogForm = true
|
||||
},
|
||||
beforeFileUpload(file) {
|
||||
const types = ['image/jpeg', 'image/jpg', 'image/png']
|
||||
const isImage = types.includes(file.type)
|
||||
if (!isImage) {
|
||||
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
|
||||
return false
|
||||
} else {
|
||||
this.form.FFILE = file
|
||||
}
|
||||
},
|
||||
handlePictureCardPreview(file, fileList) {
|
||||
this.dialogImageUrl = file.url
|
||||
this.dialogVisible = true
|
||||
},
|
||||
handleChangeIMG(file, fileList) {
|
||||
const types = ['image/jpeg', 'image/jpg', 'image/png']
|
||||
const isImage = types.includes(file.raw.type)
|
||||
if (!isImage) {
|
||||
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
|
||||
fileList.pop()
|
||||
}
|
||||
this.hideUpload = fileList.length >= 1
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
this.hideUpload = fileList.length >= 1
|
||||
},
|
||||
// 保存
|
||||
upload() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (this.$refs.upload.uploadFiles.length < 1) {
|
||||
this.$message({
|
||||
message: '请上传图片',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$refs.upload.submit()
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '上传中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
const formData = new FormData()
|
||||
Object.keys(this.form).map(key => {
|
||||
formData.append(key, this.form[key])
|
||||
})
|
||||
formData.append('TYPE', '4')
|
||||
upload(
|
||||
'/riskwarning/add',
|
||||
formData
|
||||
).then((data) => {
|
||||
this.dialogForm = false
|
||||
this.getList()
|
||||
loading.close()
|
||||
}).catch((e) => {
|
||||
loading.close()
|
||||
})
|
||||
})
|
||||
},
|
||||
downloadFile(RISKWARNING_ID) {
|
||||
this.$confirm('确定要下载此文件吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
// '/mfolder/download?RISKWARNING_ID=' + RISKWARNING_ID,
|
||||
window.location.href = config.httpurl + 'riskwarning/goDownload?RISKWARNING_ID=' + RISKWARNING_ID
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
handleDelete(id) {
|
||||
this.$confirm('确定要删除吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/delete',
|
||||
{
|
||||
RISKWARNING_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
batchDel() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map((item, index) => {
|
||||
return item.RISKWARNING_ID
|
||||
}).join(',')
|
||||
|
||||
this.$confirm('确定要删除选中的数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/deleteAll',
|
||||
{
|
||||
DATA_IDS: ids
|
||||
}
|
||||
).then(() => {
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton: function() {
|
||||
var keys = 'riskwarning:add,riskwarning:del,riskwarning:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.riskwarningfhadminadd // 新增权限
|
||||
this.del = data.riskwarningfhadmindel // 删除权限
|
||||
this.edit = data.riskwarningfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
resetForm() {
|
||||
this.form = {
|
||||
NAME: '', //
|
||||
FFILE: []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.hide .el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,350 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="60px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="文件名">
|
||||
<el-input v-model="KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:row-key="getRowKey"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="NAME" label="文件名" />
|
||||
<el-table-column prop="imgPatn" label="图片" >
|
||||
<template slot-scope="{row}">
|
||||
<el-tooltip placement="top">
|
||||
<template slot="content">
|
||||
<viewer>
|
||||
<img :src="config.fileUrl + row.FILEPATH" width="100" height="100">
|
||||
</viewer>
|
||||
</template>
|
||||
<el-tag>预览</el-tag>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="left" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="downloadFile(row.RISKWARNING_ID)">下载</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.RISKWARNING_ID)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel">删除</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogForm" title="上传文件" width="600px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px" style="width: 500px;">
|
||||
<el-form-item label="文件名" prop="NAME">
|
||||
<el-input v-model="form.NAME" placeholder="这里输入名称..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChangeIMG"
|
||||
:before-upload="beforeFileUpload"
|
||||
:auto-upload="false"
|
||||
:limit="1"
|
||||
:class="{hide:hideUpload}"
|
||||
action="#"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
list-type="picture-card">
|
||||
<i class="el-icon-plus" />
|
||||
</el-upload>
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<img :src="dialogImageUrl" width="100%" alt="">
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogForm = false">取 消</el-button>
|
||||
<el-button type="primary" @click="upload">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import { upload } from '@/utils/upload'
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
listLoading: true,
|
||||
dialogForm: false,
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
add: true,
|
||||
del: true,
|
||||
edit: true,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
dates: [],
|
||||
varList: [],
|
||||
hideUpload: false,
|
||||
form: {
|
||||
NAME: '', //
|
||||
FFILE: []
|
||||
},
|
||||
rules: {
|
||||
NAME: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getRowKey(row) {
|
||||
return row.RISKWARNING_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS,
|
||||
TYPE: '3'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 添加
|
||||
handleAdd() {
|
||||
this.hideUpload = false
|
||||
this.resetForm()
|
||||
if (this.$refs.upload) {
|
||||
this.$refs.upload.clearFiles()
|
||||
}
|
||||
this.dialogForm = true
|
||||
},
|
||||
beforeFileUpload(file) {
|
||||
const types = ['image/jpeg', 'image/jpg', 'image/png']
|
||||
const isImage = types.includes(file.type)
|
||||
if (!isImage) {
|
||||
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
|
||||
return false
|
||||
} else {
|
||||
this.form.FFILE = file
|
||||
}
|
||||
},
|
||||
handlePictureCardPreview(file, fileList) {
|
||||
this.dialogImageUrl = file.url
|
||||
this.dialogVisible = true
|
||||
},
|
||||
handleChangeIMG(file, fileList) {
|
||||
const types = ['image/jpeg', 'image/jpg', 'image/png']
|
||||
const isImage = types.includes(file.raw.type)
|
||||
if (!isImage) {
|
||||
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
|
||||
fileList.pop()
|
||||
}
|
||||
this.hideUpload = fileList.length >= 1
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
this.hideUpload = fileList.length >= 1
|
||||
},
|
||||
// 保存
|
||||
upload() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (this.$refs.upload.uploadFiles.length < 1) {
|
||||
this.$message({
|
||||
message: '请上传图片',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$refs.upload.submit()
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '上传中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
const formData = new FormData()
|
||||
Object.keys(this.form).map(key => {
|
||||
formData.append(key, this.form[key])
|
||||
})
|
||||
formData.append('TYPE', '3')
|
||||
upload(
|
||||
'/riskwarning/add',
|
||||
formData
|
||||
).then((data) => {
|
||||
this.dialogForm = false
|
||||
this.getList()
|
||||
loading.close()
|
||||
}).catch((e) => {
|
||||
loading.close()
|
||||
})
|
||||
})
|
||||
},
|
||||
downloadFile(RISKWARNING_ID) {
|
||||
this.$confirm('确定要下载此文件吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
// '/mfolder/download?RISKWARNING_ID=' + RISKWARNING_ID,
|
||||
window.location.href = config.httpurl + 'riskwarning/goDownload?RISKWARNING_ID=' + RISKWARNING_ID
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
handleDelete(id) {
|
||||
this.$confirm('确定要删除吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/delete',
|
||||
{
|
||||
RISKWARNING_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
batchDel() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map((item, index) => {
|
||||
return item.RISKWARNING_ID
|
||||
}).join(',')
|
||||
|
||||
this.$confirm('确定要删除选中的数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/riskwarning/deleteAll',
|
||||
{
|
||||
DATA_IDS: ids
|
||||
}
|
||||
).then(() => {
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton: function() {
|
||||
var keys = 'riskwarning:add,riskwarning:del,riskwarning:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.riskwarningfhadminadd // 新增权限
|
||||
this.del = data.riskwarningfhadmindel // 删除权限
|
||||
this.edit = data.riskwarningfhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goKeyReset() {
|
||||
this.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
resetForm() {
|
||||
this.form = {
|
||||
NAME: '', //
|
||||
FFILE: []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.hide .el-upload--picture-card {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
|
@ -25,7 +25,7 @@
|
|||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button icon="el-icon-view" size="mini" @click="goView(row.PROMISEPEOPLE_ID)">查看</el-button>
|
||||
<el-button v-show="row.ISSIGN == 0" type="danger" icon="el-icon-delete" size="mini" @click="removeUnsignedPeopleDetail(row.PROMISEPEOPLE_ID)">删除</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="removeUnsignedPeopleDetail(row.PROMISEPEOPLE_ID)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
@ -0,0 +1,373 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container print-work">
|
||||
<el-page-header content="相关方人员关联分公司" class="no-print" @back="goBack"/>
|
||||
<el-container>
|
||||
<el-main>
|
||||
<el-form label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="关键字搜索">
|
||||
<el-input v-model="searchForm.KEYWORDS" style="width: 150px" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="20px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方名称" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="PHONE" label="电话" />
|
||||
<el-table-column prop="IS_SPECIAL_JOB" label="是否特殊工种">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.IS_SPECIAL_JOB=='0'">否</span>
|
||||
<span v-else>是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ISFLOW" label="是否流动人员" >
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.ISFLOW=='0'">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="toUserDetail(row)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<div/>
|
||||
<UserBaseInfoView ref="userbaseinfoview" :base_info_url="baseInfourl"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import UserBaseInfoView from '@/components/UserBaseInfo/UserBaseInfoView'
|
||||
|
||||
export default {
|
||||
components: { Pagination, UserBaseInfoView },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
baseInfourl: '/corpFgs/getCorpUserDetail',
|
||||
dayTime: [],
|
||||
dialogFormEdit: false,
|
||||
dialogFormEditState: false,
|
||||
listLoading: true,
|
||||
userListLoading: true,
|
||||
treeLoading: false,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
form: {
|
||||
FGS_ID: '',
|
||||
CORPINFO_ID: ''
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
ISFLOW: '',
|
||||
DEPART_STATE: '',
|
||||
varList: [],
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogType: 'saveUser',
|
||||
disabledLCSelect: false,
|
||||
displayLCSelect: 'display: block',
|
||||
disabledLCInput: true,
|
||||
displayLCInput: 'display: none',
|
||||
LearnerCategoryList: [],
|
||||
searchForm: {
|
||||
FGS_ID: '',
|
||||
CORPINFO_ID: '',
|
||||
KEYWORDS: ''
|
||||
},
|
||||
config: config,
|
||||
dialogVisible: false,
|
||||
roleList: [],
|
||||
postList: [],
|
||||
dialogFormDaoru: false,
|
||||
daoruFrom: {
|
||||
FFILE: '',
|
||||
FFILEName: ''
|
||||
},
|
||||
PARENTID: '0',
|
||||
fgsList: [],
|
||||
userList: [],
|
||||
selectedRows: [], // 人员选中的数据
|
||||
USER_ID: '',
|
||||
LOGIN_USER: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
},
|
||||
created() {
|
||||
this.form.FGS_ID = this.$parent.FGS_ID
|
||||
this.searchForm.FGS_ID = this.$parent.FGS_ID
|
||||
this.form.CORPINFO_ID = this.$parent.CORPINFO_ID
|
||||
this.searchForm.CORPINFO_ID = this.$parent.CORPINFO_ID
|
||||
this.getList()
|
||||
this.hasButton()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.KEYWORDS = ''
|
||||
this.getList()
|
||||
},
|
||||
goBack() {
|
||||
this.$parent.activeName = 'List'
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/corpFgs/corpUserFgsList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.fgsList = data.fgsList
|
||||
console.log(this.varList)
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CORP_USER_FGS_ID
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'user:add,user:del,user:edit'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.userfhadminadd
|
||||
this.del = data.userfhadmindel
|
||||
this.edit = data.userfhadminedit
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogFormEdit = true
|
||||
this.getUserList()
|
||||
this.$refs.userListTable.clearSelection()
|
||||
},
|
||||
// 查看
|
||||
toUserDetail(ROW) {
|
||||
this.$refs.userbaseinfoview.openWindow(ROW.USER_ID, ROW.CORPINFO_ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.el-dialog__body{
|
||||
padding: 0;
|
||||
background: red;
|
||||
}
|
||||
.mark_up{
|
||||
margin-bottom:20px;
|
||||
margin-left: 110px;
|
||||
}
|
||||
.icons-container {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
|
||||
.grid {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
|
||||
}
|
||||
|
||||
.icon-item {
|
||||
margin-bottom: 10px;
|
||||
height: 70px;
|
||||
text-align: center;
|
||||
width: 100px;
|
||||
float: left;
|
||||
font-size: 24px;
|
||||
color: #24292e;
|
||||
cursor: pointer;
|
||||
span {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
.filter-btn-group{
|
||||
position: relative;
|
||||
}
|
||||
.filter-flot{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
.uploader{
|
||||
width: 570px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.el-form-item__content{
|
||||
line-height: 1;
|
||||
}
|
||||
.uo-flex{
|
||||
display: flex
|
||||
}
|
||||
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.avatar-uploader .el-upload:hover {
|
||||
border-color: #409EFF;
|
||||
}
|
||||
.avatar-uploader-icon {
|
||||
border: 1px dashed #d9d9d9;
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 178px;
|
||||
height: 178px;
|
||||
line-height: 178px;
|
||||
text-align: center;
|
||||
}
|
||||
.avatar {
|
||||
width: 178px;
|
||||
height: 178px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.el-row
|
||||
margin-bottom: 16px
|
||||
&:last-child
|
||||
margin-bottom: 0
|
||||
.form-group
|
||||
display: flex
|
||||
align-items: center
|
||||
margin-right: 20px
|
||||
.form-label
|
||||
padding: 9px 15px
|
||||
font-size: 14px
|
||||
width: 240px
|
||||
font-weight: 400
|
||||
line-height: 20px
|
||||
text-align: right
|
||||
margin-bottom: 0
|
||||
.star
|
||||
color: red
|
||||
padding-right: 4px
|
||||
.input-block
|
||||
flex: 1
|
||||
min-height: 36px
|
||||
position: relative
|
||||
|
||||
.disContent
|
||||
padding: 0 20px
|
||||
display: flex
|
||||
align-items: center
|
||||
flex-wrap: wrap
|
||||
.img-div
|
||||
position: relative
|
||||
margin: auto 10px 10px 10px
|
||||
width: 20px
|
||||
height: 20px
|
||||
border-radius: 4px
|
||||
&>img
|
||||
width: 2%
|
||||
height: 3%
|
||||
|
||||
.disContent-hide
|
||||
position: absolute
|
||||
width: 100%
|
||||
height: 100%
|
||||
border-radius: 4px
|
||||
background-color: rgba(48, 48, 48, 0.59)
|
||||
display: none
|
||||
top: 0
|
||||
left: 0
|
||||
|
||||
.Delete
|
||||
position: absolute
|
||||
bottom: 14px
|
||||
right: 10px
|
||||
font-size: 16px
|
||||
color: white
|
||||
cursor: pointer
|
||||
|
||||
.editCss
|
||||
.Delete
|
||||
font-size: 16px
|
||||
right: 90px
|
||||
|
||||
.yuLan
|
||||
position: absolute
|
||||
bottom: 23px
|
||||
right: 50px
|
||||
font-size: 16px
|
||||
color: white
|
||||
cursor: pointer
|
||||
|
||||
.yuLanImg
|
||||
position: absolute
|
||||
bottom: 0
|
||||
right: 0
|
||||
width: 100%
|
||||
height: 100%
|
||||
opacity: 0
|
||||
|
||||
.img-div:hover .disContent-hide
|
||||
display: block
|
||||
|
||||
.pitchCss
|
||||
border: 1px solid #202e78
|
||||
transition: all linear 0.1s
|
||||
width: 116px
|
||||
height: 116px
|
||||
</style>
|
|
@ -0,0 +1,339 @@
|
|||
<template>
|
||||
<div class="icons-container">
|
||||
<el-container>
|
||||
<el-main>
|
||||
<el-form label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="相关方">
|
||||
<el-select v-model="searchForm.CORPINFO_ID" filterable clearable placeholder="请选择相关方">
|
||||
<el-option v-for="item in fgsList" :key="item.CORPINFO_ID" :label="item.RELEVANT_UNIT_NAME" :value="item.CORPINFO_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="20px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方名称" />
|
||||
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
|
||||
<el-table-column prop="CONTACT_PERSON" label="主要负责人" />
|
||||
<el-table-column prop="NUM" label="已关联人数" />
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">进入</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<div/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
dayTime: [],
|
||||
dialogFormEdit: false,
|
||||
dialogFormEditState: false,
|
||||
listLoading: true,
|
||||
treeLoading: false,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
ISFLOW: '',
|
||||
DEPART_STATE: '',
|
||||
varList: [],
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogType: 'saveUser',
|
||||
disabledLCSelect: false,
|
||||
displayLCSelect: 'display: block',
|
||||
disabledLCInput: true,
|
||||
displayLCInput: 'display: none',
|
||||
LearnerCategoryList: [],
|
||||
searchForm: {
|
||||
CORPINFO_ID: ''
|
||||
},
|
||||
config: config,
|
||||
dialogVisible: false,
|
||||
roleList: [],
|
||||
postList: [],
|
||||
dialogFormDaoru: false,
|
||||
daoruFrom: {
|
||||
FFILE: '',
|
||||
FFILEName: ''
|
||||
},
|
||||
PARENTID: '0',
|
||||
fgsList: [],
|
||||
datePage: 0,
|
||||
USER_ID: '',
|
||||
LOGIN_USER: JSON.parse(sessionStorage.getItem('user')).USER_ID
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.hasButton()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
goKeyReset() {
|
||||
this.searchForm.FGS_ID = ''
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/corpFgs/corpFgsList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.searchForm,
|
||||
FGS_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.fgsList = data.fgsList
|
||||
console.log(this.varList)
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CORP_FGS_ID
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton() {
|
||||
var keys = 'user:add,user:del,user:edit'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.userfhadminadd
|
||||
this.del = data.userfhadmindel
|
||||
this.edit = data.userfhadminedit
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.$parent.FGS_ID = row.FGS_ID
|
||||
this.$parent.CORPINFO_ID = row.CORPINFO_ID
|
||||
this.$parent.activeName = 'Edit'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.el-dialog__body{
|
||||
padding: 0;
|
||||
background: red;
|
||||
}
|
||||
.mark_up{
|
||||
margin-bottom:20px;
|
||||
margin-left: 110px;
|
||||
}
|
||||
.icons-container {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
|
||||
.grid {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
|
||||
}
|
||||
|
||||
.icon-item {
|
||||
margin-bottom: 10px;
|
||||
height: 70px;
|
||||
text-align: center;
|
||||
width: 100px;
|
||||
float: left;
|
||||
font-size: 24px;
|
||||
color: #24292e;
|
||||
cursor: pointer;
|
||||
span {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.disabled {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
.filter-btn-group{
|
||||
position: relative;
|
||||
}
|
||||
.filter-flot{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
.uploader{
|
||||
width: 570px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.el-form-item__content{
|
||||
line-height: 1;
|
||||
}
|
||||
.uo-flex{
|
||||
display: flex
|
||||
}
|
||||
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.avatar-uploader .el-upload:hover {
|
||||
border-color: #409EFF;
|
||||
}
|
||||
.avatar-uploader-icon {
|
||||
border: 1px dashed #d9d9d9;
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 178px;
|
||||
height: 178px;
|
||||
line-height: 178px;
|
||||
text-align: center;
|
||||
}
|
||||
.avatar {
|
||||
width: 178px;
|
||||
height: 178px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.el-row
|
||||
margin-bottom: 16px
|
||||
&:last-child
|
||||
margin-bottom: 0
|
||||
.form-group
|
||||
display: flex
|
||||
align-items: center
|
||||
margin-right: 20px
|
||||
.form-label
|
||||
padding: 9px 15px
|
||||
font-size: 14px
|
||||
width: 240px
|
||||
font-weight: 400
|
||||
line-height: 20px
|
||||
text-align: right
|
||||
margin-bottom: 0
|
||||
.star
|
||||
color: red
|
||||
padding-right: 4px
|
||||
.input-block
|
||||
flex: 1
|
||||
min-height: 36px
|
||||
position: relative
|
||||
|
||||
.disContent
|
||||
padding: 0 20px
|
||||
display: flex
|
||||
align-items: center
|
||||
flex-wrap: wrap
|
||||
.img-div
|
||||
position: relative
|
||||
margin: auto 10px 10px 10px
|
||||
width: 20px
|
||||
height: 20px
|
||||
border-radius: 4px
|
||||
&>img
|
||||
width: 2%
|
||||
height: 3%
|
||||
|
||||
.disContent-hide
|
||||
position: absolute
|
||||
width: 100%
|
||||
height: 100%
|
||||
border-radius: 4px
|
||||
background-color: rgba(48, 48, 48, 0.59)
|
||||
display: none
|
||||
top: 0
|
||||
left: 0
|
||||
|
||||
.Delete
|
||||
position: absolute
|
||||
bottom: 14px
|
||||
right: 10px
|
||||
font-size: 16px
|
||||
color: white
|
||||
cursor: pointer
|
||||
|
||||
.editCss
|
||||
.Delete
|
||||
font-size: 16px
|
||||
right: 90px
|
||||
|
||||
.yuLan
|
||||
position: absolute
|
||||
bottom: 23px
|
||||
right: 50px
|
||||
font-size: 16px
|
||||
color: white
|
||||
cursor: pointer
|
||||
|
||||
.yuLanImg
|
||||
position: absolute
|
||||
bottom: 0
|
||||
right: 0
|
||||
width: 100%
|
||||
height: 100%
|
||||
opacity: 0
|
||||
|
||||
.img-div:hover .disContent-hide
|
||||
display: block
|
||||
|
||||
.pitchCss
|
||||
border: 1px solid #202e78
|
||||
transition: all linear 0.1s
|
||||
width: 116px
|
||||
height: 116px
|
||||
</style>
|
|
@ -0,0 +1,35 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-show="activeName=='List'" ref="list" />
|
||||
<Edit v-if="activeName=='Edit'" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list'
|
||||
import Edit from './components/edit'
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
Edit: Edit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
FGS_ID: '',
|
||||
CORPINFO_ID: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val == 'List') {
|
||||
this.$refs.list.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
|
@ -48,7 +48,7 @@
|
|||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">修改</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.trainingplan_ID)">删除</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.TRAININGPLAN_ID)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -263,7 +263,7 @@ export default {
|
|||
requestFN(
|
||||
'/trainingplan/delete',
|
||||
{
|
||||
trainingplan_ID: id
|
||||
TRAININGPLAN_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
<el-form-item label="用工形式" prop="EMPLOYMENT_FORM">
|
||||
<Treeselect
|
||||
:options="employmentTypeList"
|
||||
:normalizer="normalizer"
|
||||
:normalizer="SpecialNormalizer"
|
||||
v-model="dataForm.EMPLOYMENT_FORM"
|
||||
placeholder="请选择用工形式"
|
||||
no-options-text="暂无数据"
|
||||
|
@ -288,11 +288,8 @@
|
|||
<div style="flex:1;">
|
||||
<el-autocomplete v-model="addressKeyword" :fetch-suggestions="querySearch" :trigger-on-focus="false" placeholder="请输入详细地址" style="width:100%" @select="handleSelect" />
|
||||
</div>
|
||||
<!-- <el-input v-model="addressKeyword" style="width: 200px" placeholder="请输入内容" />-->
|
||||
<!-- <el-button slot="append" icon="el-icon-search" @click="mapNameChange"/>-->
|
||||
</div>
|
||||
</bm-control>
|
||||
<!-- <bm-local-search :keyword="addressKeyword" :auto-viewport="true"/>-->
|
||||
</baidu-map>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<span>经度:</span>
|
||||
|
@ -300,7 +297,6 @@
|
|||
<span>纬度:</span>
|
||||
<el-input v-model="LATITUDE" style="width: 200px" placeholder="请输入内容" disabled />
|
||||
<el-button @click="dialogFormMap = false">关 闭</el-button>
|
||||
<!-- <el-button type="primary" @click="setPosition">确 定</el-button>-->
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
@ -466,6 +462,13 @@ export default {
|
|||
children: node.nodes
|
||||
}
|
||||
},
|
||||
SpecialNormalizer(node) {
|
||||
return {
|
||||
id: node.BIANMA,
|
||||
label: node.NAME,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
defaultProps: {
|
||||
children: 'nodes',
|
||||
label: 'name',
|
||||
|
|
|
@ -98,17 +98,17 @@
|
|||
<el-table-column :formatter="(row) => formatDictionaryLabel(row, '1')" prop="SELECT_FORM" label="选取形式" />
|
||||
<el-table-column prop="STATE" label="审核状态">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.STATE =='0'">未填报</span>
|
||||
<span v-if="row.STATE =='1'">待审核</span>
|
||||
<span v-if="row.STATE =='2'">已审核</span>
|
||||
<span v-if="row.STATE =='3'">已打回</span>
|
||||
<span v-if="row.STATE =='4'">已填报</span>
|
||||
<span v-if="row.STATE === '0'">未填报</span>
|
||||
<span v-if="row.STATE === '1'">待审核</span>
|
||||
<span v-if="row.STATE === '2'">已审核</span>
|
||||
<span v-if="row.STATE === '3'">已打回</span>
|
||||
<span v-if="row.STATE === '4'">已填报</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="200px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-view" size="mini" @click="goView(row.CORPINFO_ID)">查看</el-button>
|
||||
<el-button v-if="row.STATE == '1'" type="primary" icon="el-icon-s-check" size="mini" @click="handleAudit(row.CORPINFO_ID)">审核</el-button>
|
||||
<el-button v-if="row.STATE === '1'" type="primary" icon="el-icon-s-check" size="mini" @click="handleAudit(row.CORPINFO_ID)">审核</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -216,14 +216,6 @@ export default {
|
|||
dialogType: 'add',
|
||||
employmentList: [],
|
||||
selectList: [],
|
||||
/* employmentList: [
|
||||
{ ID: '0', NAME: '劳务承包' },
|
||||
{ ID: '1', NAME: '劳务派遣' }
|
||||
],
|
||||
selectList: [
|
||||
{ ID: '0', NAME: '招标' },
|
||||
{ ID: '1', NAME: '竞争性谈判' }
|
||||
], */
|
||||
stateList: [
|
||||
{ ID: '0', NAME: '未填报' },
|
||||
{ ID: '1', NAME: '待审核' },
|
||||
|
@ -432,22 +424,6 @@ export default {
|
|||
).then((data) => {
|
||||
this.corpTypeList = data.list
|
||||
})
|
||||
/* requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '688d2cf1c6cd4dab999a0106e09aec83'
|
||||
}
|
||||
).then((data) => {
|
||||
this.ecnomicTypeList = data.list
|
||||
}) */
|
||||
/* requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '37b045e160c04ddba851073b4e510cc9'
|
||||
}
|
||||
).then((data) => {
|
||||
this.enterpriseSizeList = data.list
|
||||
}) */
|
||||
},
|
||||
resetForm() {
|
||||
this.form = {
|
||||
|
|
|
@ -20,13 +20,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6">-->
|
||||
<!-- <el-form-item label="申请状态">-->
|
||||
<!-- <el-select v-model="AUDIT_STATUS" placeholder="请选择申请状态" clearable >-->
|
||||
<!-- <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
|
@ -65,7 +58,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-if="(row.AUDIT_STATUS === 1 || row.AUDIT_STATUS === 0 ) && (row.MANAGER_USER_ID == USER_ID && row.managerCount != row.USER_COUNT ) || (row.TERRITORIALITY_USER_ID == USER_ID && row.territorialityCount != row.USER_COUNT ) " type="success" icon="el-icon-edit" size="mini" @click="handleAudit(row.TRAININGBATCH_ID)">审核</el-button>
|
||||
<el-button v-if="(row.AUDIT_STATUS === 1 || row.AUDIT_STATUS === 0 ) && (row.MANAGER_USER_ID === USER_ID && row.managerCount !== row.USER_COUNT ) || (row.TERRITORIALITY_USER_ID === USER_ID && row.territorialityCount !== row.USER_COUNT ) " type="success" icon="el-icon-edit" size="mini" @click="handleAudit(row.TRAININGBATCH_ID)">审核</el-button>
|
||||
<el-button v-else type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row.TRAININGBATCH_ID)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
@ -9,12 +9,6 @@
|
|||
width="60%">
|
||||
<div class="level-title mt-20" style="display: flex;justify-content: space-between;">
|
||||
<h1>申请信息</h1>
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 0">股份公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 1">分公司待审核</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 2">培训中</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === 3">培训完成</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -1">股份公司审核未通过</span>-->
|
||||
<!-- <span v-if="pd.AUDIT_STATUS === -2">分公司审核未通过</span>-->
|
||||
</div>
|
||||
<table class="table-ui" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
|
@ -30,7 +24,7 @@
|
|||
<th>安全监督部门</th>
|
||||
<td>{{ pd.SUPERVISION_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.SUPERVISION_USER_USERNAME }}</td>
|
||||
<td>{{ pd.SUPERVISION_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.SUPERVISION_TIME }}</td>
|
||||
</tr>
|
||||
|
@ -38,15 +32,15 @@
|
|||
<th>主管部门</th>
|
||||
<td>{{ pd.MANAGER_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.MANAGER_USER_USERNAME }}</td>
|
||||
<td>{{ pd.MANAGER_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.MANAGER_TIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>管理部门</th>
|
||||
<th>集团单位</th>
|
||||
<td>{{ pd.ERRITORIALITY_DEPT_NAME }}</td>
|
||||
<th>审核人员</th>
|
||||
<td>{{ pd.ERRITORIALITY_USER_USERNAME }}</td>
|
||||
<td>{{ pd.ERRITORIALITY_USER_NAME }}</td>
|
||||
<th>审核时间</th>
|
||||
<td>{{ pd.TERRITORIALITY_TIME }}</td>
|
||||
</tr>
|
||||
|
@ -59,33 +53,47 @@
|
|||
<div class="level-title">
|
||||
<h1>申请人员列表</h1>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="userList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="USERNAME" label="用户名" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门" />
|
||||
<el-table-column prop="STATUS" label="评审状态" >
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="userList"
|
||||
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="USERNAME" label="用户名"/>
|
||||
<el-table-column prop="NAME" label="姓名"/>
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门"/>
|
||||
<el-table-column prop="STATUS" label="评审状态">
|
||||
<template slot-scope="{row}">
|
||||
<span >{{ getType(row) }}</span>
|
||||
<span>{{ getType(row) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="240">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)">查看</el-button> <el-button
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)">查看</el-button>
|
||||
<el-button
|
||||
v-if="row.STATUS === 2 && row.TRAIN_STATUS === '1' && row.SUPERVISION_STATE == 1 && row.MANAGER_STATE == 1 && row.TERRITORIALITY_STATE==1"
|
||||
type="success"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
@click="getUserInfo(row)">电子合格证
|
||||
</el-button>
|
||||
<el-button v-if="(row.STATUS === 0 || row.STATUS === 1) && viewState ==='1' && ((row.MANAGER_USER_ID == USER_ID && row.MANAGER_STATE === 9 ) || (row.TERRITORIALITY_USER_ID == USER_ID && row.TERRITORIALITY_STATE === 9)) && row.SUPERVISION_STATE != 0 && row.MANAGER_STATE != 0 && row.TERRITORIALITY_STATE != 0" type="success" icon="el-icon-edit" size="mini" @click="examineShow(row)">审核</el-button>
|
||||
<el-button
|
||||
v-if="(row.STATUS === 0 || row.STATUS === 1) && viewState ==='1' && ((row.MANAGER_USER_ID === USER_ID && row.MANAGER_STATE === 9 && row.STEP_STATUS === '1' ) || (row.TERRITORIALITY_USER_ID === USER_ID && row.TERRITORIALITY_STATE === 9 && (row.STEP_STATUS === '0' || !row.STEP_STATUS))) && row.SUPERVISION_STATE != 0 && row.MANAGER_STATE != 0 && row.TERRITORIALITY_STATE != 0"
|
||||
type="success"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
@click="examineShow(row)">审核
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getUserList" />
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getUserList"/>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="closeWindow">关 闭</el-button>
|
||||
|
@ -150,7 +158,7 @@
|
|||
|
||||
<tr>
|
||||
<th>民族</th>
|
||||
<td>{{ userDetailForm.minzuName? userDetailForm.minzuName:'暂无信息' }}</td>
|
||||
<td>{{ userDetailForm.minzuName ? userDetailForm.minzuName : '暂无信息' }}</td>
|
||||
<th>婚姻状况</th>
|
||||
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
|
||||
<th>政治面貌</th>
|
||||
|
@ -162,17 +170,15 @@
|
|||
|
||||
<tr>
|
||||
<th>户口所在地</th>
|
||||
<td>{{ userDetailForm.HKLOCAL? userDetailForm.HKLOCAL:'暂无信息' }}</td>
|
||||
<td>{{ userDetailForm.HKLOCAL ? userDetailForm.HKLOCAL : '暂无信息' }}</td>
|
||||
<th>现住址</th>
|
||||
<td>{{ userDetailForm.ADDRESS? userDetailForm.ADDRESS:'暂无信息' }}</td>
|
||||
<td>{{ userDetailForm.ADDRESS ? userDetailForm.ADDRESS : '暂无信息' }}</td>
|
||||
<th>联系电话</th>
|
||||
<td>{{ userDetailForm.PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>文化程度</th>
|
||||
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
|
||||
<!-- <th>本企业从业开始日期</th>-->
|
||||
<!-- <td>{{ userDetailForm.CORP_START_DATE }}</td>-->
|
||||
<th>岗位名称(工种)</th>
|
||||
<td colspan="3">{{ userDetailForm.POST_ID }}</td>
|
||||
</tr>
|
||||
|
@ -200,7 +206,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>是否参加三级安全培训</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
|
||||
<td>{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
|
||||
<th v-if="userDetailForm.IS_LEVEL_THREE == 1">三级安全培训照片</th>
|
||||
<td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
|
||||
<span>
|
||||
|
@ -220,18 +226,18 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>是否缴纳保险</th>
|
||||
<td >{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
|
||||
<td>{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
|
||||
<th>是否特殊工种</th>
|
||||
<td >{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
|
||||
<td>{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
|
||||
<th>是否流动人员</th>
|
||||
<td >{{ formatLabel(userDetailForm.ISFLOW) }}</td>
|
||||
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
|
||||
<h1>特种作业人员信息</h1>
|
||||
</div>
|
||||
<table v-for="(item,index) in specialUsersList" :key="index" class="table-ui" style="margin-bottom: 20px;" >
|
||||
<table v-for="(item,index) in specialUsersList" :key="index" class="table-ui" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
<th style="width: 150px">证书名称</th>
|
||||
<td style="width: 150px">{{ item.CERTIFICATE }}</td>
|
||||
|
@ -251,9 +257,6 @@
|
|||
<td>{{ item.REVIEW_TIME }}</td>
|
||||
<th>有效期</th>
|
||||
<td colspan="3">{{ item.VALIDITY_TIME_START }} 至 {{ item.VALIDITY_TIME_END }}</td>
|
||||
|
||||
<!-- <!– <td v-if="!userEntryForm.TRAIN_AREA">暂无</td>–>-->
|
||||
<!-- <!– <td v-else style="color: #04a9f5; cursor: pointer" @click="showQRCode(userEntryForm.USER_ID)">查看</td>–>-->
|
||||
</tr>
|
||||
</table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -270,7 +273,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.IS_STATE===0" required label="审批意见">
|
||||
<el-input v-model="form.OPINION" placeholder="这里输入审批意见..." />
|
||||
<el-input v-model="form.OPINION" placeholder="这里输入审批意见..."/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
@ -423,6 +426,7 @@ export default {
|
|||
this.form.USER_COUNT = this.pd.USER_COUNT
|
||||
this.form.type = '2'
|
||||
this.form.USER_ID = row.USER_ID
|
||||
this.form.STEP_STATUS = row.STEP_STATUS
|
||||
this.dialogVisible = true
|
||||
},
|
||||
// 提交审批意见
|
||||
|
@ -438,7 +442,6 @@ export default {
|
|||
return
|
||||
}
|
||||
}
|
||||
|
||||
requestFN(
|
||||
'/flowTrain/approveUser', { ...this.form }
|
||||
).then((data) => {
|
||||
|
@ -524,6 +527,11 @@ export default {
|
|||
!(row.SUPERVISION_STATE === 0 || row.MANAGER_STATE === 0 || row.TERRITORIALITY_STATE === 0)) {
|
||||
return '评审中'
|
||||
}
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (row.STEP_STATUS === '3') {
|
||||
return 'warning-row'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,37 +1,82 @@
|
|||
<template>
|
||||
<div class="reform-bg">
|
||||
<div class="reform-warp">
|
||||
<div class="reform-content" style="padding: 60px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主管部门" prop="MAIN_DEPARTMENT">
|
||||
<SelectTree
|
||||
ref="treeSelect"
|
||||
:clearable="false"
|
||||
:options="treeData"
|
||||
:props="defaultProps"
|
||||
:node-key="'id'"
|
||||
v-model="form.MAIN_DEPARTMENT"
|
||||
placeholder="请选择主管部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开户人" prop="CREATOR">
|
||||
<el-input id="CREATOR" ref="CREATOR" v-model="CREATOR_NAME" maxlength="50" placeholder="开户人" title="开户人" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="reform-content" style="padding: 10px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="相关方单位名称" prop="RELEVANT_UNIT_NAME">
|
||||
<el-input id="RELEVANT_UNIT_NAME" ref="RELEVANT_UNIT_NAME" v-model="form.RELEVANT_UNIT_NAME" maxlength="255" placeholder="这里输入相关方单位名称..." title="相关方单位名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="SOCIAL_CODE">
|
||||
<el-input id="SOCIAL_CODE" ref="SOCIAL_CODE" v-model="form.SOCIAL_CODE" maxlength="255" placeholder="这里输入统一社会信用代码..." title="统一社会信用代码"/>
|
||||
<el-form-item label="股份监管部门" prop="MANAGER_DEPARTMENT_ID">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizergfjg"
|
||||
:flat="true"
|
||||
:default-expand-level="0"
|
||||
:props="defaultProps"
|
||||
v-model="form.MANAGER_DEPARTMENT_ID"
|
||||
multiple
|
||||
placeholder="请选择部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="基层单位监管部门" prop="COMPETENT_DEPT_ID">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizergfjg"
|
||||
:flat="true"
|
||||
:default-expand-level="0"
|
||||
:props="defaultProps"
|
||||
v-model="form.COMPETENT_DEPT_ID"
|
||||
multiple
|
||||
placeholder="请选择基层单位监管部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="股份主管部门" prop="MAIN_DEPARTMENT">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.MAIN_DEPARTMENT"
|
||||
placeholder="请选择部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="基层单位主管部门" prop="SUPERVISE_DEPARTMENT_ID">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.SUPERVISE_DEPARTMENT_ID"
|
||||
placeholder="请选择基层单位主管部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
@select="selectValue"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开户人" prop="CREATOR">
|
||||
<el-input id="CREATOR" ref="CREATOR" v-model="CREATOR_NAME" maxlength="50" placeholder="开户人" title="开户人" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -51,12 +96,17 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="集团单位" prop="INDUSTRY">
|
||||
<el-form-item label="集团单位" prop="CORP_TYPE">
|
||||
<el-select v-model="form.CORP_TYPE" style="width: 100%">
|
||||
<el-option v-for="item in corpTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="SOCIAL_CODE">
|
||||
<el-input id="SOCIAL_CODE" ref="SOCIAL_CODE" v-model="form.SOCIAL_CODE" maxlength="255" placeholder="这里输入统一社会信用代码..." title="统一社会信用代码"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
@ -104,22 +154,24 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用工形式" prop="EMPLOYMENT_FORM">
|
||||
<el-select v-model="form.EMPLOYMENT_FORM" style="width: 100%;">
|
||||
<el-option v-for="item in employmentTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA" />
|
||||
</el-select>
|
||||
<Treeselect
|
||||
:options="employmentTypeList"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.EMPLOYMENT_FORM"
|
||||
placeholder="请选择用工形式"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="选取形式" prop="SELECT_FORM">
|
||||
<el-select v-model="form.SELECT_FORM" style="width: 100%;">
|
||||
<el-form-item label="选取形式" prop="SELECT_FORMS">
|
||||
<el-select v-model="form.SELECT_FORMS" multiple style="width: 100%;">
|
||||
<el-option v-for="item in selectFormList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="流动人员比例(%)" prop="FLOATING_PERCENT">
|
||||
<el-input id="FLOATING_PERCENT" ref="FLOATING_PERCENT" v-model="form.FLOATING_PERCENT" maxlength="255" placeholder="这里输入流动人员比例..." title="流动人员比例"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="text-align: center">
|
||||
<el-button :loading="submitButtonLoading" type="primary" @click="submitForm">提交</el-button>
|
||||
|
@ -142,11 +194,8 @@
|
|||
<div style="flex:1;">
|
||||
<el-autocomplete v-model="addressKeyword" :fetch-suggestions="querySearch" :trigger-on-focus="false" placeholder="请输入详细地址" style="width:100%" @select="handleSelect" />
|
||||
</div>
|
||||
<!-- <el-input v-model="addressKeyword" style="width: 200px" placeholder="请输入内容" />-->
|
||||
<!-- <el-button slot="append" icon="el-icon-search" @click="mapNameChange"/>-->
|
||||
</div>
|
||||
</bm-control>
|
||||
<!-- <bm-local-search :keyword="addressKeyword" :auto-viewport="true"/>-->
|
||||
</baidu-map>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<span>经度:</span>
|
||||
|
@ -167,14 +216,13 @@ import waves from '@/directive/waves' // waves directive
|
|||
import { requestFN } from '@/utils/request'
|
||||
import DeptSelectTree from '@/components/DeptSelectTree'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
// import fa from 'element-ui/src/locale/lang/fa'
|
||||
// import { upload } from '@/utils/upload'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
|
||||
export default {
|
||||
components: { Pagination, DeptSelectTree, SelectTree },
|
||||
components: { Pagination, DeptSelectTree, SelectTree, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
var hasName = (rule, value, callback) => {
|
||||
const hasName = (rule, value, callback) => {
|
||||
requestFN(
|
||||
'/relevantunits/hasName',
|
||||
{
|
||||
|
@ -191,23 +239,6 @@ export default {
|
|||
callback()
|
||||
})
|
||||
}
|
||||
// var hasSocialCode = (rule, value, callback) => {
|
||||
// requestFN(
|
||||
// '/relevantunits/hasSocialCode',
|
||||
// {
|
||||
// SOCIAL_CODE: value,
|
||||
// CORPINFO_ID: ''
|
||||
//
|
||||
// }
|
||||
// ).then((data) => {
|
||||
// if (data.pd) {
|
||||
// callback(new Error('统一社会信用代码重复'))
|
||||
// }
|
||||
// callback()
|
||||
// }).catch((e) => {
|
||||
// callback()
|
||||
// })
|
||||
// }
|
||||
return {
|
||||
submitButtonLoading: false,
|
||||
dialogFormMap: false,
|
||||
|
@ -221,6 +252,21 @@ export default {
|
|||
LONGITUDE: '',
|
||||
LATITUDE: '',
|
||||
treeData: [],
|
||||
normalizergfjg(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes,
|
||||
isDisabled: node.pId === '0'
|
||||
}
|
||||
},
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
areaList: [],
|
||||
industryProps: {
|
||||
lazy: true,
|
||||
|
@ -261,10 +307,15 @@ export default {
|
|||
checkStrictly: true
|
||||
},
|
||||
CREATOR_NAME: JSON.parse(sessionStorage.getItem('user')).NAME,
|
||||
treeDataSupervise: [],
|
||||
form: {
|
||||
CREATOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
OPERATOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
MAIN_DEPARTMENT: '',
|
||||
MAIN_DEPARTMENT: null,
|
||||
MANAGER_DEPARTMENT_ID: null, // 股份监管部门
|
||||
COMPETENT_DEPT_ID: null, // 基层单位监管部门
|
||||
SUPERVISE_DEPARTMENT_ID: null,
|
||||
SUPERVISE_CORPINFO_ID: '',
|
||||
RELEVANT_UNIT_NAME: '',
|
||||
SOCIAL_CODE: '',
|
||||
LOCAL: '',
|
||||
|
@ -275,8 +326,9 @@ export default {
|
|||
LEGAL_PERSON: '',
|
||||
CONTACT_PERSON: '',
|
||||
CONTACT_TEL: '',
|
||||
EMPLOYMENT_FORM: '',
|
||||
EMPLOYMENT_FORM: null,
|
||||
SELECT_FORM: '',
|
||||
SELECT_FORMS: [],
|
||||
FLOATING_PERCENT: '',
|
||||
COMPANY_AREA: '',
|
||||
POSSESSION: [],
|
||||
|
@ -296,57 +348,31 @@ export default {
|
|||
corpTypeList: [], // 集团单位
|
||||
rules: {
|
||||
MAIN_DEPARTMENT: [{ required: true, message: '请选择主管部门', trigger: 'blur' }],
|
||||
INDUSTRY: [{ required: false, message: '请选择所属行业', trigger: 'blur' }],
|
||||
CORP_TYPE: [{ required: true, message: '请选择集团单位', trigger: 'blur' }],
|
||||
RELEVANT_UNIT_NAME: [
|
||||
{ required: true, message: '相关方单位名称不能为空', trigger: 'blur' },
|
||||
{ validator: hasName, trigger: 'blur' }
|
||||
],
|
||||
CONTACT_TEL: [
|
||||
{ min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '请输入正确的手机号码'
|
||||
}
|
||||
]
|
||||
// SOCIAL_CODE: [
|
||||
// { required: false, message: '统一社会信用代码不能为空', trigger: 'blur' },
|
||||
// {
|
||||
// pattern: /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/,
|
||||
// message: '请输入正确的统一社会信用代码'
|
||||
// },
|
||||
// { validator: hasSocialCode, trigger: 'blur' }
|
||||
// ],
|
||||
// // LOCAL: [{ required: true, message: '请选择属地', trigger: 'blur' }],
|
||||
// // INDUSTRY: [{ required: true, message: '请选择所属行业', trigger: 'blur' }],
|
||||
// BUSINESS_ADDRESS: [{ required: false, message: '企事业单位经营地址不能为空', trigger: 'blur' }],
|
||||
// LONGITUDE: [{ required: false, message: '请选择经度', trigger: 'blur' }],
|
||||
// LATITUDE: [{ required: false, message: '请选择纬度', trigger: 'blur' }],
|
||||
// LEGAL_PERSON: [{ required: false, message: '法人不能为空', trigger: 'blur' }],
|
||||
// CONTACT_PERSON: [{ required: false, message: '联系人不能为空', trigger: 'blur' }],
|
||||
// CONTACT_TEL: [
|
||||
// { required: false, message: '联系电话不能为空', trigger: 'blur' },
|
||||
// { min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
|
||||
// {
|
||||
// pattern: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
|
||||
// message: '请输入正确的手机号码'
|
||||
// }
|
||||
// ],
|
||||
// EMPLOYMENT_FORM: [{ required: false, message: '用工形式不能为空', trigger: 'blur' }],
|
||||
// SELECT_FORM: [{ required: false, message: '选取形式不能为空', trigger: 'blur' }],
|
||||
// POSSESSION: [{ required: false, message: '属地不能为空', trigger: 'blur' }],
|
||||
// FLOATING_PERCENT: [
|
||||
// { required: false, message: '流动人员比例不能为空', trigger: 'blur' },
|
||||
// { min: 1, max: 3, message: '请输入1-100的数字', trigger: 'blur' },
|
||||
// {
|
||||
// pattern: /^(([1-9][0-9]?)([.,][0-9]{0,2})?|100([.,]0{1,2})?)$/,
|
||||
// message: '请输入1-100的数字'
|
||||
// }
|
||||
// ]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.listLoading = false
|
||||
// this.getList()
|
||||
this.getDict()
|
||||
this.getTreeList()
|
||||
},
|
||||
mounted() {
|
||||
// this.getNextTickData()
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
selectValue(value, node, extra) {
|
||||
this.form.SUPERVISE_CORPINFO_ID = value.CORPINFO_ID
|
||||
},
|
||||
async getAreaDict(DICTIONARIES_ID) {
|
||||
const { list } = await requestFN(
|
||||
'/xgf/dictionaries/getAreaLevels',
|
||||
|
@ -357,16 +383,13 @@ export default {
|
|||
return list
|
||||
},
|
||||
cascaderChange(e) {
|
||||
// console.log('e', e)
|
||||
const newVal = e[e.length - 1]
|
||||
// console.log('选中', newVal[newVal.length - 1])
|
||||
if (newVal === '1' || newVal === '2' || newVal === '3' || newVal === '4') {
|
||||
this.$message({
|
||||
message: '请选择正确的属地...',
|
||||
type: 'error'
|
||||
})
|
||||
this.form.POSSESSION.pop()
|
||||
// console.log('移除', this.corpStateForm.REGULATORY_DEPARTMENT_ARR)
|
||||
}
|
||||
},
|
||||
// 加载级联的方法
|
||||
|
@ -390,10 +413,11 @@ export default {
|
|||
},
|
||||
getTreeList() {
|
||||
requestFN(
|
||||
'/department/listTree/',
|
||||
'/department/listTreeManageAndCorp1/',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeData = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
|
@ -412,21 +436,21 @@ export default {
|
|||
this.form.CITY = this.form.POSSESSION[1] || ''
|
||||
this.form.COUNTY = this.form.POSSESSION[2] || ''
|
||||
this.form.VILLAGE = this.form.POSSESSION[3] || ''
|
||||
// this.form.STREET = this.form.POSSESSION[4] || ''
|
||||
this.form.COMPANY_AREA = this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels ? this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels.join(',') : ''
|
||||
}
|
||||
/* if (this.form.INDUSTRYALL && this.form.INDUSTRYALL.length > 0) {
|
||||
this.form.CORP_TYPE = this.form.INDUSTRYALL[0] || ''
|
||||
this.form.CORP_TYPE2 = this.form.INDUSTRYALL[1] || ''
|
||||
this.form.CORP_TYPE3 = this.form.INDUSTRYALL[2] || ''
|
||||
this.form.CORP_TYPE4 = this.form.INDUSTRYALL[3] || ''
|
||||
this.form.CORP_TYPE_NAME = this.$refs.industryCascader.getCheckedNodes()[0].pathLabels ? this.$refs.industryCascader.getCheckedNodes()[0].pathLabels.join('/') : ''
|
||||
} */
|
||||
this.form.SELECT_FORM = this.form.SELECT_FORMS.join(',')
|
||||
this.form.SELECT_FORM = this.form.SELECT_FORMS.join(',')
|
||||
if (this.form.COMPETENT_DEPT_ID) {
|
||||
this.form.COMPETENT_DEPT_ID = this.form.COMPETENT_DEPT_ID.join(',')
|
||||
}
|
||||
if (this.form.MANAGER_DEPARTMENT_ID) {
|
||||
this.form.MANAGER_DEPARTMENT_ID = this.form.MANAGER_DEPARTMENT_ID.join(',')
|
||||
}
|
||||
requestFN(
|
||||
'/relevantunits/saveCorpInfo',
|
||||
this.form
|
||||
).then((data) => {
|
||||
if (data.result == 'exist') {
|
||||
if (data.result === 'exist') {
|
||||
this.$message({
|
||||
message: '用户名已存在,请重新填写...',
|
||||
type: 'error'
|
||||
|
@ -440,7 +464,6 @@ export default {
|
|||
this.$parent.activeName = 'CorpInfoList'
|
||||
}
|
||||
this.listLoading = false
|
||||
// this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
|
@ -455,12 +478,21 @@ export default {
|
|||
// 获取数据字典数据
|
||||
getDict: function() {
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
'/department/listTree/', {}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataSupervise = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
|
||||
requestFN(
|
||||
'/xgf/dictionaries/listSelectTree',
|
||||
{
|
||||
DICTIONARIES_ID: '720992d898bf4fd7b44bf0ba1f1bbb88'
|
||||
}
|
||||
).then((data) => {
|
||||
this.employmentTypeList = data.list
|
||||
const employmentTypeList = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.employmentTypeList = this.removeEmptyChildren(employmentTypeList)
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
|
@ -591,8 +623,6 @@ export default {
|
|||
setTimeout(() => {
|
||||
map.centerAndZoom(point, zoom)
|
||||
}, 0)
|
||||
// var marker = new BMap.Marker(point) // 创建标注
|
||||
// map.addOverlay(marker) // 将标注添加到地图中
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,51 @@
|
|||
<div class="reform-warp">
|
||||
<div class="reform-content" style="padding: 20px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px">
|
||||
<el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主管部门" prop="MAIN_DEPARTMENT">
|
||||
<el-form-item label="相关方单位名称" prop="RELEVANT_UNIT_NAME">
|
||||
<el-input id="RELEVANT_UNIT_NAME" ref="RELEVANT_UNIT_NAME" v-model="form.RELEVANT_UNIT_NAME" maxlength="255" placeholder="这里输入相关方单位名称..." title="相关方单位名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="股份监管部门" prop="MANAGER_DEPARTMENT_ID">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizergfjg"
|
||||
:flat="true"
|
||||
:default-expand-level="0"
|
||||
:props="defaultProps"
|
||||
v-model="form.MANAGER_DEPARTMENT_ID"
|
||||
multiple
|
||||
placeholder="请选择部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="基层单位监管部门" prop="COMPETENT_DEPT_ID">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizergfjg"
|
||||
:flat="true"
|
||||
:default-expand-level="0"
|
||||
:props="defaultProps"
|
||||
v-model="form.COMPETENT_DEPT_ID"
|
||||
multiple
|
||||
placeholder="请选择基层单位监管部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="股份主管部门" prop="MAIN_DEPARTMENT">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
|
@ -17,25 +59,28 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="基层单位主管部门" prop="SUPERVISE_DEPARTMENT_ID">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.SUPERVISE_DEPARTMENT_ID"
|
||||
placeholder="请选择基层单位主管部门"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
@select="selectValue"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开户人" prop="CREATOR">
|
||||
<el-input id="CREATOR" ref="CREATOR" v-model="CREATOR_NAME" maxlength="50" placeholder="开户人" title="开户人" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="相关方单位名称" prop="RELEVANT_UNIT_NAME">
|
||||
<el-input id="RELEVANT_UNIT_NAME" ref="RELEVANT_UNIT_NAME" v-model="form.RELEVANT_UNIT_NAME" maxlength="255" placeholder="这里输入相关方单位名称..." title="相关方单位名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="SOCIAL_CODE">
|
||||
<el-input id="SOCIAL_CODE" ref="SOCIAL_CODE" v-model="form.SOCIAL_CODE" maxlength="255" placeholder="这里输入统一社会信用代码..." title="统一社会信用代码"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="属地" prop="POSSESSION">
|
||||
<el-cascader id="POSSESSION" ref="POSSESSION" v-model="form.POSSESSION" :options="areaList" :props="areaProps" :placeholder="form.COMPANY_AREA" style="width: 100%" @change="cascaderChange"/>
|
||||
|
@ -49,16 +94,21 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="集团单位" prop="INDUSTRY">
|
||||
<el-form-item label="集团单位" prop="CORP_TYPE">
|
||||
<el-select v-model="form.CORP_TYPE" style="width: 100%">
|
||||
<el-option v-for="item in corpTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="SOCIAL_CODE">
|
||||
<el-input id="SOCIAL_CODE" ref="SOCIAL_CODE" v-model="form.SOCIAL_CODE" maxlength="255" placeholder="这里输入统一社会信用代码..." title="统一社会信用代码"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="经度" prop="LONGITUDE">
|
||||
<el-input v-model="form.LONGITUDE" placeholder="请输入内容" disabled @focus="handleMap" />
|
||||
|
@ -77,7 +127,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="企事业单位经营地址" prop="BUSINESS_ADDRESS">
|
||||
<el-input id="BUSINESS_ADDRESS" ref="BUSINESS_ADDRESS" v-model="form.BUSINESS_ADDRESS" maxlength="255" placeholder="这里输入企事业单位经营地址..." title="企事业单位经营地址"/>
|
||||
|
@ -89,7 +139,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人" prop="CONTACT_PERSON">
|
||||
<el-input id="CONTACT_PERSON" ref="CONTACT_PERSON" v-model="form.CONTACT_PERSON" maxlength="255" placeholder="这里输入联系人..." title="联系人"/>
|
||||
|
@ -101,25 +151,33 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用工形式" prop="EMPLOYMENT_FORM">
|
||||
<el-select v-model="form.EMPLOYMENT_FORM" style="width: 100%;">
|
||||
<el-option v-for="item in employmentTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA" />
|
||||
</el-select>
|
||||
<!-- <el-select v-model="form.EMPLOYMENT_FORM" style="width: 100%;">-->
|
||||
<!-- <el-option v-for="item in employmentTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA" />-->
|
||||
<!-- </el-select>-->
|
||||
<Treeselect
|
||||
:options="employmentTypeList"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.EMPLOYMENT_FORM"
|
||||
placeholder="请选择用工形式"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="选取形式" prop="SELECT_FORM">
|
||||
<el-select v-model="form.SELECT_FORM" style="width: 100%;">
|
||||
<el-form-item label="选取形式" prop="SELECT_FORMS">
|
||||
<el-select v-model="form.SELECT_FORMS" multiple style="width: 100%;">
|
||||
<el-option v-for="item in selectFormList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="流动人员比例(%)" prop="FLOATING_PERCENT">
|
||||
<!--<el-form-item label="流动人员比例(%)" prop="FLOATING_PERCENT">
|
||||
<el-input id="FLOATING_PERCENT" ref="FLOATING_PERCENT" v-model="form.FLOATING_PERCENT" maxlength="255" placeholder="这里输入流动人员比例..." title="流动人员比例"/>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
</el-form>
|
||||
<div style="text-align: center">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">保存</el-button>
|
||||
|
@ -252,6 +310,14 @@ export default {
|
|||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
normalizergfjg(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes,
|
||||
isDisabled: node.pId === '0'
|
||||
}
|
||||
},
|
||||
areaProps: {
|
||||
lazy: true,
|
||||
lazyLoad: async(node, resolve) => {
|
||||
|
@ -277,9 +343,14 @@ export default {
|
|||
checkStrictly: true
|
||||
},
|
||||
CREATOR_NAME: JSON.parse(sessionStorage.getItem('user')).NAME,
|
||||
treeDataSupervise: [],
|
||||
form: {
|
||||
CREATOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
OPERATOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
SUPERVISE_DEPARTMENT_ID: null,
|
||||
COMPETENT_DEPT_ID: null,
|
||||
MANAGER_DEPARTMENT_ID: null,
|
||||
SUPERVISE_CORPINFO_ID: '',
|
||||
MAIN_DEPARTMENT: '',
|
||||
RELEVANT_UNIT_NAME: '',
|
||||
SOCIAL_CODE: '',
|
||||
|
@ -291,8 +362,10 @@ export default {
|
|||
LEGAL_PERSON: '',
|
||||
CONTACT_PERSON: '',
|
||||
CONTACT_TEL: '',
|
||||
EMPLOYMENT_FORM: '',
|
||||
EMPLOYMENT_FORM: null,
|
||||
CORP_TYPE: '',
|
||||
SELECT_FORM: '',
|
||||
SELECT_FORMS: [],
|
||||
FLOATING_PERCENT: '',
|
||||
COMPANY_AREA: '',
|
||||
POSSESSION: [],
|
||||
|
@ -312,6 +385,7 @@ export default {
|
|||
corpTypeList: [], // 行业类型
|
||||
rules: {
|
||||
MAIN_DEPARTMENT: [{ required: true, message: '请选择主管部门', trigger: 'blur' }],
|
||||
CORP_TYPE: [{ required: true, message: '请选择集团单位', trigger: 'blur' }],
|
||||
RELEVANT_UNIT_NAME: [
|
||||
{ required: true, message: '相关方单位名称不能为空', trigger: 'blur' },
|
||||
{ validator: hasName, trigger: 'blur' }
|
||||
|
@ -340,7 +414,6 @@ export default {
|
|||
}
|
||||
],
|
||||
EMPLOYMENT_FORM: [{ required: false, message: '用工形式不能为空', trigger: 'blur' }],
|
||||
SELECT_FORM: [{ required: false, message: '选取形式不能为空', trigger: 'blur' }],
|
||||
POSSESSION: [{ required: false, message: '属地不能为空', trigger: 'blur' }],
|
||||
FLOATING_PERCENT: [
|
||||
{ required: false, message: '流动人员比例不能为空', trigger: 'blur' },
|
||||
|
@ -353,17 +426,18 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// this.listLoading = false
|
||||
// this.getList()
|
||||
this.getData()
|
||||
this.getDict()
|
||||
this.getTreeList()
|
||||
async created() {
|
||||
await this.getDict()
|
||||
await this.getTreeList()
|
||||
await this.getData()
|
||||
},
|
||||
mounted() {
|
||||
// this.getNextTickData()
|
||||
},
|
||||
methods: {
|
||||
selectValue(value, node, extra) {
|
||||
this.form.SUPERVISE_CORPINFO_ID = value.CORPINFO_ID
|
||||
},
|
||||
async getAreaDict(DICTIONARIES_ID) {
|
||||
const { list } = await requestFN(
|
||||
'/xgf/dictionaries/getAreaLevels',
|
||||
|
@ -374,16 +448,13 @@ export default {
|
|||
return list
|
||||
},
|
||||
cascaderChange(e) {
|
||||
// console.log('e', e)
|
||||
const newVal = e[e.length - 1]
|
||||
// console.log('选中', newVal[newVal.length - 1])
|
||||
if (newVal === '1' || newVal === '2' || newVal === '3' || newVal === '4') {
|
||||
this.$message({
|
||||
message: '请选择正确的属地...',
|
||||
type: 'error'
|
||||
})
|
||||
this.form.POSSESSION.pop()
|
||||
// console.log('移除', this.corpStateForm.REGULATORY_DEPARTMENT_ARR)
|
||||
}
|
||||
},
|
||||
// 加载级联的方法
|
||||
|
@ -399,13 +470,26 @@ export default {
|
|||
getData() {
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/xgf/corp/getCorpInfoDetail',
|
||||
'/relevantunits/getCorpInfoDetail',
|
||||
{
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
this.form = Object.assign(this.form, data.pd)
|
||||
var sz = this.form.SELECT_FORM
|
||||
var cdi = this.form.COMPETENT_DEPT_ID
|
||||
var mdi = this.form.MANAGER_DEPARTMENT_ID
|
||||
|
||||
this.form.SELECT_FORMS = sz.split(',')
|
||||
if (cdi) {
|
||||
this.form.COMPETENT_DEPT_ID = cdi.split(',')
|
||||
}
|
||||
if (mdi) {
|
||||
this.form.MANAGER_DEPARTMENT_ID = mdi.split(',')
|
||||
}
|
||||
if (!this.form.EMPLOYMENT_FORM) this.form.EMPLOYMENT_FORM = null
|
||||
if (!this.form.SUPERVISE_DEPARTMENT_ID) this.form.SUPERVISE_DEPARTMENT_ID = null
|
||||
this.form.POSSESSION = []
|
||||
if (data.pd.PROVINCE != '') this.form.POSSESSION.push(data.pd.PROVINCE)
|
||||
if (data.pd.CITY != '') this.form.POSSESSION.push(data.pd.CITY)
|
||||
|
@ -433,12 +517,16 @@ export default {
|
|||
this.LONGITUDE = this.form.LONGITUDE
|
||||
},
|
||||
getTreeList() {
|
||||
requestFN(
|
||||
'/department/listTree/',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
requestFN(
|
||||
'/department/listTreeManageAndCorp1/',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeData = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
filterNode(value, data) {
|
||||
|
@ -459,6 +547,14 @@ export default {
|
|||
// this.form.STREET = this.form.POSSESSION[4] || ''
|
||||
// this.form.COMPANY_AREA = this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels ? this.$refs.POSSESSION.getCheckedNodes()[0].pathLabels.join(',') : ''
|
||||
}
|
||||
// 将数组转为字符串存入数据对象 2023-08-31 存入对象开始
|
||||
this.form.SELECT_FORM = this.form.SELECT_FORMS.join(',')
|
||||
if (this.form.COMPETENT_DEPT_ID) {
|
||||
this.form.COMPETENT_DEPT_ID = this.form.COMPETENT_DEPT_ID.join(',')
|
||||
}
|
||||
if (this.form.MANAGER_DEPARTMENT_ID) {
|
||||
this.form.MANAGER_DEPARTMENT_ID = this.form.MANAGER_DEPARTMENT_ID.join(',')
|
||||
}
|
||||
/* if (this.form.INDUSTRYALL && this.form.INDUSTRYALL.length > 0) {
|
||||
this.form.CORP_TYPE = this.form.INDUSTRYALL[0] || ''
|
||||
this.form.CORP_TYPE2 = this.form.INDUSTRYALL[1] || ''
|
||||
|
@ -498,38 +594,50 @@ export default {
|
|||
this.$parent.activeName = 'CorpInfoList'
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict: function() {
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '720992d898bf4fd7b44bf0ba1f1bbb88'
|
||||
}
|
||||
).then((data) => {
|
||||
this.employmentTypeList = data.list
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '9ce2e9a4636b4d41b460ce16c346d497'
|
||||
}
|
||||
).then((data) => {
|
||||
this.selectFormList = data.list
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: 'f2598ba72e864eadabf0ca4b664d26b9'
|
||||
}
|
||||
).then((data) => {
|
||||
this.industryList = data.list
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '37d8385931f14bb0b962082cf6bb3395'
|
||||
}
|
||||
).then((data) => {
|
||||
this.corpTypeList = data.list
|
||||
getDict() {
|
||||
return new Promise((resolve, reject) => {
|
||||
requestFN(
|
||||
'/department/listTree/',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataSupervise = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/listSelectTree',
|
||||
{
|
||||
DICTIONARIES_ID: '720992d898bf4fd7b44bf0ba1f1bbb88'
|
||||
}
|
||||
).then((data) => {
|
||||
const employmentTypeList = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.employmentTypeList = this.removeEmptyChildren(employmentTypeList)
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '9ce2e9a4636b4d41b460ce16c346d497'
|
||||
}
|
||||
).then((data) => {
|
||||
this.selectFormList = data.list
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: 'f2598ba72e864eadabf0ca4b664d26b9'
|
||||
}
|
||||
).then((data) => {
|
||||
this.industryList = data.list
|
||||
})
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '37d8385931f14bb0b962082cf6bb3395'
|
||||
}
|
||||
).then((data) => {
|
||||
this.corpTypeList = data.list
|
||||
})
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
// 地图相关
|
||||
|
|
|
@ -96,16 +96,18 @@
|
|||
<el-table-column prop="COMPETENT_DEPT_NAME" label="基层单位监管部门" show-overflow-tooltip/>
|
||||
<el-table-column prop="CREATOR_NAME" label="开户人员" />
|
||||
<el-table-column :formatter="(row) => formatStateLabel(row)" prop="STATE" label="状态" />
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button type="warning" icon="el-icon-refresh" size="mini" @click="resetPassword(row)">重置密码</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteCorpInfo(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<!-- <div>-->
|
||||
<!-- <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新建相关方单位</el-button>-->
|
||||
<!-- </div>-->
|
||||
<div>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新建相关方单位</el-button>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue