This commit is contained in:
2309368887@qq.com 2022-06-21 15:38:34 +08:00
parent 9269677410
commit c8b0f21069
5 changed files with 310 additions and 2 deletions

View File

@ -5,8 +5,8 @@ NODE_ENV = development
VUE_APP_TITLE = '曲阳金隅安全智能管控平台'
# 接口地址
# VUE_APP_API_BASEURL = http://49.232.14.174:2226/api
VUE_APP_API_BASEURL = http://127.0.0.1:8000/api
VUE_APP_API_BASEURL = http://49.232.14.174:2226/api
#VUE_APP_API_BASEURL = http://127.0.0.1:8000/api
# 本地端口
VUE_APP_PORT = 2800

39
src/api/model/opl.js Normal file
View File

@ -0,0 +1,39 @@
import config from "@/config"
import http from "@/utils/request"
export default {
rparty: {
list: {
name: "获取",
req: async function(data){
return await http.get(
`${config.API_URL}/opm/opl_cate/`,
data
);
}
},
update: {
name: "更新",
req: async function(id, data){
return await http.put(
`${config.API_URL}/opm/opl_cate/${id}/`,
data);
}
},
create: {
name: "创建",
req: async function(data){
return await http.post(
`${config.API_URL}/opm/opl_cate/`,
data);
}
},
delete: {
name: "删除",
req: async function(id){
return await http.delete(
`${config.API_URL}/opm/opl_cate/${id}/`);
}
}
},
}

View File

@ -143,6 +143,15 @@ const routes = [
},
"component": "opm/operation"
},
{
"name": "oplcate",
"path": "/opm/oplcate",
"meta": {
"title": "许可证分类",
"icon": "el-icon-menu",
},
"component": "opm/oplcate"
},
]
},
{

View File

@ -0,0 +1,102 @@
<template>
<el-container>
<!-- <el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
<el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button>
<el-button type="primary" plain :disabled="selection.length!=1" @click="permission">权限设置</el-button>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input v-model="search.keyword" placeholder="姓名/手机号" clearable @click="upsearch"></el-input>
<el-button type="primary" icon="el-icon-search" @click="upsearch"></el-button>
</div>
</div>
</el-header> -->
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" fit stripe @resetQuery="resetQuery">
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="事件种类" prop="cate_name"></el-table-column>
<el-table-column label="发生区域" prop="area_name">
</el-table-column>
<el-table-column label="人员类型" prop="peope_type">
<template #default="scope">
<span v-if="scope.row.peope_type=='employee'">企业员工</span>
<span v-if="scope.row.peope_type=='remployee'">相关方</span>
<span v-if="scope.row.peope_type=='visitor'">访客</span>
</template>
</el-table-column>
<el-table-column label="当事人" prop="people_name"></el-table-column>
<el-table-column label="发生时间" prop="create_time"></el-table-column>
<el-table-column label="是否已处理">
<template #default="scope">
<el-icon v-if="scope.row.handle_user" color="green"><CircleCheckFilled /></el-icon>
<el-icon v-else color="red"><CircleCloseFilled /></el-icon>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="right">
<template #default="scope">
<el-button-group>
<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看</el-button>
<!-- <el-button text type="warning" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button> -->
<!-- <el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button text type="danger" size="small">删除</el-button>
</template>
</el-popconfirm> -->
</el-button-group>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
import { CircleCheckFilled, CircleCloseFilled } from '@element-plus/icons-vue'
export default {
name: 'event',
components: {
CircleCheckFilled,
CircleCloseFilled
},
data() {
return {
dialog: {
save: false,
permission: false
},
apiObj: this.$API.ecm.event.list,
query: {},
selection: [],
search: {
keyword: null
}
}
},
methods: {
//
table_show(row){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('show').setData(row)
})
},
//
upsearch(){
},
//
handleSaveSuccess(data, mode){
if(mode=='add'){
this.$refs.table.refresh()
}else if(mode=='edit'){
this.$refs.table.refresh()
}
},
resetQuery(){
this.query = {}
}
}
}
</script>

158
src/views/opm/oplcate.vue Normal file
View File

@ -0,0 +1,158 @@
<template>
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
<!-- <el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button>
<el-button type="primary" plain :disabled="selection.length!=1" @click="permission">权限设置</el-button> -->
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input v-model="search.keyword" placeholder="名称" clearable @click="upsearch"></el-input>
<el-button type="primary" icon="el-icon-search" @click="upsearch"></el-button>
</div>
</div>
</el-header>
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe @resetQuery="resetQuery" >
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="名称" prop="name" width="200"></el-table-column>
<el-table-column label="标识" prop="code" width="180">
</el-table-column>
<el-table-column label="操作" fixed="right" align="right" width="170">
<template #default="scope">
<el-button-group>
<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看</el-button>
<el-button text type="warning" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button>
</el-button-group>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: 'oplcate',
components: {
},
data() {
return {
apiObj: this.$API.opm.opl_cate.list,
query: {},
selection: [],
search: {
keyword: null
}
}
},
methods: {
//
add(){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('add')
})
},
//
table_edit(row){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('edit').setData(row)
})
},
//
table_show(row){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('show').setData(row)
})
},
//
permission(){
this.dialog.permission = true
this.$nextTick(() => {
this.$refs.permissionDialog.open()
})
},
//
async table_del(row){
var reqData = {id: row.id}
var res = await this.$API.demo.post.post(reqData);
if(res.code == 200){
this.$refs.table.refresh()
this.$message.success("删除成功")
}else{
this.$alert(res.message, "提示", {type: 'error'})
}
},
//
async batch_del(){
this.$confirm(`确定删除选中的 ${this.selection.length} 项吗?如果删除项中含有子集将会被一并删除`, '提示', {
type: 'warning'
}).then(() => {
const loading = this.$loading();
this.$refs.table.refresh()
loading.close();
this.$message.success("操作成功")
}).catch(() => {
})
},
//
selectionChange(selection){
this.selection = selection;
},
//
changeSwitch(val, row){
row.status = row.status == '1'?'0':'1'
row.$switch_status = true;
setTimeout(()=>{
delete row.$switch_status;
row.status = val;
this.$message.success("操作成功")
}, 500)
},
//
upsearch(){
},
//ID
filterTree(id){
var target = null;
function filter(tree){
tree.forEach(item => {
if(item.id == id){
target = item
}
if(item.children){
filter(item.children)
}
})
}
filter(this.$refs.table.tableData)
return target
},
//
handleSaveSuccess(data, mode){
if(mode=='add'){
this.$refs.table.refresh()
}else if(mode=='edit'){
this.$refs.table.refresh()
}
},
resetQuery(){
this.query = {}
}
}
}
</script>