Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
wuhongjian 2022-12-16 09:31:46 +08:00
commit b20d08fb14
11 changed files with 1773 additions and 1224 deletions

View File

@ -0,0 +1,432 @@
<!--
* @Author: Light
* @Date: 2022-12-13 15:36:38
* @LastEditors: Light
* @LastEditTime: 2022-12-14 11:52:27
* @Description: 审核组管理
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__role">
<el-form :inline="true" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="name" :placeholder="$t('role.name')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()" type="primary">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addDialog()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="deleteTeam()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="dataListLoading"
:data="dataList"
border
@selection-change="dataListSelectionChangeHandle"
@sort-change="dataListSortChangeHandle"
style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="name" :label="$t('role.name')" header-align="center" align="center"></el-table-column>
<el-table-column prop="description" label="备注" header-align="center" align="center"></el-table-column>
<el-table-column prop="createDate" :label="$t('role.createDate')" header-align="center" align="center" width="180"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button type="text" size="small" @click="updateTeam(scope.row)">{{ $t('update') }}</el-button>
<el-button type="text" size="small" @click="auditorDialogVisible(scope.row)">审核员管理</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<el-dialog
:title="(submitData.id?'修改':'新增')+'审核组'"
:visible.sync="addDialogVisible"
width="30%"
:before-close="handleClose"
:close-on-click-modal="false">
<el-form ref="submitData" :model="submitData" label-width="100px" :rules="rules">
<el-form-item label="审核组名称" prop="name">
<el-input placeholder="请输入审核组名称" v-model="submitData.name"></el-input>
</el-form-item >
<el-form-item label="备注" prop="description">
<el-input placeholder="请输入备注" v-model="submitData.description"></el-input>
</el-form-item >
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()"> </el-button>
<el-button type="primary" @click="addAuditTeam()"> </el-button>
</span>
</el-dialog>
<el-dialog
title="审核员管理"
:visible.sync="addAuditorDialogVisible"
width="70%"
:before-close="handleClose"
:close-on-click-modal="false">
<div class="box">
<div class="left">
<div style="position: relative;">审核人员列表<el-checkbox style="position: absolute;right: 0;" v-model="checked" @change="changeFilter()">仅展示未分配审核员</el-checkbox></div>
<el-table
:height="400"
:data="auditorList"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectAuditorLeft">
<el-table-column type="selection" header-align="center" align="center" width="50" :selectable="selectable"></el-table-column>
<el-table-column prop="real_name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="name" label="所属部门" header-align="center" align="center"></el-table-column>
<el-table-column prop="auditTeamName" label="当前审核组" header-align="center" align="center" v-if="!checked"></el-table-column>
</el-table>
<el-pagination
background
layout="prev, pager, next"
:page-size="pageOptionLeft.limit"
:total="pageOptionLeft.total"
@current-change="currentChangeLeft">
</el-pagination>
</div>
<div class="main">
<el-button type="primary" icon="el-icon-arrow-left" @click="delAudiTeam()"></el-button>
<el-button type="primary" @click="addAudiTeam()"><i class="el-icon-arrow-right el-icon--right"></i></el-button>
</div>
<div class="right">
<div>已添加审核人员</div>
<el-table
:height="400"
:data="submitData.member"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectAuditorRight">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
<el-table-column prop="dept_name" label="所属部门" header-align="center" align="center"></el-table-column>
</el-table>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()"> </el-button>
<el-button type="primary" @click="handleClose()"> </el-button>
</span>
</el-dialog>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import qs from 'qs'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: 'audit_team/sysauditteam/page',
getDataListIsPage: true,
deleteIsBatch: true
},
name: '',
dataForm: {
name: ''
},
submitData: {
name: '',
description: '',
member: []
},
submitFlag: true,
deleteFlag: true,
rules: {
name: [
{ required: true, message: '请输入审核组名称', trigger: 'blur' }
]
},
addDialogVisible: false,
addAuditorDialogVisible: false,
auditorList: [],
selectAuditorListLeft: [],
selectAuditorListRight: [],
pageOptionLeft: {
page: 1,
limit: 5,
total: 0
},
checked: true
}
},
components: {
},
methods: {
addDialog () {
this.addDialogVisible = true
},
handleClose () {
this.addDialogVisible = false
this.addAuditorDialogVisible = false
this.selectAuditorListLeft = []
this.selectAuditorListRight = []
this.submitData = {
name: '',
description: '',
member: []
}
this.pageOptionLeft = {
page: 1,
limit: 5,
total: 0
}
this.checked = true
this.getAuditList()
this.resetHandle()
},
auditorDialogVisible (row) {
this.submitData = {
id: row.id,
name: row.name,
description: row.description,
member: row.member
}
this.addAuditorDialogVisible = true
},
//
addAuditTeam () {
this.$refs.submitData.validate((valid) => {
if (valid) {
this.submitFrom()
} else {
return false
}
})
},
submitFrom (flag) {
if (this.submitFlag) {
this.submitFlag = false
if (this.submitData.id) {
this.$http.put('audit_team/sysauditteam', this.submitData).then(res => {
if (res.data.msg !== 'success') {
this.$message({
type: 'warning',
message: '修改失败'
})
} else {
this.$message.success('修改成功!')
}
if (!flag || res.data.msg !== 'success') {
this.handleClose()
this.resetHandle()
}
if (flag) {
this.getAuditList()
}
this.submitFlag = true
})
} else {
this.$http.post('audit_team/sysauditteam', this.submitData).then(res => {
if (res.data.msg !== 'success') {
this.$message({
type: 'warning',
message: '修改失败'
})
} else {
this.$message.success('修改成功!')
}
this.handleClose()
this.resetHandle()
this.submitFlag = true
})
}
} else {
this.$message({
type: 'warning',
message: '请勿重复操作!'
})
}
},
//
deleteTeam () {
if (this.dataListSelections.length === 0) {
this.$message({
type: 'warning',
message: '请先选择需要删除的审批组!'
})
return
}
if (this.deleteFlag) {
this.deleteFlag = false
const ids = []
this.dataListSelections.map(val => {
ids.push(val.id)
})
this.$http.delete('audit_team/sysauditteam', { data: ids }).then(res => {
if (res.data.msg !== 'success') {
this.$message({
type: 'warning',
message: '删除失败'
})
} else {
this.$message.success('删除成功!')
}
this.resetHandle()
this.deleteFlag = true
})
} else {
this.$message({
type: 'warning',
message: '请勿重复操作!'
})
}
},
//
updateTeam (row) {
this.submitData = {
id: row.id,
name: row.name,
description: row.description,
member: row.member
}
this.addDialogVisible = true
},
//
handleSelectAuditorLeft (val) {
this.selectAuditorListLeft = val
},
handleSelectAuditorRight (val) {
this.selectAuditorListRight = val
},
resetHandle () {
this.dataForm.name = ''
this.$nextTick(() => {
this.getDataList()
})
},
getAuditList () {
this.$http.get('/sys/user/auditingUserPage?' + qs.stringify({
page: this.pageOptionLeft.page,
limit: this.pageOptionLeft.limit,
filter: this.checked
})).then(res => {
this.auditorList = res.data.data.list
this.pageOptionLeft.total = res.data.data.total
})
},
currentChangeLeft (val) {
this.pageOptionLeft.page = val
this.getAuditList()
},
//
addAudiTeam () {
if (this.selectAuditorListLeft.length === 0) {
this.$message({
type: 'warning',
message: '请选择审核人员!'
})
return
}
// const arr = []
// const str = ''
// const addArr = []
this.selectAuditorListLeft.map(val => {
// if (val.auditTeamName) {
// arr.push({
// name: val.real_name,
// auditor: val.auditTeamName
// })
// str += val.real_name + ';'
// }
// addArr.push({
// id: val.id,
// name: val.real_name,
// dept_name: val.name
// })
this.submitData.member.push({
id: val.id,
name: val.real_name,
dept_name: val.name
})
})
// if (arr.length > 0) {
// this.$message({
// type: 'warning',
// message: str.substring(0, str.length - 1) + ''
// })
// return
// }
// this.submitData.member.push(...addArr)
this.submitFrom(true)
},
//
delAudiTeam () {
if (this.selectAuditorListRight.length === 0) {
this.$message({
type: 'warning',
message: '请选择审核人员!'
})
return
}
this.selectAuditorListRight.map(val => {
this.submitData.member = this.submitData.member.filter(member => member.id !== val.id)
})
this.submitFrom(true)
},
selectable (row) {
return !row.inAuditTeam
},
changeFilter () {
this.pageOptionLeft.page = 1
this.getAuditList()
}
},
created () {
this.getAuditList()
}
}
</script>
<style lang="scss" scoped>
// :deep(.el-form-item__label::before){
// line-height: 40px;
// }
.box{
display: flex;
justify-content: center;
align-items: flex-start;
.left{
width: 600px;
div:nth-of-type(1){
text-align: center;
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
}
}
.main{
margin: 200px 30px 0;
}
.right{
width: 500px;
div:nth-of-type(1){
text-align: center;
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
}
}
}
:deep(.el-pagination){
display: flex;
justify-content: center;
}
</style>

View File

@ -73,12 +73,12 @@ export default {
AddOrUpdate
},
methods: {
resetHandle() {
this.dataForm.name = '';
resetHandle () {
this.dataForm.name = ''
this.$nextTick(() => {
this.getDataList()
})
},
}
}
}
</script>

View File

@ -61,8 +61,8 @@ export default {
},
{
title: '单位',
key: 'deptContacts',
dataIndex: 'deptContacts',
key: 'deptName',
dataIndex: 'deptName',
width: 144
},
{

View File

@ -346,6 +346,7 @@ export function getZwyBusinessList(params) {
params,
})
}
//
export function getZwyBusinessInfoById(params) {
return request({
@ -354,7 +355,22 @@ export function getZwyBusinessInfoById(params) {
params,
})
}
//
export function getZwyVideoList(params) {
return request({
url: '/act/task/getZwyVideoList',
method: 'get',
params,
})
}
//
export function getZwyVideoInfoById(params) {
return request({
url: '/act/task/getZwyVideoInfoById',
method: 'get',
params,
})
}
//
export function treminders(data) {
return request({

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -345,7 +345,22 @@
label="预约部门"
v-bind="validateInfos.dept"
>
<a-input v-model:value="formState.dept" style="width: 72%" />
<!-- <a-input v-model:value="formState.dept" style="width: 72%" /> -->
<a-select
ref="select"
v-model:value="formState.dept"
style="width: 200px"
dropdown-class-name="eia-dropdown-class"
:showSearch="true"
>
<a-select-option
:value="item.value"
v-for="item in deptList"
:key="item.value"
>
{{ item.label }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
@ -796,6 +811,7 @@
selectByChannelCode,
} from '@/api/videoSurveillance'
import { getCameraByCondition } from '@/api/file'
import { getDeptAll } from '@/api/user'
import {
getUser,
getEnkeUsers,
@ -853,6 +869,16 @@
'fullScreen',
], //,
})
const deptList = ref([])
getDeptAll().then((res) => {
deptList.value = []
res.data.data.map((val) => {
deptList.value.push({
value: val.name,
label: val.name,
})
})
})
const meetingList = ref([])
const meetingPagination = ref({
total: 0,
@ -2839,6 +2865,9 @@
}
</style>
<style lang="less">
.eia-dropdown-class {
z-index: 10010 !important;
}
.wrj {
.ant-modal-body {
height: 700px !important;

View File

@ -30,16 +30,20 @@
<script setup>
import { onMounted, defineProps, ref } from 'vue'
import {
getZwyBusinessInfoById
getZwyBusinessInfoById,
getZwyVideoInfoById
} from '@/api/personalCenter'
const props = defineProps({
BSNUM: { type: String, default: '' },
baseInfo: { type: Object, default: null },
chooseTab: { type: Number, default: 0 },
})
const BSNUM = ref('')
const chooseTab = ref(0)
const baseInfo = ref({})
BSNUM.value = props.BSNUM
chooseTab.value=props.chooseTab
baseInfo.value = props.baseInfo
const columns = ref([
{
@ -57,17 +61,27 @@ const xVideoList = ref([
])
onMounted(() => {
const params={
"id":BSNUM.value
}
getZwyBusinessInfoById(params).then(
if(chooseTab.value===2){
getZwyBusinessInfoById(params).then(
(res) => {
xVideoList.value = res.data.data
num.value = []
total.value = res.data.data.total
// total.value = res.data.data.length
}
)
}else if(chooseTab.value===3){
getZwyVideoInfoById(params).then(
(res) => {
xVideoList.value = res.data.data
// total.value = res.data.data.length
}
)
}
})
</script>

File diff suppressed because it is too large Load Diff