Merge branch 'main' into dev

# Conflicts:
#	src/views/xgf/audit/components/edit.vue
pull/5/head
dearlin 2023-11-09 11:45:59 +08:00
commit 670c0f6622
27 changed files with 869 additions and 419 deletions

View File

@ -11,7 +11,7 @@ module.exports = {
assetsPublicPath: '/', assetsPublicPath: '/',
proxyTable: { proxyTable: {
'/api': { '/api': {
target: 'http://192.168.0.45:8091/', target: 'http://192.168.0.79:8091/',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api': '' '^/api': ''

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
src/assets/tablebg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -130,8 +130,10 @@
<!-- <img :src="dialogImageUrl" width="100%" alt="">--> <!-- <img :src="dialogImageUrl" width="100%" alt="">-->
<!-- </el-dialog>--> <!-- </el-dialog>-->
</div> </div>
<div class="center" style="height: 225px"> <div class="center">
<line-chart id="main4" ref="CHART_LIQUIDLEVEL" :chart-data="chartData.LIQUIDLEVEL" /> <line-chart id="main4" ref="CHART_LIQUIDLEVEL" :chart-data="chartData.LIQUIDLEVEL" />
</div>
<div class="center">
<line-chart id="main5" ref="CHART_TEMPERATURE" :chart-data="chartData.TEMPERATURE" /> <line-chart id="main5" ref="CHART_TEMPERATURE" :chart-data="chartData.TEMPERATURE" />
</div> </div>
<div class="bottom"> <div class="bottom">
@ -807,7 +809,7 @@ export default {
border-bottom: 2px solid #316b8b; border-bottom: 2px solid #316b8b;
#main4, #main5 { #main4, #main5 {
flex-basis: 40%; flex-basis: 80%;
height: 15.97vh; height: 15.97vh;
} }
} }

View File

@ -159,19 +159,30 @@
</el-col>--> </el-col>-->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="安全负责人"> <el-form-item label="主要负责人">
<el-input v-model="form.CONTACTS" placeholder="请输入内容" /> <el-input v-model="form.CONTACTS" placeholder="请输入内容" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="安全负责人手机号"> <el-form-item label="主要负责人手机号">
<el-input v-model="form.CONTACTS_PHONE" placeholder="请输入内容" /> <el-input v-model="form.CONTACTS_PHONE" placeholder="请输入内容" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="安全负责人">
<el-input v-model="form.SAFETY_NAME" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="安全负责人手机号">
<el-input v-model="form.SAFETY_PHONE" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="隶属关系" prop="SUBORDINATION"> <el-form-item label="隶属关系" prop="SUBORDINATION">

View File

@ -83,11 +83,17 @@
<td>{{ pd.LR_POSITION }}</td>--> <td>{{ pd.LR_POSITION }}</td>-->
</tr> </tr>
<tr> <tr>
<td class="tbg">安全负责人</td> <td class="tbg">主要负责人</td>
<td>{{ pd.CONTACTS }}</td> <td>{{ pd.CONTACTS }}</td>
<td class="tbg">安全负责人手机号</td> <td class="tbg">主要负责人手机号</td>
<td>{{ pd.CONTACTS_PHONE }}</td> <td>{{ pd.CONTACTS_PHONE }}</td>
</tr> </tr>
<tr>
<td class="tbg">安全负责人</td>
<td>{{ pd.SAFETY_NAME }}</td>
<td class="tbg">安全负责人手机号</td>
<td>{{ pd.SAFETY_PHONE }}</td>
</tr>
<tr> <tr>
<td class="tbg">隶属关系</td> <td class="tbg">隶属关系</td>
<td>{{ pd.SUBORDINATION_NAME }}</td> <td>{{ pd.SUBORDINATION_NAME }}</td>

View File

@ -63,19 +63,75 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="消防点位合格类型:" prop="QUALIFIED_PHOTOS_ID"> <el-form-item label="消防点位图片 ">
<el-select v-model="form.QUALIFIED_PHOTOS_ID" filterable clearable placeholder="输入可搜索" class="filter-item" style="width: 100%;"> <div class="disContent">
<el-option v-for="item in qualifiedPhotosList" :key="item.QUALIFIED_PHOTOS_ID" :label="item.QUALIFIED_TYPE_NAME" :value="item.QUALIFIED_PHOTOS_ID" /> <el-upload
</el-select> :auto-upload="false"
:file-list="firefightingImgs"
:on-change="handleEditChange"
:on-exceed="overFlow"
:limit="5"
action="#"
multiple
accept=".jpg,.png"
list-type="picture-card">
<i slot="default" class="el-icon-plus"/>
<div slot="file" slot-scope="{file}">
<img
v-if="file.FILEPATH"
:src="config.fileUrl + file.FILEPATH"
class="el-upload-list__item-thumbnail"
alt=""
>
<img
v-else
:src="file.url"
class="el-upload-list__item-thumbnail"
alt=""
>
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"/>
</span>
<span
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"/>
</span>
</span>
</div>
</el-upload>
</div>
<el-dialog :visible.sync="dialogVisible" append-to-body>
<img :src="dialogImageUrl" width="100%" alt="">
</el-dialog>
<div style="margin-top: 10px">
限制上传数量:{{ firefightingImgs.length +'/'+'5' }}
</div>
<div>
只能上传jpg/png文件单张且不超过5mb
</div>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-button v-show="form.QUALIFIED_PHOTOS_ID" type="primary" style="margin-left: 16px;" @click="showDrawer">
查看该类型合格照片
</el-button>
</el-col> </el-col>
</el-row> </el-row>
<!-- 检查过的点位最新得记录
<el-row v-if="qualifiedImgs.length>0">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="消防点位照片:">-->
<!-- <el-carousel :interval="4000" type="card" height="200px" style="margin-top: 10px">-->
<!-- <el-carousel-item v-for="(item, index) in qualifiedImgs[0].FILEPATH_LIST" :key="index">-->
<!-- <img v-viewer :src="config.fileUrl + item" style="max-width: 100%;">-->
<!-- </el-carousel-item>-->
<!-- </el-carousel>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-form> </el-form>
</div> </div>
<el-dialog :visible.sync="dialogFormMap" title="定位" width="1050px" class="dy-dialog"> <el-dialog :visible.sync="dialogFormMap" title="定位" width="1050px" class="dy-dialog">
@ -107,6 +163,7 @@
<script> <script>
import Pagination from '@/components/Pagination' // el-pagination import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import { upload } from '@/utils/upload'
import SelectTree from '@/components/SelectTree' import SelectTree from '@/components/SelectTree'
import waves from '@/directive/waves' // waves directive import waves from '@/directive/waves' // waves directive
import TiandiMap from '@/components/TianMap/TiandiMap.vue' import TiandiMap from '@/components/TianMap/TiandiMap.vue'
@ -117,6 +174,11 @@ export default {
data() { data() {
return { return {
config: config, config: config,
firefightingImgs: [],
waitForDeleteImgs: [],
firefightingPicture: false,
dialogVisible: false,
dialogImageUrl: '',
dialogFormMap: false, dialogFormMap: false,
map: null, map: null,
LONGTITUDE: '', LONGTITUDE: '',
@ -227,9 +289,36 @@ export default {
await this.getFireRegion() await this.getFireRegion()
if (this.FIRE_POINT_ID) { if (this.FIRE_POINT_ID) {
this.getDicListByPID() this.getDicListByPID()
// this.getFirePointCheckPhotos(this.FIRE_POINT_ID)
} }
}, },
methods: { methods: {
handleRemove(file) {
if (file.IMGFILES_ID) {
// id
this.waitForDeleteImgs.push(file.IMGFILES_ID)
this.firefightingImgs = this.firefightingImgs.filter(x => x.IMGFILES_ID != file.IMGFILES_ID)
} else {
this.firefightingImgs = this.firefightingImgs.filter(x => x.MATERIALS_ID != file.MATERIALS_ID)
}
},
handlePictureCardPreview(file) {
if (file.url) {
this.dialogImageUrl = file.url
}
if (file.FILEPATH) {
this.dialogImageUrl = config.fileUrl + file.FILEPATH
}
this.dialogVisible = true
},
overFlow(files, fileList) {
this.$message.warning('最多上传5张图片')
},
handleEditChange(file, fileList) {
file.MATERIALS_ID = Math.random()
const is5M = file.size / 1024 / 1024 < 5
if (is5M) this.firefightingImgs.push(file)
},
getFireQualifiedPhotosList() { getFireQualifiedPhotosList() {
requestFN( requestFN(
'/fireQualifiedPhotos/listForSelect', '/fireQualifiedPhotos/listForSelect',
@ -239,6 +328,18 @@ export default {
}).catch((e) => { }).catch((e) => {
}) })
}, },
//
getFirePointCheckPhotos(FIRE_POINT_ID) {
requestFN(
'/firePoint/getFirePointCheckPhotos',
{
FIRE_POINT_ID: FIRE_POINT_ID
}
).then((data) => {
this.qualifiedImgs = data.imgList
}).catch((e) => {
})
},
// //
getFireQualifiedPhotos(QUALIFIED_PHOTOS_ID) { getFireQualifiedPhotos(QUALIFIED_PHOTOS_ID) {
requestFN( requestFN(
@ -262,11 +363,11 @@ export default {
}) })
}, },
showDrawer() { showDrawer() {
if (!this.form.QUALIFIED_PHOTOS_ID) { // if (!this.form.QUALIFIED_PHOTOS_ID) {
this.$message.warning('先选一个消防点位合格类型') // this.$message.warning('')
return // return
} // }
this.getFireQualifiedPhotos(this.form.QUALIFIED_PHOTOS_ID) this.getFirePointCheckPhotos(this.form.FIRE_POINT_ID)
this.drawer = true this.drawer = true
}, },
setPosition() { setPosition() {
@ -342,28 +443,36 @@ export default {
confirm() { confirm() {
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
this.form.LONGITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[1] const formData = new FormData()
this.form.LATITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[0] if (this.form.LONGTITUDEANDLATITUDE) {
this.form.LONGITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[1]
this.form.LATITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[0]
}
console.log(this.form.LONGTITUDEANDLATITUDE)
Object.keys(this.form).map(key => {
formData.append(key, this.form[key])
})
if (this.form.LONGTITUDEANDLATITUDE.split('--')[0]) {
formData.append('LONGITUDE', this.form.LONGITUDE)
formData.append('LATITUDE', this.form.LATITUDE)
}
if (this.firefightingImgs.length > 0) {
for (let i = 0; i < this.firefightingImgs.length; i++) {
formData.append('files', this.firefightingImgs[i].raw)
}
}
formData.append('WAIT_REMOVE_DATA_IDS', this.waitForDeleteImgs.join(','))
if (this.$parent.FIRE_POINT_ID == '') { if (this.$parent.FIRE_POINT_ID == '') {
this.handleAdd() this.handleAdd(formData)
} else { } else {
// debugger // debugger
if (valid) { if (valid) {
this.listLoading = true this.listLoading = true
requestFN( upload(
'/firePoint/updFireRegionById', '/firePoint/updFireRegionById',
{ formData
FIRE_REGION_ID: this.form.FIRE_REGION_ID,
FIRE_POINT_ID: this.$parent.FIRE_POINT_ID,
FIRE_POINT_NAME: this.form.FIRE_POINT_NAME,
FIRE_POINT_CODE: this.form.FIRE_POINT_CODE,
QUALIFIED_PHOTOS_ID: this.form.QUALIFIED_PHOTOS_ID,
DEPARTMENT_ID: this.form.DEPARTMENT_ID,
LONGITUDE: this.form.LONGITUDE,
LATITUDE: this.form.LATITUDE,
USER_ID: this.form.USER_ID
}
).then((data) => { ).then((data) => {
this.waitForDeleteImgs = []
this.listLoading = false this.listLoading = false
this.dialogFormEdit = false this.dialogFormEdit = false
this.$parent.activeName = 'List' this.$parent.activeName = 'List'
@ -380,14 +489,21 @@ export default {
this.form.SORTINDEX = this.form.SORTINDEX.replace(/[^\.\d]/g, '') this.form.SORTINDEX = this.form.SORTINDEX.replace(/[^\.\d]/g, '')
this.form.SORTINDEX = this.form.SORTINDEX.replace('.', '') this.form.SORTINDEX = this.form.SORTINDEX.replace('.', '')
}, },
handleAdd() { handleAdd(formData) {
requestFN( upload(
'/firePoint/savePointInfo', '/firePoint/savePointInfo',
this.form formData
).then((data) => { ).then((data) => {
this.waitForDeleteImgs = []
this.$parent.activeName = 'List' this.$parent.activeName = 'List'
}).catch((e) => { }).catch((e) => {})
}) // requestFN(
// '/firePoint/savePointInfo',
// this.form
// ).then((data) => {
// this.$parent.activeName = 'List'
// }).catch((e) => {
// })
}, },
getDicListByPID() { getDicListByPID() {
requestFN( requestFN(
@ -397,6 +513,7 @@ export default {
this.form = Object.assign(this.form, data.res) this.form = Object.assign(this.form, data.res)
this.LONGTITUDE = this.form.LONGITUDE this.LONGTITUDE = this.form.LONGITUDE
this.LATITUDE = this.form.LATITUDE this.LATITUDE = this.form.LATITUDE
this.firefightingImgs = data.imgList
}).catch((e) => { }).catch((e) => {
}) })
}, },

View File

@ -42,7 +42,7 @@
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip /> <el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip />
<el-table-column prop="DEPARTMENT_NAME" label="集团公司监管部门" show-overflow-tooltip /> <el-table-column prop="DEPARTMENT_NAME" label="集团公司监管部门" show-overflow-tooltip />
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip /> <el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip />
<el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip /> <el-table-column prop="UNITS_PIC_NAME" label="相关方单位负责人" show-overflow-tooltip />
<el-table-column prop="UNITS_PHONE" label="相关方责任人电话" show-overflow-tooltip /> <el-table-column prop="UNITS_PHONE" label="相关方责任人电话" show-overflow-tooltip />
<!-- <el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />--> <!-- <el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />-->
<el-table-column prop="userNames" label="报警处置人" show-overflow-tooltip /> <el-table-column prop="userNames" label="报警处置人" show-overflow-tooltip />
@ -51,7 +51,21 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID)"></el-button> <el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID)"></el-button>
<el-button type="success" icon="el-icon-view" size="mini" @click="examine(row)"></el-button> <el-button type="success" icon="el-icon-view" size="mini" @click="examine(row)"></el-button>
<el-button type="danger" icon="el-icon-view" size="mini" @click="showDisposer(row)"></el-button> <!--ai报警处置人 集团账号不能删除-->
<el-button
v-if="
userLogin.CORPINFO_ID != '1e6dbbe16004402f8d2c0e52afd9a676'
&&
userLogin.CORPINFO_ID != '3a854eefa7894e06aaa1a2611bca80f6'
&&
userLogin.CORPINFO_ID != '020578a4c1f04bc692ee25145c2efbe5'
&&
userLogin.CORPINFO_ID != '90966974de3c4b83aca6f8fd6432d5c2'
"
type="danger"
icon="el-icon-view"
size="mini"
@click="showDisposer(row)">删除报警处置人</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -189,6 +203,7 @@ export default {
}, },
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
userLogin: JSON.parse(sessionStorage.getItem('user')),
dialogVisible: false, dialogVisible: false,
findCreatorList: [], findCreatorList: [],
form: { form: {

View File

@ -42,7 +42,7 @@
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip /> <el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip />
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip /> <el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip />
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip /> <el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip />
<el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip /> <el-table-column prop="UNITS_PIC_NAME" label="相关方单位负责人" show-overflow-tooltip />
<el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip /> <el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip />
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">
<template slot-scope="{row}"> <template slot-scope="{row}">

View File

@ -42,7 +42,7 @@
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip /> <el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip />
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip /> <el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip />
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip /> <el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip />
<el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip /> <el-table-column prop="UNITS_PIC_NAME" label="相关方单位负责人" show-overflow-tooltip />
<el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip /> <el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip />
<el-table-column prop="CHECK_COUNT" label="安全环保检查次数" /> <el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">

View File

@ -8,18 +8,39 @@
<el-form ref="form" :model="form" :rules="rules" label-width="180px"> <el-form ref="form" :model="form" :rules="rules" label-width="180px">
<div> <div>
<el-row> <el-row>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="企业监督部门:" class="is-required" prop="DEPARTMENT_ID">-->
<!-- <Treeselect-->
<!-- :multiple="true"-->
<!-- :flat="true"-->
<!-- :default-expand-level="1"-->
<!-- :options="treeDataDept"-->
<!-- :normalizer="normalizer2"-->
<!-- v-model="form.DEPARTMENT_ID"-->
<!-- placeholder="请选择部门"-->
<!-- no-options-text="暂无数据"-->
<!-- no-children-text="暂无数据"-->
<!-- style="width: 100%;"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="DEPARTMENT_ID" label="企业监督部门:"> <el-form-item label="企业监督部门" class="is-required" prop="DEPARTMENT_ID">
<SelectTree <Treeselect
ref="deptTree2" :multiple="true"
:clearable="false" :flat="true"
:options="treeDataInspectDept" :default-expand-level="1"
:props="defaultProps" :options="treeDataDept"
:normalizer="normalizer2"
v-model="form.DEPARTMENT_ID" v-model="form.DEPARTMENT_ID"
placeholder="请选择企业监督部门" placeholder="请选择部门"
style="width: 100%"/> no-options-text="暂无数据"
no-children-text="暂无数据"
style="width: 100%;"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="COMPETENT_DEPT_ID" label="企业主管部门:"> <el-form-item prop="COMPETENT_DEPT_ID" label="企业主管部门:">
<SelectTree <SelectTree
@ -30,27 +51,10 @@
v-model="form.COMPETENT_DEPT_ID" v-model="form.COMPETENT_DEPT_ID"
placeholder="请选择企业主管部门" placeholder="请选择企业主管部门"
style="width: 100%"/> style="width: 100%"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item prop="CONTRACT_PIC" label="企业主管部门负责人">-->
<!-- <el-select v-model="form.CONTRACT_PIC" clearable placeholder="请选择" style="width: 100%;">-->
<!-- <el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8"> <el-col :span="8">
<el-form-item label="企业辖区部门" class="is-required" prop="INVOLVING_CORPS_DEPART_ID"> <el-form-item label="企业辖区部门" class="is-required" prop="INVOLVING_CORPS_DEPART_ID">
<!-- <SelectTree-->
<!-- :ref="'deptTree_INVOLVING_CORPS_DEPART_ID'"-->
<!-- :clearable="false"-->
<!-- :options="treeDeptOptions"-->
<!-- :props="defaultProps"-->
<!-- v-model="form.INVOLVING_CORPS_DEPART_ID"-->
<!-- placeholder="请选择企业辖区部门"-->
<!-- style="width: 100%" />-->
<Treeselect <Treeselect
:multiple="true" :multiple="true"
:flat="true" :flat="true"
@ -73,25 +77,8 @@
<el-input v-model="form.OUTSOURCED_NAME" placeholder="这里输入重点工程名称..." /> <el-input v-model="form.OUTSOURCED_NAME" placeholder="这里输入重点工程名称..." />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--<el-col :span="8">
<el-form-item label="辖区单位" class="is-required">
<el-select v-model="INVOLVING_CORP" multiple placeholder="请选择辖区单位" style="width: 100%;" @change="selectDeptOption" @remove-tag="removeDeptOption">
<el-option v-for="item in corpList" :key="item.CORPINFO_ID" :label="item.CORP_NAME" :value="item.CORPINFO_ID" />
</el-select>
&lt;!&ndash; <el-input v-model="corpinfoPd.CORP_NAME" :disabled="true" :title="corpinfoPd.CORP_NAME" />&ndash;&gt;
&lt;!&ndash; <SelectTree&ndash;&gt;
&lt;!&ndash; :ref="'deptTree_INVOLVING_CORPS_DEPART_ID'"&ndash;&gt;
&lt;!&ndash; :clearable="false"&ndash;&gt;
&lt;!&ndash; :options="treeDeptOptions"&ndash;&gt;
&lt;!&ndash; :props="defaultProps"&ndash;&gt;
&lt;!&ndash; v-model="form.INVOLVING_CORPS_DEPART_ID"&ndash;&gt;
&lt;!&ndash; placeholder="请选择企业辖区部门"&ndash;&gt;
&lt;!&ndash; style="width: 300px" />&ndash;&gt;
</el-form-item>
</el-col>-->
<el-col :span="8"> <el-col :span="8">
<el-form-item label="计划工期起止时间:" prop="STARTTIME"> <el-form-item label="计划工期起止时间:" prop="STARTTIME">
<!-- <el-date-picker v-model="form.STARTTIME" style="width: 100%;" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择开始日期" clearable class="filter-item"/>-->
<el-date-picker <el-date-picker
v-model="form.STARTTIME_TIMES" v-model="form.STARTTIME_TIMES"
style="width: 100%;" style="width: 100%;"
@ -109,32 +96,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="计划工期开始时间:" prop="STARTTIME">
<el-date-picker v-model="form.STARTTIME" style="width: 100%;" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择开始日期" clearable class="filter-item"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="计划工期结束时间:" prop="ENDTIME">
<el-date-picker v-model="form.ENDTIME" style="width: 100%;" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择结束日期" clearable class="filter-item" />
</el-form-item>
</el-col>
</el-row>-->
<!--<el-col :span="8">
<el-form-item label="合同起止时间:" prop="CONTRACTTIME">
&lt;!&ndash; <el-date-picker v-model="form.CONTRACTTIME" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" clearable class="filter-item"/>&ndash;&gt;
<el-date-picker
v-model="form.CONTRACTTIME"
style="width: 100%;"
type="daterange"
unlink-panels
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"/>
</el-form-item>
</el-col>-->
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="施工相关方:" prop="UNITS_ID"> <el-form-item label="施工相关方:" prop="UNITS_ID">
@ -156,44 +117,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-row>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="相关方单位资质(附件)" prop="UNITS_APTITUDEPATH">-->
<!-- <div class="uo-flex">-->
<!-- <el-input v-model="form.UNITS_APTITUDE" :disabled="true" title="请上传附件" />-->
<!-- <el-upload :before-upload="beforeFileUpload" accept=".pdf" class="avatar-uploader" action="#">-->
<!-- <el-button type="primary" icon="el-icon-upload" style="margin-left:10px; " plain>上传附件</el-button>-->
<!-- </el-upload>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="监理单位资质(附件)" prop="MANAGE_APTITUDEPATH">-->
<!-- <div class="uo-flex">-->
<!-- <el-input v-model="form.MANAGE_APTITUDE" :disabled="true" title="请上传附件" />-->
<!-- <el-upload :before-upload="beforeFileUpload2" accept=".pdf" class="avatar-uploader" action="#">-->
<!-- <el-button type="primary" icon="el-icon-upload" style="margin-left:10px; " plain>上传附件</el-button>-->
<!-- </el-upload>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="安全技术措施(附件)" prop="MEASURESPATH">-->
<!-- <div class="uo-flex">-->
<!-- <el-input v-model="form.MEASURES" :disabled="true" title="请上传附件" />-->
<!-- <el-upload :before-upload="beforeFileUpload1" accept=".pdf" class="avatar-uploader" action="#">-->
<!-- <el-button type="primary" icon="el-icon-upload" style="margin-left:10px; " plain>上传附件</el-button>-->
<!-- </el-upload>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="监理单位名称:" prop="MANAGE_NAME"> <el-form-item label="监理单位名称:" prop="MANAGE_NAME">
<!--<el-input v-model="corpinfoPd.CORP_NAME" :disabled="true" :title="corpinfoPd.CORP_NAME" />-->
<el-select v-model="form.MANAGE_NAME" multiple placeholder="请选择监理单位" style="width: 100%;" > <el-select v-model="form.MANAGE_NAME" multiple placeholder="请选择监理单位" style="width: 100%;" >
<el-option v-for="item in mangeList" :key="item.CORPINFO_ID" :label="item.CORP_NAME" :value="item.CORPINFO_ID" /> <el-option v-for="item in mangeList" :key="item.CORPINFO_ID" :label="item.CORP_NAME" :value="item.CORPINFO_ID" />
</el-select> </el-select>
@ -209,29 +135,6 @@
<el-input v-model="form.MANAGE_PHONE" placeholder="这里输入监理单位工程负责人手机" /> <el-input v-model="form.MANAGE_PHONE" placeholder="这里输入监理单位工程负责人手机" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8">
<el-form-item label="申请人:" prop="APPLICANT">
<el-input v-model="form.APPLICANT" placeholder="这里输入申请人" />
</el-form-item>
</el-col>-->
<!-- <el-row>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="备注:" prop="REMARKS">-->
<!-- <el-input v-model="form.REMARKS" placeholder="这里输入备注" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="相关方组织设计(附件)" prop="DESIGEPATH">-->
<!-- <div class="uo-flex">-->
<!-- <el-input v-model="form.DESIGE" :disabled="true" title="请上传附件" />-->
<!-- <el-upload :before-upload="beforeFileUpload3" accept=".pdf" class="avatar-uploader" action="#">-->
<!-- <el-button type="primary" icon="el-icon-upload" style="margin-left:10px; " plain>上传附件</el-button>-->
<!-- </el-upload>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
@ -330,7 +233,6 @@
</el-form-item> </el-form-item>
<div style="height: 200px"/> <div style="height: 200px"/>
</el-form> </el-form>
<!-- <div class="ui-height" />-->
<div class="ui-foot"> <div class="ui-foot">
<el-button icon="el-icon-check" type="primary" @click="confirm"> </el-button> <el-button icon="el-icon-check" type="primary" @click="confirm"> </el-button>
<el-button icon="el-icon-arrow-left" @click="back"> </el-button> <el-button icon="el-icon-arrow-left" @click="back"> </el-button>
@ -379,6 +281,7 @@ export default {
TRAINING_STIME: '', TRAINING_STIME: '',
TRAINING_ETIME: '', TRAINING_ETIME: '',
treeDataInspectDept: [], treeDataInspectDept: [],
treeDataDept: [],
defaultProps: { defaultProps: {
value: 'id', value: 'id',
children: 'nodes', children: 'nodes',
@ -395,7 +298,7 @@ export default {
corpinfoPd: {}, // id corpinfoPd: {}, // id
file9: [], file9: [],
form: { form: {
DEPARTMENT_ID: '', DEPARTMENT_ID: [],
COMPETENT_DEPT_ID: '', // COMPETENT_DEPT_ID: '', //
CONTRACT_PIC: '', // CONTRACT_PIC: '', //
OUTSOURCED_NAME: '', // OUTSOURCED_NAME: '', //
@ -519,6 +422,13 @@ export default {
children: node.nodes, children: node.nodes,
isDisabled: node.pId === '0' isDisabled: node.pId === '0'
} }
},
normalizer2(node) {
return {
id: node.id,
label: node.name,
children: node.nodes
}
} }
} }
}, },
@ -638,6 +548,9 @@ export default {
if (pd.INVOLVING_CORPS) { if (pd.INVOLVING_CORPS) {
this.INVOLVING_CORP = pd.INVOLVING_CORPS.split(',') this.INVOLVING_CORP = pd.INVOLVING_CORPS.split(',')
} }
if (pd.DEPARTMENT_ID) {
pd.DEPARTMENT_ID = pd.DEPARTMENT_ID.split(',')
}
if (pd.MANAGE_NAME) { if (pd.MANAGE_NAME) {
pd.MANAGE_NAME = pd.MANAGE_NAME.split(',') pd.MANAGE_NAME = pd.MANAGE_NAME.split(',')
} }
@ -662,14 +575,11 @@ export default {
this.file9 = data.file9 this.file9 = data.file9
// //
const node = {} const node = {}
const node2 = {} // const node2 = {}
node.id = this.form.COMPETENT_DEPT_ID node.id = this.form.COMPETENT_DEPT_ID
node2.id = this.form.DEPARTMENT_ID
this.$refs.deptTree.clearHandle() // this.$refs.deptTree.clearHandle() //
this.$refs.deptTree2.clearHandle() //
this.$nextTick(() => { // 使 this.$nextTick(() => { // 使
this.$refs.deptTree.handleNodeClick(node) this.$refs.deptTree.handleNodeClick(node)
this.$refs.deptTree2.handleNodeClick(node2)
}) })
const nodeINVOLVING_CORPS_DEPART_ID = {} const nodeINVOLVING_CORPS_DEPART_ID = {}
nodeINVOLVING_CORPS_DEPART_ID.id = this.form.INVOLVING_CORPS_DEPART_ID nodeINVOLVING_CORPS_DEPART_ID.id = this.form.INVOLVING_CORPS_DEPART_ID
@ -1074,6 +984,7 @@ export default {
).then((data) => { ).then((data) => {
this.treeDeptOptions = JSON.parse(data.zTreeNodes) this.treeDeptOptions = JSON.parse(data.zTreeNodes)
this.treeDataInspectDept = JSON.parse(data.zTreeNodes) this.treeDataInspectDept = JSON.parse(data.zTreeNodes)
this.treeDataDept = JSON.parse(data.zTreeNodes)
resolve() resolve()
}).catch((e) => { }).catch((e) => {
}) })

View File

@ -22,7 +22,7 @@
</tr> </tr>
<tr v-if="pd.IS_CORP_TYPE == '1'"> <tr v-if="pd.IS_CORP_TYPE == '1'">
<td class="tbg">企业监督部门</td> <td class="tbg">企业监督部门</td>
<td>{{ pd.Q_DEPARTMENT_NAME }}</td> <td>{{ pd.DEPARTMENT_NAME }}</td>
<td class="tbg">企业主管部门</td> <td class="tbg">企业主管部门</td>
<td>{{ pd.Q_COMPETENT_DEPT_NAME }}</td> <td>{{ pd.Q_COMPETENT_DEPT_NAME }}</td>
</tr> </tr>

View File

@ -14,7 +14,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="施工相关方"> <el-form-item label="施工相关方">
<el-select v-model="UNITS_ID" placeholder="请选择施工相关方" style="width: 100%;" @change="getUnitUser"> <el-select v-model="UNITS_ID" placeholder="请选择施工相关方" style="width: 100%;">
<el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" /> <el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -326,14 +326,22 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then((data) => {
this.listLoading = true this.listLoading = true
requestFN( requestFN(
'/outsourced/jie', '/outsourced/jie',
{ {
OUTSOURCED_ID: id OUTSOURCED_ID: id
} }
).then(() => { ).then((data) => {
if (data.code == '500') {
this.listLoading = false
this.$message({
message: data.msg,
type: 'error'
})
return
}
this.$message({ this.$message({
message: '已结束', message: '已结束',
type: 'success' type: 'success'

View File

@ -49,6 +49,7 @@
> >
<el-table-column <el-table-column
:reserve-selection="true" :reserve-selection="true"
:selectable="selectable"
type="selection" type="selection"
width="55" width="55"
align="center"/> align="center"/>
@ -76,8 +77,8 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-show="edit" type="success" icon="el-icon-edit" size="mini" @click="resetPwd(row.PERSONNELMANAGEMENT_ID,row.NAME)"></el-button> <el-button v-show="edit" type="success" icon="el-icon-edit" size="mini" @click="resetPwd(row.PERSONNELMANAGEMENT_ID,row.NAME)"></el-button>
<el-button v-show="edit" type="success" icon="el-icon-view" size="mini" @click="gosee(row.PERSONNELMANAGEMENT_ID)"></el-button> <el-button v-show="edit" type="success" icon="el-icon-view" size="mini" @click="gosee(row.PERSONNELMANAGEMENT_ID)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.PERSONNELMANAGEMENT_ID)"></el-button> <el-button v-show="del" :disabled="loginUserId !== row.CREATOR" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.PERSONNELMANAGEMENT_ID)"></el-button>
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.PERSONNELMANAGEMENT_ID)"></el-button> <el-button v-show="edit" :disabled="loginUserId !== row.CREATOR" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.PERSONNELMANAGEMENT_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -91,17 +92,17 @@
<el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='edit'?'修改':'新增'" width="600px" top="5vh"> <el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='edit'?'修改':'新增'" width="600px" top="5vh">
<el-form ref="form" :rules="rules" :model="form" label-width="140px" style="width: 500px;"> <el-form ref="form" :rules="rules" :model="form" label-width="140px" style="width: 500px;">
<el-form-item label="单位名称" prop="UNITS_ID"> <el-form-item label="单位名称" prop="UNITS_ID">
<el-select v-model="form.UNITS_ID" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.UNITS_ID" filterable placeholder="请选择" style="width: 100%;">
<el-option v-for="item in unitsnameList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" /> <el-option v-for="item in unitsnameList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="作业类别" prop="JOB_TYPE"> <el-form-item label="作业类别" prop="JOB_TYPE">
<el-select v-model="form.JOB_TYPE" placeholder="这里选择作业类别..." style="width: 100%" @change="changeType"> <el-select v-model="form.JOB_TYPE" filterable placeholder="这里选择作业类别..." style="width: 100%" @change="changeType">
<el-option v-for="item in jobtypeList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID"/> <el-option v-for="item in jobtypeList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="操作项目" prop="OPERATIONITEM"> <el-form-item label="操作项目" prop="OPERATIONITEM">
<el-select v-model="form.OPERATIONITEM" clearable placeholder="这里选择操作项目..." style="width: 100%"> <el-select v-model="form.OPERATIONITEM" filterable clearable placeholder="这里选择操作项目..." style="width: 100%">
<el-option v-for="item in operationitemList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.NAME" /> <el-option v-for="item in operationitemList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.NAME" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -272,6 +273,7 @@ export default {
add: false, add: false,
del: false, del: false,
edit: false, edit: false,
loginUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
defaultProps: { defaultProps: {
value: 'id', value: 'id',
children: 'nodes', children: 'nodes',
@ -533,6 +535,9 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },
selectable(row, index) {
return row.CREATOR === this.loginUserId
},
handleDelete(id) { handleDelete(id) {
this.$confirm('确定要删除吗?', { this.$confirm('确定要删除吗?', {
confirmButtonText: '确定', confirmButtonText: '确定',

View File

@ -42,7 +42,7 @@
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip /> <el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" show-overflow-tooltip />
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip /> <el-table-column prop="DEPARTMENT_NAME" label="监管部门" show-overflow-tooltip />
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip /> <el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" show-overflow-tooltip />
<el-table-column prop="UNITS_PIC" label="相关方单位负责人" show-overflow-tooltip /> <el-table-column prop="UNITS_PIC_NAME" label="相关方单位负责人" show-overflow-tooltip />
<el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip /> <el-table-column prop="UNITS_PHONE" label="电话" show-overflow-tooltip />
<el-table-column prop="CHECK_COUNT" label="安全环保检查次数" /> <el-table-column prop="CHECK_COUNT" label="安全环保检查次数" />
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">

View File

@ -42,27 +42,28 @@
> >
<el-table-column <el-table-column
:reserve-selection="true" :reserve-selection="true"
:selectable="selectable"
type="selection" type="selection"
width="55" width="55"
align="center"/> align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" /> <el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="UNITS_NAME" label="相关方单位名称" show-overflow-tooltip /> <el-table-column prop="UNITS_NAME" label="相关方单位名称" show-overflow-tooltip />
<!-- &lt;!&ndash; <el-table-column prop="COMPANY_AREA" label="属地" width="280" show-overflow-tooltip />&ndash;&gt; 此处文档没有显示暂时先注释掉了-->
<el-table-column prop="CODE" label="统一社会信用代码" width="200" /> <el-table-column prop="CODE" label="统一社会信用代码" width="200" />
<el-table-column prop="CONTACTS" label="联系人" width="150" show-overflow-tooltip /> <el-table-column prop="CONTACTS" label="联系人" width="150" show-overflow-tooltip />
<el-table-column prop="CONTACTS_PHONE" label="联系人电话" width="100" /> <el-table-column prop="CONTACTS_PHONE" label="联系人电话" width="100" />
<!-- <el-table-column prop="UNITS_TYPE" label="类型" width="100" />--> <el-table-column prop="CORP_NAME" label="创建单位" show-overflow-tooltip />
<el-table-column prop="CREATOR_NAME" label="创建人" show-overflow-tooltip />
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.UNITS_ID)"></el-button> <el-button v-show="edit" :disabled="loginUserId !== row.CREATOR" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.UNITS_ID)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="isTrueDelete(row.UNITS_ID)"></el-button> <el-button v-show="del" :disabled="loginUserId !== row.CREATOR" type="danger" icon="el-icon-delete" size="mini" @click="isTrueDelete(row.UNITS_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group"> <div class="page-btn-group">
<div> <div>
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <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="isTrueDeleteAll"></el-button> <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="isTrueDeleteAll"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -80,6 +81,7 @@ export default {
listLoading: true, listLoading: true,
add: false, add: false,
del: false, del: false,
loginUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
edit: false, edit: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -171,6 +173,9 @@ export default {
this.$parent.activeName = 'Edit' this.$parent.activeName = 'Edit'
this.$parent.UNITS_ID = '' this.$parent.UNITS_ID = ''
}, },
selectable(row, index) {
return row.CREATOR === this.loginUserId
},
// //
handleEdit(ID) { handleEdit(ID) {
this.$parent.activeName = 'Edit' this.$parent.activeName = 'Edit'

View File

@ -1,22 +1,41 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="rightCont"> <div class="rightCont">
<el-form label-width="50px"> <el-form label-width="100px">
<el-col :span="5"> <el-row :gutter="24">
<el-form-item label="视频名称:" label-width="110px"> <el-col :span="5">
<el-input v-model="form.VIDEONAME" style="width:206px" placeholder="请输入内容"/> <el-form-item label="关键字:" >
</el-form-item> <el-input v-model="form.VIDEONAME" style="width:206px" placeholder="输入视频名称或者摄像头编码"/>
</el-col> </el-form-item>
<el-col :span="4"> </el-col>
<el-form-item label-width="10px"> <el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"> <el-form-item label="所属相关方:" >
搜索 <el-select v-model="form.UNITS_ID" filterable clearable placeholder="请选择施工相关方">
</el-button> <el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset"> </el-select>
重置 </el-form-item>
</el-button> </el-col>
</el-form-item> <el-col :span="4">
</el-col> <el-form-item label="使用单位:" >
<el-input v-model="form.UNIT_USE" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="负责人:" >
<el-input v-model="form.UNITS_USER_ID" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="50px">
<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-form>
<div> <div>
<el-table <el-table
@ -30,6 +49,7 @@
<el-table-column :selectable="selectable" type="selection" reserve-selection width="55" align="center"/> <el-table-column :selectable="selectable" type="selection" reserve-selection width="55" align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/> <el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/> <el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/>
<el-table-column prop="UNIT_USE" label="使用单位"/>
<el-table-column prop="MODEL" label="视频型号"/> <el-table-column prop="MODEL" label="视频型号"/>
<el-table-column prop="VIDEONAME" label="视频名称"/> <el-table-column prop="VIDEONAME" label="视频名称"/>
<el-table-column prop="VIDEOURL" label="播放地址"/> <el-table-column prop="VIDEOURL" label="播放地址"/>
@ -37,14 +57,8 @@
<el-table-column prop="PERSON" label="负责人"/> <el-table-column prop="PERSON" label="负责人"/>
<el-table-column prop="PHONE" label="手机号"/> <el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="REMAKE" label="在线情况"/> <el-table-column prop="REMAKE" label="在线情况"/>
<!-- <el-table-column prop="ITEM_COUNT" label="视频监控中使用数" width="auto" align="center">--> <el-table-column prop="CORP_NAME" label="创建人单位"/>
<!-- <template slot-scope="{row}">--> <el-table-column prop="CREATOR_NAME" label="创建人"/>
<!-- <span v-if="row.ITEM_COUNT != 0">-->
<!-- <a style="color: #1e9fff;text-decoration:underline" @click="clickItemCount(row)">{{ row.ITEM_COUNT }}</a>-->
<!-- </span>-->
<!-- <span v-else>{{ row.ITEM_COUNT }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" width="300px"> <el-table-column label="操作" width="300px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
@ -97,6 +111,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row>
<el-form-item label="使用单位:" prop="UNIT_USE">
<el-input v-model="addForm.info.UNIT_USE" style="width: 100%" placeholder="请输入内容"/>
</el-form-item>
</el-row>
<el-row> <el-row>
<el-form-item label="规格型号:" prop="MODEL"> <el-form-item label="规格型号:" prop="MODEL">
<el-input v-model="addForm.info.MODEL" style="width: 100%" placeholder="请输入内容"/> <el-input v-model="addForm.info.MODEL" style="width: 100%" placeholder="请输入内容"/>
@ -156,6 +175,19 @@
:limit.sync="zdlistQuery.limit" :limit.sync="zdlistQuery.limit"
@pagination="zdgetList()"/> @pagination="zdgetList()"/>
</el-drawer> </el-drawer>
<el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" title="视频" width="600px">
<iframe :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
</div>
</el-dialog>
<el-dialog v-if="dialogVideoHLS" :visible.sync="dialogVideoHLS" :before-close="handleBack" title="视频" width="600px">
<div id="aLiVideoPlayer" class="prism-player"/>
<div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -174,11 +206,18 @@ export default {
dialogFormMap: false, dialogFormMap: false,
listLoading: true, listLoading: true,
VIDEO_RESOURCES_ID: '', VIDEO_RESOURCES_ID: '',
VIDEOURL: '',
timer: '',
dialogVideoHLS: false,
dialogVideo: false,
add: false, add: false,
del: false, del: false,
edit: false, edit: false,
form: { form: {
VIDEONAME: '' VIDEONAME: '',
UNITS_USER_ID: '',
UNIT_USE: '',
UNITS_ID: ''
}, },
unitsList: [], unitsList: [],
addForm: { addForm: {
@ -187,6 +226,7 @@ export default {
rules: { rules: {
VIDEONAME: [{ required: true, message: '不可为空', trigger: 'blur' }], VIDEONAME: [{ required: true, message: '不可为空', trigger: 'blur' }],
UNITS_ID: [{ required: true, message: '不可为空', trigger: 'blur' }], UNITS_ID: [{ required: true, message: '不可为空', trigger: 'blur' }],
UNIT_USE: [{ required: true, message: '不可为空', trigger: 'blur' }],
MODEL: [{ required: true, message: '不可为空', trigger: 'blur' }], MODEL: [{ required: true, message: '不可为空', trigger: 'blur' }],
PERSON: [{ required: true, message: '不可为空', trigger: 'blur' }], PERSON: [{ required: true, message: '不可为空', trigger: 'blur' }],
PHONE: [{ required: true, message: '不可为空', trigger: 'blur' }], PHONE: [{ required: true, message: '不可为空', trigger: 'blur' }],
@ -197,6 +237,7 @@ export default {
VIDEO_RESOURCES_ID: '', // VIDEO_RESOURCES_ID: '', //
UNITS_ID: '', // UNITS_ID: '', //
MODEL: '', // MODEL: '', //
UNIT_USE: '', //
VIDEONAME: '', // VIDEONAME: '', //
VIDEOURL: '', // VIDEOURL: '', //
CODE: '', // CODE: '', //
@ -254,6 +295,10 @@ export default {
await this.getUnitsList() await this.getUnitsList()
await this.getList() await this.getList()
}, },
beforeDestroy() {
console.log('定时器关闭')
clearInterval(this.timer)
},
methods: { methods: {
// //
handleBack() { handleBack() {
@ -283,7 +328,26 @@ export default {
this.player.dispose() this.player.dispose()
} }
}, },
start() {
console.log('定时器开启')
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5
},
over() {
//
console.log('定时器手动关闭')
this.$message.warning('单次播放时长已到5分钟自动关闭')
clearInterval(this.timer)
},
closeVideoStart() {
this.dialogVideo = false
this.dialogVideoHLS = false
this.dialogVideoBack = false
this.dialogVideoAll = false
this.over()
},
showVideo(row) { showVideo(row) {
this.$message.warning('单次播放最多五分钟')
this.start()
if (!row.PLATFORMVIDEOMANAGEMENT_ID) { if (!row.PLATFORMVIDEOMANAGEMENT_ID) {
this.VIDEOURL = row.VIDEOURL this.VIDEOURL = row.VIDEOURL
this.dialogVideo = true this.dialogVideo = true
@ -314,6 +378,7 @@ export default {
}) })
}) })
}).catch((e) => { }).catch((e) => {
this.over()
this.listLoading = false this.listLoading = false
}) })
} }
@ -372,6 +437,7 @@ export default {
this.addForm.info.UNITS_ID = row.UNITS_ID this.addForm.info.UNITS_ID = row.UNITS_ID
this.addForm.info.MODEL = row.MODEL this.addForm.info.MODEL = row.MODEL
this.addForm.info.PHONE = row.PHONE this.addForm.info.PHONE = row.PHONE
this.addForm.info.UNIT_USE = row.UNIT_USE
this.addForm.info.PERSON = row.PERSON this.addForm.info.PERSON = row.PERSON
this.addForm.info.REMAKE = row.REMAKE this.addForm.info.REMAKE = row.REMAKE
this.addForm.dialogType = 'edit' this.addForm.dialogType = 'edit'
@ -472,7 +538,10 @@ export default {
requestFN( requestFN(
'/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
VIDEONAME: this.form.VIDEONAME VIDEONAME: this.form.VIDEONAME,
PERSONNELMANAGEMENT_ID: this.form.UNITS_USER_ID,
UNIT_USE: this.form.UNIT_USE,
UNITS_ID: this.form.UNITS_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -484,6 +553,9 @@ export default {
}, },
goKeyReset() { goKeyReset() {
this.form.VIDEONAME = '' this.form.VIDEONAME = ''
this.form.UNITS_USER_ID = ''
this.form.UNIT_USE = ''
this.form.UNITS_ID = ''
this.getList() this.getList()
} }
} }

View File

@ -6,26 +6,41 @@
:before-close="handleClose" :before-close="handleClose"
:append-to-body="true" :append-to-body="true"
title="移动摄像头" title="移动摄像头"
width="60%"> width="85%">
<div class="app-container"> <div class="app-container">
<div class="filter-container"> <div class="filter-container">
<el-form label-width="100px"> <el-form label-width="100px">
<el-row> <el-row :gutter="24">
<el-col :span="5"> <el-col :span="5">
<el-form-item label="关键字搜索"> <el-form-item label="关键字">
<el-input v-model="KEYWORDS" placeholder="搜索关键字" /> <el-input v-model="serachForm.KEYWORDS" placeholder="请输入关键字" class="filter-item"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="5">
<el-form-item label-width="10px"> <el-form-item label="所属相关方:" >
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"> <el-select v-model="serachForm.UNITS_ID" filterable clearable placeholder="请选择施工相关方">
搜索 <el-option v-for="item in unitsList" :key="item.UNITS_ID" :label="item.UNITS_NAME" :value="item.UNITS_ID" />
</el-button> </el-select>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5">
<el-form-item label="使用单位:" >
<el-input v-model="serachForm.UNIT_USE" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="负责人:" >
<el-input v-model="serachForm.UNITS_USER_ID" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="4">
<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-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
@ -39,6 +54,7 @@
style="width: 100%"> style="width: 100%">
<el-table-column type="index" label="序号" width="55" align="center"/> <el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/> <el-table-column :formatter="getUnitName" prop="UNITS_ID" label="所属相关方"/>
<el-table-column prop="UNIT_USE" label="所属单位"/>
<el-table-column prop="MODEL" label="视频型号"/> <el-table-column prop="MODEL" label="视频型号"/>
<el-table-column prop="VIDEONAME" label="视频名称"/> <el-table-column prop="VIDEONAME" label="视频名称"/>
<el-table-column prop="VIDEOURL" label="播放地址"/> <el-table-column prop="VIDEOURL" label="播放地址"/>
@ -96,6 +112,12 @@ export default {
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
UNITS_ID: '', UNITS_ID: '',
serachForm: {
KEYWORDS: '',
UNITS_USER_ID: '',
UNIT_USE: '',
UNITS_ID: ''
},
varList: [], varList: [],
unitsList: [], unitsList: [],
allCodes: [] allCodes: []
@ -107,7 +129,6 @@ export default {
this.visible = true this.visible = true
this.UNITS_ID = UNITS_ID this.UNITS_ID = UNITS_ID
this.varList = [] this.varList = []
this.KEYWORDS = ''
await this.getUnitsList() await this.getUnitsList()
this.getList() this.getList()
}, },
@ -208,8 +229,10 @@ export default {
requestFN( requestFN(
'/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
VIDEONAME: this.KEYWORDS, VIDEONAME: this.serachForm.KEYWORDS,
UNITS_ID: this.UNITS_ID PERSONNELMANAGEMENT_ID: this.serachForm.UNITS_USER_ID,
UNIT_USE: this.serachForm.UNIT_USE,
UNITS_ID: this.serachForm.UNITS_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -226,7 +249,12 @@ export default {
}, },
goKeyReset() { goKeyReset() {
this.KEYWORDS = '' this.serachForm = {
KEYWORDS: '',
UNITS_USER_ID: '',
UNIT_USE: '',
UNITS_ID: ''
}
this.getList() this.getList()
}, },

View File

@ -59,9 +59,15 @@
</el-table-column> </el-table-column>
<el-table-column prop="UNITS_NAME" label="施工相关方" width="250" show-overflow-tooltip /> <el-table-column prop="UNITS_NAME" label="施工相关方" width="250" show-overflow-tooltip />
<el-table-column prop="VIDEO_COUNT" label="视频个数" /> <el-table-column prop="VIDEO_COUNT" label="视频个数" />
<el-table-column prop="STATE" label="状态">
<template slot-scope="{row}">
<span v-if="row.STATE == 1"></span>
<span v-if="row.STATE == 2"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.OUTSOURCED_ID, row.UNITS_ID)">查看</el-button> <el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -123,9 +129,10 @@ export default {
}) })
}, },
// //
goDetail(ID, UNITS_ID) { goDetail(row) {
this.$parent.OUTSOURCED_ID = ID this.$parent.OUTSOURCED_ID = row.OUTSOURCED_ID
this.$parent.UNITS_ID = UNITS_ID this.$parent.UNITS_ID = row.UNITS_ID
this.$parent.STATE = row.STATE
this.$parent.activeName = 'videoList' this.$parent.activeName = 'videoList'
} }
} }

View File

@ -52,19 +52,19 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="left" width="500"> <el-table-column label="操作" align="left" width="500">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button :disabled="STATE == 2" type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button> <el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
<el-button v-show="!row.PLATFORMVIDEOMANAGEMENT_ID" type="warning" icon="el-icon-caret-right" size="mini" @click="showVideoBack(row.VIDEOURL)"></el-button> <el-button v-show="!row.PLATFORMVIDEOMANAGEMENT_ID" :disabled="STATE == 2" type="warning" icon="el-icon-caret-right" size="mini" @click="showVideoBack(row.VIDEOURL)"></el-button>
<el-button v-show="row.PLATFORMVIDEOMANAGEMENT_ID" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button> <el-button v-show="row.PLATFORMVIDEOMANAGEMENT_ID" :disabled="STATE == 2" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.VIDEOMANAGER_ID)"></el-button> <el-button v-show="edit" :disabled="STATE == 2" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.VIDEOMANAGER_ID)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.VIDEOMANAGER_ID)"></el-button> <el-button v-show="del" :disabled="STATE == 2" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.VIDEOMANAGER_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group" style="margin-bottom: 50px;"> <div class="page-btn-group" style="margin-bottom: 50px;">
<div> <div>
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-show="add" :disabled="STATE == 2" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
<el-button type="success" icon="el-icon-caret-right" @click="showAll"></el-button> <el-button :disabled="STATE == 2" type="success" icon="el-icon-caret-right" @click="showAll"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -190,6 +190,7 @@ export default {
}, },
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
STATE: this.$parent.STATE,
dates: [], dates: [],
videoList: [], videoList: [],
videoResourcesList: [], videoResourcesList: [],
@ -216,6 +217,7 @@ export default {
CODE: [{ required: true, message: '摄像头编号不能为空', trigger: 'blur' }] CODE: [{ required: true, message: '摄像头编号不能为空', trigger: 'blur' }]
}, },
dialogVideo: false, dialogVideo: false,
timer: '',
dialogVideoHLS: false, dialogVideoHLS: false,
dialogVideoBack: false, dialogVideoBack: false,
dialogVideoAll: false, dialogVideoAll: false,
@ -230,6 +232,8 @@ export default {
}, },
beforeDestroy() { beforeDestroy() {
this.map && this.map.removeEventListener('click', this.MapClick) this.map && this.map.removeEventListener('click', this.MapClick)
console.log('定时器关闭')
clearInterval(this.timer)
}, },
methods: { methods: {
getVideoResourcesSelect() { getVideoResourcesSelect() {
@ -323,8 +327,27 @@ export default {
this.$refs.multipleTable.clearSelection() this.$refs.multipleTable.clearSelection()
this.getList() this.getList()
}, },
//
start() {
console.log('定时器开启')
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5;
},
over() {
//
console.log('定时器手动关闭')
clearInterval(this.timer)
},
closeVideoStart() {
this.dialogVideo = false
this.dialogVideoHLS = false
this.dialogVideoBack = false
this.dialogVideoAll = false
this.over()
},
// //
showVideo(row) { showVideo(row) {
this.$message.warning('单次播放最多五分钟')
this.start()
if (!row.PLATFORMVIDEOMANAGEMENT_ID) { if (!row.PLATFORMVIDEOMANAGEMENT_ID) {
this.VIDEOURL = row.VIDEOURL this.VIDEOURL = row.VIDEOURL
this.dialogVideo = true this.dialogVideo = true

View File

@ -66,16 +66,6 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="属地" prop="POSSESSION"> <el-form-item label="属地" prop="POSSESSION">
<!-- <el-cascader
id="POSSESSION"
ref="POSSESSION"
v-model="dataForm.POSSESSION"
:options="areaList"
:props="areaProps"
placeholder="请选择属地"
style="width: 100%"
@change="cascaderChange"
/>-->
<el-input v-model="COMPANY_AREA" disabled placeholder="属地"/> <el-input v-model="COMPANY_AREA" disabled placeholder="属地"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -83,14 +73,6 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属行业" disabled prop="INDUSTRY"> <el-form-item label="所属行业" disabled prop="INDUSTRY">
<!-- <el-cascader
ref="industryCascader"
v-model="dataForm.INDUSTRYALL"
:options="hylxList"
:props="industryProps"
style="width: 100%;"
disabled
/>-->
<el-select v-model="dataForm.INDUSTRY" disabled style="width: 100%"> <el-select v-model="dataForm.INDUSTRY" disabled style="width: 100%">
<el-option v-for="item in industryList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/> <el-option v-for="item in industryList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/>
</el-select> </el-select>
@ -370,53 +352,14 @@ import { upload } from '@/utils/upload'
export default { export default {
components: { SelectTree, Treeselect }, components: { SelectTree, Treeselect },
data() { data() {
/* var hasName = (rule, value, callback) => {
requestFN(
'/corpinfo/hasName',
{
RELEVANT_UNIT_NAME: value,
CORPINFO_ID: ''
}
).then((data) => {
if (data.pd) {
if (data.pd.CORPINFO_ID === this.$parent.CORPINFO_ID) {
callback()
} else {
callback(new Error('单位名称重复'))
}
}
callback()
}).catch((e) => {
callback()
})
} */
/* var hasSocialCode = (rule, value, callback) => {
requestFN(
'/corpinfo/hasSocialCode',
{
SOCIAL_CODE: value,
CORPINFO_ID: ''
}
).then((data) => {
if (data.pd) {
if (data.pd.CORPINFO_ID === this.$parent.CORPINFO_ID) {
callback()
} else {
callback(new Error('统一社会信用代码重复'))
}
}
callback()
}).catch((e) => {
callback()
})
} */
return { return {
COMPANY_AREA: '', COMPANY_AREA: '',
dataForm: { dataForm: {
MAIN_DEPARTMENT: '', MAIN_DEPARTMENT: '',
businessLicenseDate: [], businessLicenseDate: [],
SUPERVISE_CORPINFO_DEPT_NAME: '',
COMPETENT_DEPT_NAME: '',
MANAGER_DEPARTMENT_NAME: '',
RELEVANT_UNIT_NAME: '', RELEVANT_UNIT_NAME: '',
SOCIAL_CODE: '', SOCIAL_CODE: '',
POSSESSION: '', POSSESSION: '',
@ -708,8 +651,20 @@ export default {
}) })
} }
data.pd.SELECT_FORM = data.pd.SELECT_FORM.split(',') data.pd.SELECT_FORM = data.pd.SELECT_FORM.split(',')
this.businessLicenseImgs = []
if (data.licenseImgs) {
data.licenseImgs.forEach(item => {
this.businessLicenseImgs.push(this.config.fileUrl + item.FILEPATH)
})
}
this.dataForm = Object.assign(this.dataForm, data.pd) this.dataForm = Object.assign(this.dataForm, data.pd)
this.dataForm.POSSESSION = [] this.dataForm.POSSESSION = []
this.dataForm.businessLicenseDate = []
this.dataForm.businessLicenseDate.push(this.dataForm.LICENSE_START)
this.dataForm.businessLicenseDate.push(this.dataForm.LICENSE_END)
if (data.pd.PROVINCE != '') this.dataForm.POSSESSION.push(data.pd.PROVINCE) if (data.pd.PROVINCE != '') this.dataForm.POSSESSION.push(data.pd.PROVINCE)
if (data.pd.CITY != '') this.dataForm.POSSESSION.push(data.pd.CITY) if (data.pd.CITY != '') this.dataForm.POSSESSION.push(data.pd.CITY)
if (data.pd.COUNTY != '') this.dataForm.POSSESSION.push(data.pd.COUNTY) if (data.pd.COUNTY != '') this.dataForm.POSSESSION.push(data.pd.COUNTY)

View File

@ -90,9 +90,10 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门"/> <el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" />
<el-table-column prop="SUPERVISE_CORPINFO_NAME" label="基层单位主管公司"/> <el-table-column prop="MANAGER_DEPARTMENT_NAME" label="股份监管部门" />
<el-table-column prop="SUPERVISE_DEPARTMENT_NAME" label="基层单位主管部门" /> <el-table-column prop="SUPERVISE_CORPINFO_DEPT_NAME" label="基层单位主管部门" show-overflow-tooltip/>
<el-table-column prop="COMPETENT_DEPT_NAME" label="基层单位监管部门" show-overflow-tooltip/>
<el-table-column prop="EMPLOYMENT_FORM_NAME" label="用工形式" /> <el-table-column prop="EMPLOYMENT_FORM_NAME" label="用工形式" />
<el-table-column :formatter="(row) => formatDictionaryLabel(row, '1')" prop="SELECT_FORM" label="选取形式" /> <el-table-column :formatter="(row) => formatDictionaryLabel(row, '1')" prop="SELECT_FORM" label="选取形式" />
<el-table-column prop="STATE" label="审核状态"> <el-table-column prop="STATE" label="审核状态">

View File

@ -0,0 +1,36 @@
<template>
<div>
<el-dialog :visible.sync="visible" :append-to-body="appendToBody" title="相关方安全告知培训合格证" width="370px" destroy-on-close >
<vue-qr :text="qrCodeStr" :margin="0" :size="320" color-dark="#000" color-light="#fff"/>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
export default {
components: { vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false,
qrCodeStr: ''
}
},
methods: {
init(e) {
this.visible = true
this.qrCodeStr = e.qrCodeStr
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,36 @@
<template>
<div>
<el-dialog :visible.sync="visible" :append-to-body="appendToBody" title="头像" width="370px" destroy-on-close >
<el-image :src="src"/>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
export default {
components: { vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false,
src: ''
}
},
methods: {
init(e) {
this.visible = true
this.src = e.src
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,252 @@
<template>
<div>
<el-dialog :visible.sync="visible" :append-to-body="appendToBody" title="相关方安全告知培训合格证" width="370px">
<div v-for="item in peopleList" :key="item.CLASS_INFO_ID" style="height: 220px">
<div class="bg_table">
<div class="title">相关方安全告知培训合格证</div>
<div class="red">{{ item.CLASS_NO }}</div>
<table class="table">
<tr>
<td style="width: 120px">
<div class="text textone name">姓名</div>
</td>
<td style="width: 100px;">
<div class="text text1 tcenter">{{ item.NAME }}</div>
</td>
<td style="width: 86px">
<div class="text text2 tcenter">工种</div>
</td>
<td style="width: 148px;">
<div v-if="item.JOBS_TYPE" class="text tcenter ">{{ item.JOBS_TYPE }}</div>
<div v-else></div>
</td>
<td rowspan="4" style="width: 134px;">
<img v-if="!getShowPicture(item)" src="../../../assets/images/peopleHead.png" alt="" style="width: 116px; height: 146px">
<img v-if="getShowPicture(item)" :src="config.fileUrl + item.PHOTO" alt="" style="width: 116px; height: 146px" @click="openPicture(config.fileUrl + item.PHOTO)">
</td>
</tr>
<tr>
<td>
<div class="text textone">资质</div>
</td>
<td colspan="3">
<div v-if="item.CERTIFICATE" class="text">{{ item.CERTIFICATE }}</div>
<div v-else></div>
</td>
</tr>
<tr>
<td>
<div class="text textone">培训时间</div>
</td>
<td colspan="3">
<div class="text">{{ item.OPENING_TIME }}</div>
</td>
</tr>
<tr>
<td>
<div class="text textone">有效期限</div>
</td>
<td colspan="3">
<div class="text">{{ item.VALIDITY_PERIOD_END }}</div>
</td>
</tr>
<tr>
<td>
<div class="text textone">所在单位</div>
</td>
<td colspan="3">
<div class="text">{{ item.DEPARTMENT_NAME }}</div>
</td>
<td rowspan="3" style="padding-top: 6px" @click="click()">
<vue-qr :text="qrCodeStr" :margin="0" :size="110" color-dark="#000" color-light="#fff"/>
</td>
</tr>
<tr>
<td>
<div class="text textone">身份证号</div>
</td>
<td colspan="3">
<div class="text">{{ item.CARD_ID }}</div>
</td>
</tr>
<tr>
<td>
<div class="text textone">手机</div>
</td>
<td colspan="3">
<div class="text">{{ item.PHONE }}</div>
</td>
</tr>
</table>
</div>
</div>
</el-dialog>
<QRCode ref="QRcode" append-to-body/>
<Picture ref="Picture" append-to-body/>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import vueQr from 'vue-qr'
import QRCode from './QRCode.vue'
import Picture from './picture.vue'
export default {
components: { QRCode, Picture, vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
config: config,
visible: false,
peopleList: [],
CLASS_MESSAGE_ID: '',
CLASS_INFO_ID: '',
qrCodeStr: ''
}
},
methods: {
init(e) {
if (e && e.TRAINUSERS_ID) {
this.TRAINUSERS_ID = e.TRAINUSERS_ID
}
this.getClassInfo()
this.visible = true
},
getClassInfo() {
requestFN('/classMessage/getClassinfo', {
TRAINUSERS_ID: this.TRAINUSERS_ID
})
.then((data) => {
this.pd = data.pd
this.qrCodeStr = config.messageUrl + '?CLASS_INFO_ID=' + this.pd.CLASS_INFO_ID
this.getInfo()
}).catch((e) => {
console.log(e)
})
},
getInfo() {
requestFN('/classMessage/getUserinfoList', {
CLASS_INFO_ID: this.pd.CLASS_INFO_ID,
CLASS_MESSAGE_ID: this.pd.CLASS_MESSAGE_ID
})
.then((data) => {
this.peopleList = data.list
}).catch((e) => {
console.log(e)
})
},
getShowPicture(row) {
if (row.PHOTO && row.PHOTO !== '' && (row.PHOTO.indexOf('.jpg') >= 0 || row.PHOTO.indexOf('.png') >= 0 || row.PHOTO.indexOf('.jpeg') >= 0)) {
return true
}
},
click() {
this.$refs.QRcode.init({ qrCodeStr: this.qrCodeStr })
},
openPicture(src) {
this.$refs.Picture.init({ src: src })
}
}
}
</script>
<style lang="scss" scoped>
.name{
width: 120px;
overflow: hidden;//
white-space: nowrap; //
text-overflow: ellipsis;//
}
.red {
width: 660px;
color: #ff0000;
margin-left: 34px;
font-size: 24px;
}
.bg_table {
background: url("../../../assets/tablebg.jpg") no-repeat bottom center;
background-size: 100%;
width: 660px;
height: 430px;
border: 4px solid #453d3a;
transform: scale(0.5);
transform-origin: top left;
.title {
font-size: 28px;
text-align: center;
margin-top: 34px;
font-weight: bold;
color: #000000;
}
.table {
border-collapse: collapse;
width: 590px;
color: #453d3a;
font-size: 20px;
margin: 34px;
text-align: left;
margin-top: 10px;
.tcenter {
text-align: center
}
.w60 {
width: 100px;
}
.w74 {
width: 148px
}
th, td {
border: 2px solid #453d3a;
text-align: left;
height: 40px;
padding: 0 16px;
box-sizing: border-box;
.textone {
width: 80px;
text-align: justify;
text-align-last: justify;
text-justify: distribute-all-lines;
margin: 0 auto;
}
.text1 {
width: 60px;
text-align: justify;
text-align-last: justify;
text-justify: distribute-all-lines;
margin: 0 auto;
}
.text2 {
width: 50px;
text-align: justify;
text-align-last: justify;
text-justify: distribute-all-lines;
margin: 0 auto;
}
.text {
}
}
}
}
</style>

View File

@ -70,9 +70,15 @@
<span >{{ getType(row) }}</span> <span >{{ getType(row) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="240">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleShow(row)"></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.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>
</template> </template>
</el-table-column> </el-table-column>
@ -144,7 +150,7 @@
<tr> <tr>
<th>民族</th> <th>民族</th>
<td>{{ userDetailForm.minzuName }}</td> <td>{{ userDetailForm.minzuName? userDetailForm.minzuName:'暂无信息' }}</td>
<th>婚姻状况</th> <th>婚姻状况</th>
<td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td> <td>{{ userDetailForm.MARITALSTATUS === '0' ? '未婚' : '已婚' }}</td>
<th>政治面貌</th> <th>政治面貌</th>
@ -156,47 +162,19 @@
<tr> <tr>
<th>户口所在地</th> <th>户口所在地</th>
<td>{{ userDetailForm.HKLOCAL }}</td> <td>{{ userDetailForm.HKLOCAL? userDetailForm.HKLOCAL:'暂无信息' }}</td>
<th>现住址</th> <th>现住址</th>
<td>{{ userDetailForm.ADDRESS }}</td> <td>{{ userDetailForm.ADDRESS? userDetailForm.ADDRESS:'暂无信息' }}</td>
<th>联系电话</th> <th>联系电话</th>
<td>{{ userDetailForm.PHONE }}</td> <td>{{ userDetailForm.PHONE }}</td>
</tr> </tr>
<tr> <tr>
<th>文化程度</th> <th>文化程度</th>
<td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td> <td>{{ userDetailForm.DEGREE_OF_EDUCATION_NAME }}</td>
<th>本企业从业开始日期</th> <!-- <th>本企业从业开始日期</th>-->
<td>{{ userDetailForm.CORP_START_DATE }}</td> <!-- <td>{{ userDetailForm.CORP_START_DATE }}</td>-->
<th>岗位名称</th> <th>岗位名称(工种)</th>
<td>{{ userDetailForm.POST_ID }}</td> <td colspan="3">{{ userDetailForm.POST_ID }}</td>
</tr>
<tr>
<th>本岗位从业开始日期</th>
<td colspan="5">{{ userDetailForm.ENTRY_DATE }}</td>
<!-- <th>是否按期缴纳工伤保险</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td>-->
<!-- <th>工种</th>-->
<!-- <td>{{ userDetailForm.PERSON_WORK_TYPE }}</td>-->
</tr>
<tr>
<th>是否签订劳动合同</th>
<td :colspan="userDetailForm.IS_SIGN_LABOR === '1' ? '' : 5">
{{ formatLabel(userDetailForm.IS_SIGN_LABOR) }}
</td>
<th v-if="userDetailForm.IS_SIGN_LABOR === '1'"></th>
<td v-if="userDetailForm.IS_SIGN_LABOR === '1'" colspan="3">
<span>
<viewer>
<img
v-for="item in contractFileList"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</span>
</td>
</tr> </tr>
<tr> <tr>
<th>是否缴纳社保</th> <th>是否缴纳社保</th>
@ -222,79 +200,34 @@
</tr> </tr>
<tr> <tr>
<th>是否参加三级安全培训</th> <th>是否参加三级安全培训</th>
<td colspan="5">{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td> <td >{{ formatLabel(userDetailForm.IS_LEVEL_THREE) }}</td>
</tr> <th v-if="userDetailForm.IS_LEVEL_THREE == 1"></th>
<tr> <td v-if="userDetailForm.IS_LEVEL_THREE == 1 && photosOfLevel.length>0" colspan="3">
<th>是否按期缴纳工伤保险</th>
<td :colspan="userDetailForm.IS_INJURIES_PAY === '1' ? '':5">{{ formatLabel(userDetailForm.IS_INJURIES_PAY) }}</td>
<th v-if="userDetailForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="userDetailForm.IS_INJURIES_PAY === '1'">{{ userDetailForm.IS_INJURIES_PAY_TIME }}</td>
<th v-if="userDetailForm.IS_INJURIES_PAY === '1'"></th>
<td v-if="userDetailForm.IS_INJURIES_PAY === '1'">
<span> <span>
<viewer> <div class="img-flex">
<img <viewer>
v-for="item in gongshangbaoxianFile" <img
:src="config.fileUrl + item.FILEPATH" v-for="item in photosOfLevel"
:key="item.IMGFILES_ID" :src="config.fileUrl + item.FILEPATH"
width="40" :key="item.IMGFILES_ID"
height="40" width="40"
style="object-fit: cover;"> height="40"
</viewer> style="object-fit: cover;">
</viewer>
</div>
</span> </span>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>是否缴纳商业保险</th> <th>是否缴纳保险</th>
<td :colspan="userDetailForm.ISPAY === '1' ? '' : 5"> <td >{{ formatLabelBf(userDetailForm.IS_BF) }}</td>
{{ formatLabel(userDetailForm.ISPAY) }}
</td>
<th v-if="userDetailForm.ISPAY === '1'"></th>
<td v-if="userDetailForm.ISPAY === '1'">
<span>
<viewer>
<img
v-for="item in insuranceFileList"
:src="config.fileUrl + item.FILEPATH"
:key="item.IMGFILES_ID"
width="40"
height="40"
style="object-fit: cover;">
</viewer>
</span>
</td>
<th v-if="userDetailForm.ISPAY === '1'"></th>
<td v-if="userDetailForm.ISPAY === '1'">{{ userDetailForm.ISPAY_NUMBER }}</td>
</tr>
<tr>
<!-- <th>安全告知培训是否合格</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_SAFETY_TELL) }}</td>-->
<!-- <th>安全告知培训合格日期</th>-->
<!-- <td>{{ userDetailForm.IS_SAFETY_TIME }}</td>-->
<th>是否特殊工种</th> <th>是否特殊工种</th>
<td colspan="5">{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td> <td >{{ formatLabel(userDetailForm.IS_SPECIAL_JOB) }}</td>
</tr>
<tr>
<th>是否流动人员</th> <th>是否流动人员</th>
<td>{{ formatLabel(userDetailForm.ISFLOW) }}</td> <td >{{ formatLabel(userDetailForm.ISFLOW) }}</td>
<!-- <th>是否开展入场安全告知</th>-->
<!-- <td>{{ formatLabel(userDetailForm.IS_SAFETY_TELL) }}</td>-->
<th>身体状况是否适应本岗位工作</th>
<td colspan="3">{{ formatLabel(userDetailForm.IS_BODY_ADAPT) }}</td>
</tr>
<!-- <tr>-->
<!-- <th>是否流动人员</th>-->
<!-- <td>{{ formatLabel(userDetailForm.ISFLOW) }}</td>-->
<!-- <th>流动范围</th>-->
<!-- <td colspan="3">{{ userDetailForm.TRAIN_AREA }}</td>-->
<!-- </tr>-->
<tr v-if="message != ''">
<th>打回人</th>
<td>{{ operator }}</td>
<th>打回原因</th>
<td :colspan="3">{{ message }}</td>
</tr> </tr>
</table> </table>
<div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title"> <div v-if="userDetailForm.IS_SPECIAL_JOB == '1'" class="level-title">
<h1>特种作业人员信息</h1> <h1>特种作业人员信息</h1>
</div> </div>
@ -346,7 +279,7 @@
<el-button @click="approve"> </el-button> <el-button @click="approve"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<user ref="userInfo" append-to-body/>
</div> </div>
</template> </template>
@ -354,9 +287,11 @@
import Pagination from '@/components/Pagination' // el-pagination import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import user from './user.vue'
export default { export default {
components: { components: {
Pagination Pagination, user
}, },
data() { data() {
return { return {
@ -367,6 +302,7 @@ export default {
imgUrl: '', imgUrl: '',
wenhuachengduList: [], // wenhuachengduList: [], //
gongshangbaoxianFile: [], gongshangbaoxianFile: [],
photosOfLevel: [],
postList: [], // postList: [], //
visible: false, visible: false,
pd: {}, pd: {},
@ -415,6 +351,25 @@ export default {
this.userList = [] this.userList = []
}, },
/** 根据id 获取数据 **/ /** 根据id 获取数据 **/
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(',')
}
},
getDataById(id) { getDataById(id) {
requestFN( requestFN(
'/flowTrain/getDetailsById', '/flowTrain/getDetailsById',
@ -426,6 +381,9 @@ export default {
}).catch((e) => { }).catch((e) => {
}) })
}, },
getUserInfo(row) {
this.$refs.userInfo.init(row)
},
// //
formatLabel(value) { formatLabel(value) {
if (value == '1') { if (value == '1') {
@ -512,17 +470,18 @@ export default {
).then((data) => { ).then((data) => {
this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail) this.userDetailForm = Object.assign(this.userDetailForm, data.userDetail)
this.listLoading = false this.listLoading = false
// this.dataForm = Object.assign(this.dataForm, data.pd) // this.userDetailForm = Object.assign(this.userDetailForm, data.pd)
this.userPhotoFile = data.userPhotoFile this.userPhotoFile = data.userPhotoFile
if (this.userPhotoFile.length > 0) { if (this.userPhotoFile.length > 0) {
this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH this.imgUrl = config.fileUrl + this.userPhotoFile[0].FILEPATH
} }
this.insuranceFileList = data.insuranceFile // this.insuranceFileList = data.insuranceFile
this.contractFileList = data.contractFile // this.contractFileList = data.contractFile
this.photosOfLevel = data.photosOfLevel
this.userCardIDPhotoFile = data.userCardIDPhotoFile this.userCardIDPhotoFile = data.userCardIDPhotoFile
this.socialPhotoFile = data.socialPhotoFile this.socialPhotoFile = data.socialPhotoFile
this.specialUsersList = data.specialUsers this.specialUsersList = data.specialUsers
this.gongshangbaoxianFile = data.gongshangbaoxianFile // this.gongshangbaoxianFile = data.gongshangbaoxianFile
resolve() resolve()
}).catch((e) => { }).catch((e) => {
reject() reject()

View File

@ -91,8 +91,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" /> <el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" />
<el-table-column prop="SUPERVISE_CORPINFO_NAME" label="基层单位主管公司" width="200" /> <el-table-column prop="MANAGER_DEPARTMENT_NAME" label="股份监管部门" />
<el-table-column prop="SUPERVISE_DEPARTMENT_NAME" label="基层单位主管部门" width="200" /> <el-table-column prop="SUPERVISE_CORPINFO_DEPT_NAME" label="基层单位主管部门" show-overflow-tooltip/>
<el-table-column prop="COMPETENT_DEPT_NAME" label="基层单位监管部门" show-overflow-tooltip/>
<el-table-column prop="CREATOR_NAME" label="开户人员" /> <el-table-column prop="CREATOR_NAME" label="开户人员" />
<el-table-column :formatter="(row) => formatStateLabel(row)" prop="STATE" 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="120">