Merge remote-tracking branch 'origin/liujun-2024-04-12-一公司人员定位' into liujun-2024-04-12-一公司人员定位

20240528Test
limingyu 2024-04-13 16:21:58 +08:00
commit b5aaa3d6d1
2 changed files with 170 additions and 72 deletions

View File

@ -12,16 +12,21 @@
<el-row :gutter="12"> <el-row :gutter="12">
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="typeInfo" label="映射类型: "> <el-form-item prop="typeInfo" label="映射类型: ">
<el-select v-model="material.typeInfo" filterable style="width: 300px" placeholder="请选择" @change="saveInfo"> <el-select v-model="material.typeInfo" filterable style="width:300px" placeholder="请选择" @change="saveInfo">
<el-option v-for="item in dic.mapType" :key="item.value" :label="item.name" :value="JSON.stringify(item)"/> <el-option v-for="item in dic.mapType" :key="item.value" :label="item.name" :value="JSON.stringify(item)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="备注:" prop="remark">
<el-input v-model="material.remark" style="width: 300px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="部门:" prop="departmentId"> <el-form-item label="负责部门:" prop="departmentId" style="width:300px">
<Treeselect <Treeselect
:options="dic.deptList" :options="dic.deptList"
:normalizer="normalizer" :normalizer="normalizer"
@ -36,8 +41,8 @@
</el-col> </el-col>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="人员:" prop="userInfo"> <el-form-item label="负责人员:" prop="userInfo" >
<el-select v-model="material.userInfo" style="width: 300px" placeholder="请选择" @change="chooseUser"> <el-select v-model="material.userInfo" style="width:300px" placeholder="请选择" @change="chooseUser">
<el-option <el-option
v-for="item in dic.userList" v-for="item in dic.userList"
:key="item.USER_ID" :key="item.USER_ID"
@ -47,34 +52,39 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责人手机号:" prop="userPhone">
<el-input v-model="material.userPhone" style="width: 300px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="负责人身份证:" prop="userCardId">
<el-input v-model="material.userCardId" style="width: 300px" 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="deviceId"> <el-form-item label="设备编号:" prop="deviceId">
<el-input v-model="material.deviceId" placeholder="请输入内容"/> <el-input v-model="material.deviceId" style="width: 300px" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备名称:" prop="deviceName"> <el-form-item label="设备名称:" prop="deviceName">
<el-input v-model="material.deviceName" placeholder="请输入内容"/> <el-input v-model="material.deviceName" style="width: 300px" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="其他系统编号:" prop="id"> <el-form-item label="其他系统编号:" prop="id">
<el-input v-model="material.id" placeholder="请输入内容"/> <el-input v-model="material.id" style="width: 300px" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="其他系统编号备注:" prop="id_remark"> <el-form-item label="其他系统编号备注:" prop="idRemark">
<el-input v-model="material.idRemark" placeholder="请输入内容"/> <el-input v-model="material.idRemark" style="width: 300px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注:" prop="id">
<el-input v-model="material.remark" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -120,7 +130,9 @@ export default {
deviceName: '', deviceName: '',
id: '', id: '',
idRemark: '', idRemark: '',
remark: '' remark: '',
userCardId: '',
userPhone: ''
}, },
form: { form: {
required: { required: {
@ -133,9 +145,11 @@ export default {
deviceId: '', deviceId: '',
deviceName: '', deviceName: '',
id: '', id: '',
idRemark: '' userCardId: '',
userPhone: ''
}, },
remark: '' remark: '',
idRemark: ''
}, },
normalizer(node) { normalizer(node) {
return { return {
@ -166,6 +180,12 @@ export default {
], ],
idRemark: [ idRemark: [
{ required: true, message: '请填写其他系统编号备注', trigger: 'change' } { required: true, message: '请填写其他系统编号备注', trigger: 'change' }
],
userPhone: [
{ required: true, message: '请填写负责人手机号', trigger: 'change' }
],
userCardId: [
{ required: true, message: '请填写负责人身份证', trigger: 'change' }
] ]
}, },
heirloom: {}, heirloom: {},
@ -182,12 +202,34 @@ export default {
}, },
methods: { methods: {
async init(e) { async init(e) {
if (e) {
this.heirloom = e
}
this.visible = true this.visible = true
await this.getDepartmentTree() await this.getDepartmentTree()
this.getDict() await this.getDict()
await this.getPeopleList({ id: e.departmentId })
if (e) {
await this.initInfo(e)
}
},
initInfo(e) {
return new Promise(resolve => {
this.heirloom = e
this.material.type = e.type
this.material.typeName = e.typeName
this.material.typeInfo = JSON.stringify({ name: e.typeName, value: e.type })
this.material.userId = e.userId
this.material.userName = e.userName
this.material.departmentId = e.departmentId
this.material.departmentName = e.departmentName
this.material.userPhone = e.userPhone
this.material.userCardId = e.userCardId
this.material.deviceId = e.deviceId
this.material.deviceName = e.deviceName
this.material.id = e.id
this.material.idRemark = e.idRemark
this.material.userInfo = e.userName
this.material.dwUserMapId = e.dwUserMapId
this.material.remark = e.remark
})
}, },
getMenu() { getMenu() {
return new Promise(resolve => { return new Promise(resolve => {
@ -204,6 +246,7 @@ export default {
}) })
}, },
sendMessage(e) { sendMessage(e) {
console.log(this.material)
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (!valid) { if (!valid) {
this.$message.error('请填写完整信息') this.$message.error('请填写完整信息')
@ -217,16 +260,20 @@ export default {
this.form.required.deviceId = this.material.deviceId this.form.required.deviceId = this.material.deviceId
this.form.required.deviceName = this.material.deviceName this.form.required.deviceName = this.material.deviceName
this.form.required.id = this.material.id this.form.required.id = this.material.id
this.form.required.idRemark = this.material.idRemark this.form.required.userCardId = this.material.userCardId
this.form.required.userPhone = this.material.userPhone
this.form.idRemark = this.material.idRemark
this.form.remark = this.material.remark this.form.remark = this.material.remark
this.form.dwUserMapId = this.material.dwUserMapId
requestFN( requestFN(
'/dingWei/saveOrUpdateMap', { data: JSON.stringify(this.form) } '/dingWei/saveOrUpdateMap', { data: JSON.stringify(this.form) }
).then((data) => { ).then((data) => {
if (data.code === 0) { if (data.code === 200) {
this.$message.success('操作成功') this.$message.success('操作成功')
this.handleClose() this.handleClose()
this.$emit('refresh') this.$emit('flush')
this.visible = false
} else { } else {
this.$message.error(data.msg) this.$message.error(data.msg)
} }
@ -237,17 +284,21 @@ export default {
}) })
}, },
getPeopleList(e) { getPeopleList(e) {
this.material.departmentName = e.name return new Promise(resolve => {
requestFN( this.material.departmentName = e.name
'/user/listAll', requestFN(
{ '/user/listAll',
DEPARTMENT_ID: e.id {
} DEPARTMENT_ID: e.id
).then((data) => { }
this.dic.userList = data.userList ).then((data) => {
this.material.userInfo = '' this.dic.userList = data.userList
}).catch((e) => { this.material.userInfo = ''
console.log(e) resolve(true)
}).catch((e) => {
console.log(e)
resolve(true)
})
}) })
}, },
chooseUser(e) { chooseUser(e) {
@ -256,32 +307,46 @@ export default {
this.material.userName = entity.NAME this.material.userName = entity.NAME
}, },
handleClose() { handleClose() {
this.form = { this.beforeClose()
STATUS: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '',
APPOINT_USER_NAME: '',
OPINION: '',
user: '',
list: [],
tm: new Date().getTime()
}
this.visible = false
}, },
beforeClose() { beforeClose() {
this.visible = false this.visible = false
this.form = { this.form = {
STATUS: '', required: {
APPOINT_DEPARTMENT_ID: null, type: '',
APPOINT_DEPARTMENT_NAME: '', typeName: '',
APPOINT_USER_ID: '', departmentId: '',
APPOINT_USER_NAME: '', departmentName: '',
OPINION: '', userId: '',
user: '', userName: '',
list: [], deviceId: '',
tm: new Date().getTime() deviceName: '',
id: '',
userCardId: '',
userPhone: ''
},
remark: '',
idRemark: ''
} }
this.material = {
typeInfo: '',
type: '',
typeName: '',
deptInfo: '',
departmentId: null,
departmentName: '',
userInfo: '',
userId: '',
userName: '',
deviceId: '',
deviceName: '',
id: '',
idRemark: '',
remark: '',
userCardId: '',
userPhone: ''
}
this.$emit('flush')
}, },
saveInfo(e) { saveInfo(e) {
const info = JSON.parse(e) const info = JSON.parse(e)
@ -289,12 +354,16 @@ export default {
this.material.typeName = info.name this.material.typeName = info.name
}, },
getDict() { getDict() {
requestFN('dingWei/getDictionary').then((data) => { return new Promise(resolve => {
this.dic.alarmStatus = JSON.parse(data.AlarmStatus) requestFN('dingWei/getDictionary').then((data) => {
this.dic.logType = JSON.parse(data.LogType) this.dic.alarmStatus = JSON.parse(data.AlarmStatus)
this.dic.mapType = JSON.parse(data.MapType) this.dic.logType = JSON.parse(data.LogType)
}).catch((e) => { this.dic.mapType = JSON.parse(data.MapType)
this.listLoading = false resolve(true)
}).catch((e) => {
this.listLoading = false
resolve(true)
})
}) })
}, },
getDepartmentTree() { getDepartmentTree() {

View File

@ -36,19 +36,19 @@
highlight-current-row> highlight-current-row>
<el-table-column :selectable="handleSelectWithDifferentStatus" type="selection" width="55" align="center"/> <el-table-column :selectable="handleSelectWithDifferentStatus" type="selection" width="55" 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="USERNAME" label="用户名" align="center"/> <el-table-column prop="typeName" label="映射类型" align="center"/>
<el-table-column prop="NAME" label="姓名" align="center"/> <el-table-column prop="userName" label="姓名" align="center"/>
<el-table-column prop="departmentName" label="部门名称" align="center"/> <el-table-column prop="departmentName" label="部门名称" align="center"/>
<el-table-column prop="userPhone" label="用户手机号" align="center"/> <el-table-column prop="userPhone" label="用户手机号" align="center"/>
<el-table-column prop="deviceId" label="设备id" align="center"/> <el-table-column prop="deviceId" label="设备id" align="center"/>
<el-table-column prop="deviceName" label="设备名称" align="center"/> <el-table-column prop="deviceName" label="设备名称" align="center"/>
<el-table-column prop="id" label="其他系统编号" align="center"/> <el-table-column prop="id" label="其他系统编号" align="center"/>
<el-table-column prop="idRemark" label="其他系统备注" align="center"/> <el-table-column prop="idRemark" label="其他系统备注" align="center"/>
<el-table-column prop="createTime" label="创建时间" align="center"/> <el-table-column prop="createdTime" label="创建时间" align="center"/>
<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 type="primary" icon="el-icon-edit" size="mini" @click="handleDelete(row)"></el-button> <el-button type="danger" icon="el-icon-edit" size="mini" @click="handleDelete(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleDelete(row)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -89,8 +89,7 @@ export default {
} }
}, },
created() { created() {
this.getDict() this.getList()
// this.getList()
this.hasButton() this.hasButton()
}, },
methods: { methods: {
@ -118,7 +117,7 @@ export default {
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
this.varList = data.list this.varList = data.list
this.total = data.page.total this.listQuery.total = Number(data.page.total)
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
@ -155,7 +154,37 @@ export default {
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
},
handleDelete(row) {
this.$confirm('是否删除该条数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/dingWei/deleteMap', { id: row.dwUserMapId }
).then((data) => {
this.listLoading = false
this.$message({
type: 'success',
message: '删除成功!'
})
this.getList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
handleEdit(row) {
this.$refs.info.init(row)
} }
} }
} }
</script> </script>