Browse Source

6.13

master
fengdong777 2 years ago
parent
commit
f79e1174a3
  1. 2
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/package.json
  2. 8
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/api/yxtdispatchcenter/dispatchorderinfo.js
  3. 46
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/layout/components/Sidebar/index.vue
  4. 29
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/router/index.js
  5. 2
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/router/modules/codemenu.js
  6. 12
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchmodletemplate/dispatchmodletemplate.vue
  7. 16
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchmodletemplate/dispatchstandards.vue
  8. 45
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchorderinfo.vue
  9. 5
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchorderinfoAdd.vue
  10. 47
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchpatrolplan.vue
  11. 2
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchpatrolplanAdds.vue
  12. 294
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchtemplate/dispatchtemplate.vue
  13. 305
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchtemplate.vue
  14. 184
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchworker.vue
  15. 21
      yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchworkerAdd.vue

2
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/package.json

@ -18,7 +18,7 @@
"bpmn-js": "^9.2.2",
"core-js": "^2.6.12",
"ejs": "^2.7.4",
"element-ui": "2.13.2",
"element-ui": "^2.15.6",
"js-cookie": "2.2.0",
"moment": "^2.29.1",
"normalize.css": "7.0.0",

8
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/api/yxtdispatchcenter/dispatchorderinfo.js

@ -64,4 +64,12 @@ export default {
data: params
})
},
// 查询分页列表
listPages: function(params) {
return request({
url: '/yxtdispatchcenter/v1/dispatchopmalarm/listPage',
method: 'post',
data: params
})
},
}

46
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/layout/components/Sidebar/index.vue

@ -88,49 +88,13 @@ export default {
},
],
},
{
path: "/dispatchpatrolmodle",
component: "DispatchPatrolModleIndex",
redirect: "/dispatchpatrolmodle/index",
meta: {
icon: "el-icon-menu",
title: "工单管理",
},
name: "",
children: [
{
path: "/dispatchpatrolmodle/index",
component: "DispatchPatrolModleIndex",
name: "DispatchPatrolModleIndex",
meta: { title: "巡视工单管理",icon: "el-icon-help" },
},
],
},
{
path: "/dispatchtemplate",
component: "DispatchTemplateIndex",
redirect: "/dispatchtemplate/index",
meta: {
icon: "el-icon-menu",
title: "运维任务模板",
},
name: "",
children: [
{
path: "/dispatchtemplate/index",
component: "DispatchTemplateIndex",
name: "DispatchTemplateIndex",
meta: { title: "运维任务模板" },
},
],
},
{
path: "/dispatchworker",
component: "DispatchWorkerIndex",
redirect: "/dispatchworker/index",
meta: {
icon: "el-icon-menu",
title: "工单运维人员情况",
title: "告警管理",
},
name: "",
children: [
@ -138,7 +102,13 @@ export default {
path: "/dispatchworker/index",
component: "DispatchWorkerIndex",
name: "DispatchWorkerIndex",
meta: { title: "工单运维人员情况" },
meta: { title: "实时告警",icon: "el-icon-help" },
},
{
path: "/dispatchworker/dispatchtemplate",
component: "DispatchTemplate",
name: "DispatchTemplate",
meta: { title: "历史告警",icon: "el-icon-help" },
},
],
},

29
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/router/index.js

@ -83,7 +83,7 @@ export const constantRoutes = [
redirect: '/dispatchorderinfo/index',
meta: {
title: '巡视工单管理'
},
},
children: [{
path: '/dispatchorderinfo/index',
component: () => import('@/views/yxtdispatchcenter/dispatchorderinfo/dispatchorderinfo.vue'),
@ -125,33 +125,26 @@ export const constantRoutes = [
meta: { title: '(运维任务标准库)' }
}]
},
{
path: '/dispatchtemplate',
component: Layout,
redirect: '/dispatchtemplate/index',
meta: {
title: '运维任务模板'
},
children: [{
path: '/dispatchtemplate/index',
component: () => import('@/views/yxtdispatchcenter/dispatchtemplate/dispatchtemplate.vue'),
name: 'DispatchTemplateIndex',
meta: { title: '运维任务模板' }
}]
},
{
path: '/dispatchworker',
component: Layout,
redirect: '/dispatchworker/index',
meta: {
title: '工单运维人员情况'
title: '告警管理'
},
children: [{
path: '/dispatchworker/index',
component: () => import('@/views/yxtdispatchcenter/dispatchworker/dispatchworker.vue'),
name: 'DispatchWorkerIndex',
meta: { title: '工单运维人员情况' }
}]
meta: { title: '实时告警' }
},
{
path: '/dispatchworker/dispatchtemplate',
component: () => import('@/views/yxtdispatchcenter/dispatchworker/dispatchtemplate.vue'),
name: 'DispatchTemplate',
meta: { title: '历史告警' }
}
]
},
{
path: '/404',

2
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/router/modules/codemenu.js

@ -80,7 +80,7 @@ const codemenu = [
},
children: [{
path: '/dispatchtemplate/index',
component: () => import('@/views/yxtdispatchcenter/dispatchtemplate/dispatchtemplate.vue'),
component: () => import('@/views/yxtdispatchcenter/dispatchworker/dispatchtemplate.vue'),
name: 'DispatchTemplateIndex',
meta: { title: '运维任务模板' }
}]

12
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchmodletemplate/dispatchmodletemplate.vue

@ -31,8 +31,12 @@
<el-table-column prop="taskid" label="任务项标准库id" align="center" />
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@ -237,4 +241,8 @@ export default {
}
</script>
<style scoped>
.item {
margin: 6px;
}
</style>

16
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchmodletemplate/dispatchstandards.vue

@ -33,9 +33,15 @@
<el-table-column prop="taskreturn" :formatter="formatPrivilegeType" label="反馈形式" align="center" />
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
<i class="el-icon-notebook-2" @click="toInfo(scope.row)"></i>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@ -251,4 +257,8 @@ export default {
}
</script>
<style scoped>
.item {
margin: 6px;
}
</style>

45
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchorderinfo.vue

@ -51,9 +51,15 @@
<el-table-column prop="receivetel" label="现场联系人电话" align="center" />
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@ -75,12 +81,20 @@
</div>
<!-- End 查询和其列表部分 -->
<el-drawer
title="我是外面的 Drawer"
title="汇总工单数据详情"
:visible.sync="drawer"
size="60%">
<div>
<div>666</div>
</div>
size="86%">
<div class="main-content">
<el-descriptions class="margin-top" title="巡视工单信息" :column="5" :size="size">
<el-descriptions-item label="工单名称">{{ TableList.ordername }}</el-descriptions-item>
<el-descriptions-item label="工单编号">{{ TableList.orderno }}</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ TableList.custname }}</el-descriptions-item>
<el-descriptions-item label="等级">{{ TableList.orderdegree }}</el-descriptions-item>
<el-descriptions-item label="工单内容">{{ TableList.ordercontent }}</el-descriptions-item>
<el-descriptions-item label="现场联系人">{{ TableList.receiveperson }}</el-descriptions-item>
<el-descriptions-item label="现场联系人电话">{{ TableList.receivetel }}</el-descriptions-item>
</el-descriptions>
</div>
</el-drawer>
<!-- 新增修改部分组件 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
@ -132,7 +146,7 @@ export default {
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}],
multipleSelection: [],
btnList: [
{
{
type: 'primary',
size: 'small',
icon: 'plus',
@ -146,7 +160,9 @@ export default {
btnKey: 'doClose',
btnLabel: '关闭'
}
]
],
size:'',
TableList:[]
}
},
mounted() {
@ -280,11 +296,18 @@ export default {
return ''
}
},
purchase(row){
purchase(row){
this.drawer=true
this.TableList=row
},
}
}
</script>
<style scoped>
.margin-top {
border-bottom: 1px solid #ebebeb;
}
.item {
margin: 6px;
}
</style>

5
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchorderinfoAdd.vue

@ -151,7 +151,8 @@ export default {
ordertype: '', // 1-
ordercontent: '', //
receiveperson: '', //
receivetel: '' //
receivetel: '', //
workers:[]
},
arr:[{value:1,type:'计划巡视'},{value:2,type:'专项巡视'},{value:3,type:'告警巡视'}],
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}],
@ -265,6 +266,7 @@ export default {
_this.formobj.ordercontent = vdata.ordercontent //
_this.formobj.receiveperson = vdata.receiveperson //
_this.formobj.receivetel = vdata.receivetel //
// _this.formobj.workers = vdata.workers //
} else {
// resp.code
}
@ -299,7 +301,6 @@ export default {
},
handleSelectionChange(val) {
this.formobj.workers = val;
console.log(this.formobj);
},
handleSelection(selection){
if (selection.length > 1){

47
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchpatrolplan.vue

@ -35,9 +35,15 @@
<el-table-column prop="enddate" width="150px" label="计划结束日期" align="center" />
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@ -60,12 +66,24 @@
<el-drawer
title="我是外面的 Drawer"
title="汇总计划数据详情"
:visible.sync="drawer"
size="60%">
<div>
<div>666</div>
</div>
size="86%">
<div class="main-content">
<el-descriptions class="margin-top" title="巡视工单信息" :column="5">
<el-descriptions-item label="计划名称">{{ TableList.planname }}</el-descriptions-item>
<el-descriptions-item label="计划编号">{{ TableList.planno }}</el-descriptions-item>
<el-descriptions-item label="客户名称">{{ TableList.custname }}</el-descriptions-item>
<el-descriptions-item label="计划类型">{{ TableList.patroltype }}</el-descriptions-item>
<el-descriptions-item label="用户联系人">{{ TableList.contactperson }}</el-descriptions-item>
<el-descriptions-item label="用户联系人电话">{{ TableList.contactphone }}</el-descriptions-item>
<el-descriptions-item label="周期类型">{{ TableList.cycletype }}</el-descriptions-item>
<el-descriptions-item label="巡检周期">{{ TableList.cycle }}</el-descriptions-item>
<el-descriptions-item label="周期值">{{ TableList.cyclevalue }}</el-descriptions-item>
<el-descriptions-item label="计划开始日期">{{ TableList.startdate }}</el-descriptions-item>
<el-descriptions-item label="计划结束日期">{{ TableList.enddate }}</el-descriptions-item>
</el-descriptions>
</div>
</el-drawer>
<!-- End 查询和其列表部分 -->
@ -129,7 +147,8 @@ export default {
btnKey: 'doClose',
btnLabel: '关闭'
}
]
],
TableList:[]
}
},
mounted() {
@ -261,9 +280,17 @@ export default {
},
purchase(row){
this.drawer=true
this.TableList=row
console.log(row);
},
}
}
</script>
<style scoped>
<style scoped lang="scss">
.margin-top {
border-bottom: 1px solid #ebebeb;
}
.item {
margin: 6px;
}
</style>

2
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchorderinfo/dispatchpatrolplanAdds.vue

@ -142,7 +142,7 @@ export default {
data() {
return {
submitdisabled: false,
isSearchShow: false,
isSearchShow: true,
viewTitle: '',
searchxianshitit: '显示添加条件',
formobj: {

294
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchtemplate/dispatchtemplate.vue

@ -1,294 +0,0 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="运维任务模板" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="模板名称"><el-input v-model="queryParams.params.templatename" placeholder="请输入模板名称" clearable /></el-form-item>
<el-form-item label="描述:2-计划检修;3-巡检任务;"><el-input v-model="queryParams.params.ordertype" placeholder="请输入描述:2-计划检修;3-巡检任务;" clearable /></el-form-item>
<el-form-item label="仓库类型(仓库、门店)"><el-input v-model="queryParams.params.devtype" placeholder="请输入仓库类型(仓库、门店)" clearable /></el-form-item>
<el-divider />
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</el-form>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">运维任务模板列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="SID" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.sid }}</span>
</template>
</el-table-column>
<el-table-column prop="templatename" label="模板名称" align="center" />
<el-table-column prop="ordertype" label="描述:2-计划检修;3-巡检任务;" align="center" />
<el-table-column prop="devtype" label="仓库类型(仓库、门店)" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<!-- 详情部分组件 -->
<div-info v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/yxtdispatchcenter/dispatchtemplate'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './dispatchtemplateAdd'
import divInfo from './dispatchtemplateInfo'
export default {
name: 'DispatchTemplateIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: true,
tableLoading: false,
dataList: [],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
templatename: '', //
ordertype: '', // 2-3-
devtype: '' //
}
},
multipleSelection: []
}
},
created() {
this.loadList()
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doSubmit':
this.doSubmit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
default:
break
}
},
toAdd(row) {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3
const row = this.multipleSelection[0]
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params)
.then(resp => {
console.log(resp)
this.btndisabled = false
if (resp.success) {
//
} else {
// resp.code
}
})
.catch(() => {
this.btndisabled = false
})
},
doDel(row) {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const _this = this
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req
.delBySids(sids)
.then(resp => {
loading.close()
if (resp.success) {
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.loadList()
} else {
// resp.code
}
})
.catch(e => {
loading.close()
})
})
.catch(() => {})
},
doImport(row) {
//
req
.importExcel(this.queryParams.params)
.then(resp => {
if (resp.success) {
console.log(resp)
}
})
.catch(() => {})
},
doExport(row) {
//
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
this.queryParams.params.sids = sids
req
.exportExcel(this.queryParams.params)
.then(resp => {
if (resp.success) {
var map = resp.data
const fileName = map.filename //
// // <a> Firefox Chrome download
// // IE10blobdownload
const link = document.createElement('a') // a
link.download = fileName // a
link.style.display = 'none'
link.href = map.downurl
document.body.appendChild(link)
link.click() //
URL.revokeObjectURL(link.href) // url
document.body.removeChild(link) //
}
})
.catch(() => {})
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams.params = {}
this.queryParams.params.sid = '' // sid
this.queryParams.params.name = '' //
this.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.queryParams)
.then(resp => {
_this.tableLoading = false
if (resp.success) {
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
} else {
// resp.code
}
})
.catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
}
}
}
</script>
<style scoped>
</style>

305
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchtemplate.vue

@ -0,0 +1,305 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="历史报警" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :model="queryParams.params" :inline="true" class="tab-header">
<el-form-item label="客户名称"><el-input v-model="queryParams.params.custname" placeholder="请输入客户名称" clearable /></el-form-item>
<el-form-item label="工单名称"><el-input v-model="queryParams.params.ordername" placeholder="请输入工单名称" clearable /></el-form-item>
<el-form-item label="等级">
<el-select
v-model="queryParams.params.orderdegree"
class="addinputw"
placeholder="等级"
size="small"
>
<el-option
v-for="(item, i) in arrList"
:key="i"
:label="item.type"
:value="item.value"
/>
</el-select>
</el-form-item>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</el-form>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">汇总工单数据列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div>
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="ordername" label="企业名称" align="center" />
<el-table-column prop="custname" label="客户名称" align="center" />
<el-table-column prop="orderdegreekey" label="告警说明" width="400px" align="center" />
<el-table-column prop="ordertypekey" label="告警等级" align="center" />
<el-table-column prop="orderdegree" :formatter="formatorderdegree" label="等级" align="center" />
<el-table-column prop="receiveperson" label="现场联系人" align="center" />
<el-table-column prop="receivetel" label="现场联系人电话" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<!-- 详情部分组件 -->
<div-info v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div>
</template>
<script>
import req from '@/api/yxtdispatchcenter/dispatchorderinfo'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './dispatchworkerAdd'
import divInfo from './dispatchworkerInfo'
export default {
name: 'DispatchOrderinfoIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
drawer: false,
dataList: [],
formobj:{
id: '',
sid: '',
custid: '', // ID
custname: '', //
supervisesid: '', // id
orderno: '', //
ordername: '', //
orderdegree: '', // 1-2- 3-4-
ordertype: '', // 1-
orderdegreekey: '',
ordercontent: '', //
receiveperson: '', //
receivetel: '', //
workers:[]
},
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
custid: '', // ID
custname: '', //
orderno: '', //
ordername: '', //
orderdegree: '', // 1-2- 3-4-
}
},
arr:[{value:1,type:'计划巡视'},{value:2,type:'专项巡视'},{value:3,type:'告警巡视'}],
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}],
multipleSelection: [],
}
},
mounted() {
//
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose': //
this.doClose()
break
default:
break
}
},
toAdd() {
// this.viewState = 2
// this.$refs['divadd'].showAdd()
this.drawer=true
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params)
.then(resp => {
console.log(resp)
this.btndisabled = false
if (resp.success) {
//
} else {
// resp.code
}
})
.catch(() => {
this.btndisabled = false
})
},
saveOrUpdate() {
req.saveOrUpdate(this.formobj).then(resp => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.drawer=false
this.formobj={
id: '',
sid: '',
custid: '', // ID
custname: '', //
supervisesid: '', // id
orderno: '', //
ordername: '', //
orderdegree: '', // 1-2- 3-4-
ordertype: '', // 1-
orderdegreekey: '',
ordercontent: '', //
receiveperson: '', //
receivetel: '', //
workers:[]}
} else {
// resp.code
}
})
},
doDel(row) {
const sids = []
sids.push(row.sid)
const tip = '请确认是否是否删除该条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
req
.delBySids(sids)
.then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.loadList()
} else {
// resp.code
}
})
})
.catch(() => {})
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams.params = {}
this.queryParams.params.sid = '' // sid
this.queryParams.params.name = '' //
this.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.queryParams)
.then(resp => {
_this.tableLoading = false
if (resp.success) {
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
} else {
// resp.code
}
})
.catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
formatorderdegree: function( row, column) {
if(row.orderdegree === '1'){
return '一般'
} else if(row.orderdegree === '2') {
return '重要'
} else if (row.orderdegree === '3') {
return '紧急'
} else if(row.orderdegree === '4'){
return '督办'
}else{
return ''
}
},
purchase(row){
this.drawer=true
},
}
}
</script>
<style scoped>
.item {
margin: 6px;
}
</style>

184
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchworker.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="巡视工单管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="实时报警" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
@ -42,18 +42,19 @@
<div>
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="orderno" label="工单编号" align="center" />
<el-table-column prop="ordername" label="工单名称" align="center" />
<el-table-column prop="custname" label="客户名称" align="center" />
<el-table-column prop="orderdegree" :formatter="formatorderdegree" label="等级" align="center" />
<el-table-column prop="ordercontent" label="工单内容" align="center" />
<el-table-column prop="receiveperson" label="现场联系人" align="center" />
<el-table-column prop="receivetel" label="现场联系人电话" align="center" />
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end">
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top-start">
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
</el-table>
@ -75,12 +76,120 @@
</div>
<!-- End 查询和其列表部分 -->
<el-drawer
title="我是外面的 Drawer"
title="汇总工单数据详情"
:visible.sync="drawer"
size="60%">
<div>
<div>666</div>
</div>
size="56%">
<div class="main-content">
<el-form ref="form_obj" :model="formobj" label-position="right" class="demo-form-inline">
<div style="font-size: 20px; color: skyblue;">
<div class="tit">新增工单</div>
</div>
<el-row style="margin-top: 10px;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>工单名称</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="ordername"><el-input size="small" v-model="formobj.ordername" placeholder="客户标识" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>客户名称</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="custname"><el-input size="small" v-model="formobj.custname" placeholder="设备id" class="addinputw" clearable /></el-form-item>
</el-col>
<!-- <el-col :span="4" class="tleftb">
<span><span class="icon">*</span>受理时间</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="warnobjectmpsn"><el-input size="small" v-model="formobj.warnobjectmpsn" placeholder="" class="addinputw" clearable /></el-form-item>
</el-col> -->
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>联系人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="receiveperson"><el-input size="small" v-model="formobj.receiveperson" placeholder="客户标识" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>联系人电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="receivetel"><el-input size="small" v-model="formobj.receivetel" placeholder="设备id" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>巡视类型</span>
</el-col>
<el-col :span="4" class="trightb">
<el-select
v-model="formobj.ordertype"
class="addinputw"
placeholder="类型"
size="small"
>
<el-option
v-for="(item, i) in arr"
:key="i"
:label="item.type"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>告警等级</span>
</el-col>
<el-col :span="4" class="trightb">
<el-select
v-model="formobj.ordertypekey"
class="addinputw"
placeholder="等级"
size="small"
>
<el-option
v-for="(item, i) in arrLists"
:key="i"
:label="item.type"
:value="item.type"
/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>紧急程度</span>
</el-col>
<el-col :span="6" class="trightb">
<el-select
v-model="formobj.orderdegree"
class="addinputw"
placeholder="等级"
size="small"
>
<el-option
v-for="(item, i) in arrList"
:key="i"
:label="item.type"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>告警描述</span>
</el-col>
<el-col :span="12" class="trightb">
<el-form-item prop="orderdegreekey"><el-input type="textarea"
:autosize="{ minRows: 4, maxRows: 6 }" v-model="formobj.orderdegreekey" class="item_input" placeholder="告警描述" /></el-form-item>
</el-col>
</el-row>
<el-form-item style="margin-left: 500px;">
<el-button type="primary" @click="saveOrUpdate('form_obj')">提交</el-button>
</el-form-item>
</el-form>
</div>
</el-drawer>
<!-- 新增修改部分组件 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
@ -115,6 +224,23 @@ export default {
tableLoading: false,
drawer: false,
dataList: [],
formobj:{
id: '',
sid: '',
custid: '', // ID
custname: '', //
supervisesid: '', // id
orderno: '', //
ordername: '', //
orderdegree: '', // 1-2- 3-4-
ordertype: '', // 1-
orderdegreekey: '',
ordertypekey: '',
ordercontent: '', //
receiveperson: '', //
receivetel: '', //
workers:[]
},
queryParams: {
current: 1,
size: 10,
@ -130,6 +256,7 @@ export default {
},
arr:[{value:1,type:'计划巡视'},{value:2,type:'专项巡视'},{value:3,type:'告警巡视'}],
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}],
arrLists:[{value:1,type:'一级'},{value:2,type:'二级'}],
multipleSelection: [],
btnList: [
{
@ -173,8 +300,10 @@ export default {
}
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
// this.viewState = 2
// this.$refs['divadd'].showAdd()
this.drawer=true
},
toEdit(row) {
this.viewState = 3
@ -198,6 +327,32 @@ export default {
this.btndisabled = false
})
},
saveOrUpdate() {
req.saveOrUpdate(this.formobj).then(resp => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.drawer=false
this.formobj={
id: '',
sid: '',
custid: '', // ID
custname: '', //
supervisesid: '', // id
orderno: '', //
ordername: '', //
orderdegree: '', // 1-2- 3-4-
ordertype: '', // 1-
orderdegreekey: '',
ordercontent: '', //
receiveperson: '', //
receivetel: '', //
workers:[]}
this.loadList
} else {
// resp.code
}
})
},
doDel(row) {
const sids = []
sids.push(row.sid)
@ -287,4 +442,7 @@ export default {
}
</script>
<style scoped>
.item {
margin: 6px;
}
</style>

21
yxt_supervise/supervise-dispatchcenter/supervise-dispatchcenter-ui/src/views/yxtdispatchcenter/dispatchworker/dispatchworkerAdd.vue

@ -24,26 +24,32 @@
<el-col :span="2" class="tleftb">
<span><span class="icon">*</span>客户标识</span>
</el-col>
<el-col :span="3" class="trightb">
<el-col :span="2" class="trightb">
<el-form-item prop="custid"><el-input size="small" v-model="formobj.custid" placeholder="客户标识" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<span><span class="icon">*</span>告警设备id</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="warneterid"><el-input size="small" v-model="formobj.warneterid" placeholder="工单编号" class="addinputw" clearable /></el-form-item>
<el-form-item prop="warneterid"><el-input size="small" v-model="formobj.warneterid" placeholder="设备id" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>告警对象监测点</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="warnobjectmpsn"><el-input size="small" v-model="formobj.warnobjectmpsn" placeholder="工单名称" class="addinputw" clearable /></el-form-item>
<el-form-item prop="warnobjectmpsn"><el-input size="small" v-model="formobj.warnobjectmpsn" placeholder="告警监测点" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<span><span class="icon">*</span>告警说明</span>
</el-col>
<el-col :span="2" class="trightb">
<el-form-item prop="warnremarks"><el-input size="small" v-model="formobj.warnremarks" placeholder="告警说明" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<span><span class="icon">*</span>告警内容</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="alarmcontent"><el-input size="small" v-model="formobj.alarmcontent" placeholder="工单内容" class="addinputw" clearable /></el-form-item>
<el-form-item prop="alarmcontent"><el-input size="small" v-model="formobj.alarmcontent" placeholder="告警内容" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
@ -156,7 +162,7 @@ export default {
custid: '', // id
alarmreason: '', //
warneterid: '', // id
orderno: '', //
warnremarks:'',//
warnobjectmpsn: '', //
operationuser: '', //
operationuserrname: '', //
@ -228,7 +234,7 @@ export default {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【新增】工单数据'
this.viewTitle = '【新增】告警信息'
},
showEdit(row) {
this.$nextTick(() => {
@ -236,7 +242,7 @@ export default {
})
this.searchxianshitit = '显示添加条件'
this.isSearchShow = true
this.viewTitle = '【修改】工单数据'
this.viewTitle = '【修改】告警信息'
const _this = this
req
.fetchBySid(row.sid)
@ -289,7 +295,6 @@ export default {
},
handleSelectionChange(val) {
this.formobj.workers = val;
console.log(this.formobj);
},
handleSelection(selection){
if (selection.length > 1){

Loading…
Cancel
Save