Commit d48ee858 authored by liuzhaoh's avatar liuzhaoh

Merge branch 'dev' of http://app.bmetech.com/liuzhaohui/dctomproject into dev

parents dfdc6e4f 7159f508
......@@ -91,14 +91,14 @@ const handleSave = ()=> {
width: 100%;
.real-btn {
width: auto;
height: 28px;
height: 32px;
background: rgb(64, 158, 255);
border: 1px solid rgb(64, 158, 255);
border-radius: 4px;
box-shadow: 0 1px 9px 0 rgba(12, 123, 255, 0.3) inset;
text-align: center;
padding: 0 16px;
line-height: 28px;
line-height: 32px;
color: rgba(255, 255, 255, 0.85);
margin-right: 16px;
cursor: pointer;
......
......@@ -4,6 +4,7 @@
<el-form-item label="事件名称:">
<el-select v-model="formInline.eventNameId"
placeholder="请选择"
style="width: 280px"
>
<el-option
v-for="(item, index) in basicConfiguration.ticketEventName"
......@@ -20,16 +21,20 @@
<el-form-item label="所属区域:">
<el-select v-model="formInline.branchFactoryIds"
placeholder="请选择"
style="width: 180px"
>
<el-option v-for="(item, index) in basicConfiguration.branchFactoryList"
:key="item.id"
:label="item.name"
:value="item.id"
:key="item.branchFactoryId"
:label="item.branchFactory"
:value="item.branchFactoryId"
/>
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="formInline.deviceType">
<el-select v-model="formInline.deviceType"
style="width: 180px"
placeholder="请选择"
>
<el-option label="全部" value="" />
<el-option
v-for="(item, index) in basicConfiguration.deviceList"
......@@ -41,14 +46,13 @@
</el-select>
</el-form-item>
<el-form-item label="发生时间">
<el-date-picker type="daterange"
<el-date-picker type="datetimerange"
v-model="formInline.createTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD HH:mm:ss"
date-format="YYYY/MM/DD ddd"
time-format="A hh:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item>
......@@ -97,6 +101,7 @@
:show-dialog="doneDialog.show"
:title="doneDialog.title"
:width="doneDialog.width"
:btn-group="doneDialog.btnGroup"
@handleBtn="saveDeal"
@close:showDialog="doneDialog.show = false"
>
......@@ -121,15 +126,15 @@
<div class="alarm-content">
<div class="content-item">
<span class="name">编号:</span>
<span class="value">{{ workSheetDetail.workTicketNo }}</span>
<span class="value">{{ workSheetDetail?.workTicketNo }}</span>
</div>
<div class="content-item">
<span class="name">创建时间:</span>
<span class="value">{{ workSheetDetail.createTime }}</span>
<span class="value">{{ workSheetDetail?.createTime }}</span>
</div>
<div class="content-item">
<span class="name">闭环控制状态:</span>
<span class="value work-status">{{ workSheetDetail.desc }}</span>
<span class="value work-status">{{ workSheetDetail?.desc }}</span>
</div>
</div>
</el-col>
......@@ -141,12 +146,12 @@
<div class="content-item">
<span class="name">所属区域:</span>
<span class="value">{{
workSheetDetail.branchFactory || "--"
workSheetDetail?.branchFactory || "--"
}}</span>
</div>
<div class="content-item">
<span class="name">发生位置:</span>
<span class="value">{{ workSheetDetail.deviceName }}</span>
<span class="value">{{ workSheetDetail?.deviceName }}</span>
</div>
<div
class="content-item"
......@@ -179,19 +184,16 @@
workSheetDetail.warnType != 4 &&
workSheetDetail.warnType != 18
"
>{{ workSheetDetail.value }}{{ workSheetDetail.unit }}</span
>{{ workSheetDetail?.value }}{{ workSheetDetail?.unit }}</span
>
<span
class="value alarm-value"
v-else-if="workSheetDetail?.warnType == 4"
>{{ warnValueFilter(workSheetDetail?.offlineTime) }}</span>
</div>
<div class="content-item" v-if="workSheetDetail.convertValue">
<div class="content-item" v-if="workSheetDetail?.convertValue">
<span class="name">折算值:</span>
<span class="value alarm-value"
>{{ workSheetDetail.convertValue
}}{{ workSheetDetail.unit }}</span
>
<span class="value alarm-value">{{ workSheetDetail?.convertValue }}{{ workSheetDetail?.unit }}</span>
</div>
<div class="content-item">
<span class="name">告警时间:</span>
......@@ -537,7 +539,7 @@
<div class="label-title">原因分析</div>
<el-input
class="input-style"
v-model="form.reason"
v-model="dialogReason"
type="textarea"
:rows="3"
placeholder="请输入内容"
......@@ -551,7 +553,7 @@
<div>
<el-input
class="input-style"
v-model="form.measure"
v-model="dialogMeasure"
type="textarea"
:rows="3"
placeholder="请输入内容"
......@@ -565,22 +567,24 @@
<common-dialog
:showDialog="assignDialog.show"
:title="assignDialog.title"
:btn-group="assignDialog.btnGroup"
:width="assignDialog.width"
@handleBtn="saveAssign"
@close:showDialog="assignDialog.show = false"
>
<el-form :inline="true">
<el-form>
<el-form-item label="分派人:">
<el-select v-model="handlerPeopleId" filterable placeholder="请选择分派人">
<el-option
v-for="(item, i) in handlerPeople"
:key="i"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addPerson">新增</el-button>
<div class="inline-box">
<el-select v-model="handlerPeopleId" filterable placeholder="请选择分派人">
<el-option
v-for="(item, i) in handlerPeople"
:key="i"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-button type="primary" class="addBtn" @click="addPerson">新增</el-button>
</div>
</el-form-item>
<el-form-item label="已分派人:">
<el-tag
......@@ -601,7 +605,7 @@
import { ref, reactive, onMounted, onBeforeUnmount,computed } from 'vue'
import CommonTable from "@/components/commonTable/index.vue";
import commonDialog from "./components/dialog.vue";
import { getDataFun, postDataJson, postDataJSON } from '@/request/method.js';
import { getData, getDataFun, postDataJson, postDataJSON } from '@/request/method.js';
import moment from 'moment';
import { getToken } from '@/utils/auth.js';
import { ElMessage } from 'element-plus'
......@@ -625,9 +629,27 @@ const workTicketNo = ref('');
const handlerPeopleId = ref('');
const handlerPeople = ref([]);
const getHandlerPeople = async () => {
const url = '/transfer-work-ticket-pc/getTicketHandler?pageSize=999&pageNo=1';
try {
let result = await getData(url);
if (result && result.code === 1) {
const { records } = result.data;
handlerPeople.value = records;
}
} catch (e) {
ElMessage({
message: '接口报错',
type: 'error'
})
}
}
const assignDialog = ref({
title: '闭环控制分派',
show: false,
width: '30%',
btnGroup: [
{
attrKey: 'save',
......@@ -671,7 +693,7 @@ const saveAssign = ()=> {
})
});
const params = {
workTicketNo,
workTicketNo: workTicketNo.value,
receiveUser: '',
receiveUserName: '',
handleUsers: tempArr
......@@ -771,7 +793,7 @@ const onReset =()=> {
const doneDialog = ref({
title: '闭环控制分派',
show: false,
width: '50%',
width: '45%',
btnGroup: [
{
attrKey: 'save',
......@@ -788,8 +810,9 @@ const viewData = {
const handleDone = async (data)=> {
doneDialog.value.title = data.eventName;
workTicketNo.value = data.workTicketNo;
let res = await getDetail(data.workTicketNo);
doneDialog.value.show = true;
/*let res = await getDetail(data.workTicketNo);
personTag.value = [];
if (res.handleUsers && res.handleUsers.length > 0) {
res.handleUsers.forEach(item => {
......@@ -801,12 +824,13 @@ const handleDone = async (data)=> {
});
});
}
disposeWorkSheetDetail(res);*/
disposeWorkSheetDetail(res);
}
const saveDeal = () => {
const { workTicketNo, handleValue, imgUrl } = workSheetDetail.value;
const { resson,measure } = this.form;
const reason = dialogReason.value;
const measure = dialogMeasure.value;
const param = { workTicketNo, handleValue, reason, measure, imgUrl };
const url = '/transaction/doc/finishTransaction';
disposeHandle(url, param);
......@@ -833,8 +857,10 @@ const disposeHandle = async (url, param) => {
// 分派
const handleDispatch = async (data)=> {
assignDialog.value.show = true;
/*let res = await getDetail(data.workTicketNo);
getHandlerPeople();
workTicketNo.value = data.workTicketNo;
let res = await getDetail(data.workTicketNo);
assignDialog.value.show = true;
personTag.value = [];
if (res.handleUsers && res.handleUsers.length > 0) {
res.handleUsers.forEach(item => {
......@@ -845,7 +871,7 @@ const handleDispatch = async (data)=> {
userName: item.userName
});
});
}*/
}
}
const getDetail = (workTicketNo) => {
......@@ -867,42 +893,7 @@ const changeBag = (data)=>{
}
const tableData = ref([
{
id: 1,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '2021-09-09 12:00:00',
eventStatus: '已处理',
eventDetail: '设备报警',
level: 1
},
{
id: 2,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '2021-09-09 12:00:00',
eventStatus: '已处理',
eventDetail: '设备报警',
level: 2
},
{
id: 3,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '20',
level: 3
}
]);
const tableData = ref([]);
const tableColumns = ref([
{
......@@ -983,8 +974,9 @@ const getWarnAndTicketConfigMap = ()=> {
}
getDataFun(url,params).then(res => {
if (res && res.code === 1) {
const { ticketEventName, eventType } = res.data;
const { ticketEventName, deviceType} = res.data;
basicConfiguration.ticketEventName = basicConfiguration.ticketEventName.concat(ticketEventName);
basicConfiguration.deviceList = deviceType;
}
});
};
......@@ -1076,10 +1068,8 @@ const disposeType = (list)=> {
const srcList = ref([]);
const form = ref({
reason: "",
measure: "",
});
const dialogReason = ref('');
const dialogMeasure = ref('');
const imgUrlList = ref([]);
const alarmImags = ref([]);
const disposeWorkSheetDetail = (obj)=> {
......@@ -1115,9 +1105,9 @@ const disposeWorkSheetDetail = (obj)=> {
}
onMounted(()=>{
// getBranchTypeList();
// getWarnAndTicketConfigMap();
// searchData();
getBranchTypeList();
getWarnAndTicketConfigMap();
searchData();
});
const formModel = ref({
......@@ -1153,48 +1143,48 @@ const handlePaginationChange = (pagination) => {
color: #fff;
text-align: center;
}
.table-box {
height: calc(100vh - 200px);
}
.yellow {
// color: #faa508;
position: relative;
&::before {
content: ' ';
content: " ";
width: 8px;
height: 8px;
border-radius: 50%;
background: #ffb224;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
.red {
position: relative;
&::before {
content: ' ';
content: " ";
width: 8px;
height: 8px;
border-radius: 50%;
background: #db001d;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
.purple {
position: relative;
&::before {
content: ' ';
content: " ";
width: 8px;
height: 8px;
border-radius: 50%;
background: #aa05fa;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
.view-btn {
......@@ -1204,6 +1194,7 @@ const handlePaginationChange = (pagination) => {
.form-box {
height: 60vh;
overflow-y: auto;
overflow-x: hidden;
.label-title {
position: relative;
padding-left: 14px;
......@@ -1283,5 +1274,14 @@ const handlePaginationChange = (pagination) => {
background: #2182a0;
border: 1px solid #2182a0;
}
:deep(.el-tag) {
margin-right: 10px;
}
.inline-box {
display: flex;
.addBtn {
margin-left: 10px;
}
}
}
</style>
\ No newline at end of file
......@@ -4,6 +4,7 @@
<el-form-item label="事件名称:">
<el-select v-model="formInline.eventNameId"
placeholder="请选择"
style="width: 280px"
>
<el-option
v-for="(item, index) in basicConfiguration.ticketEventName"
......@@ -20,17 +21,20 @@
<el-form-item label="所属区域:">
<el-select v-model="formInline.branchFactoryIds"
placeholder="请选择"
style="width: 180px"
>
<el-option label="全部" value="" />
<el-option v-for="(item, index) in basicConfiguration.branchFactoryList"
:key="item.id"
:label="item.name"
:value="item.id"
:key="item.branchFactoryId"
:label="item.branchFactory"
:value="item.branchFactoryId"
/>
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="formInline.deviceType">
<el-select v-model="formInline.deviceType"
style="width: 180px"
placeholder="请选择"
>
<el-option label="全部" value="" />
<el-option
v-for="(item, index) in basicConfiguration.deviceList"
......@@ -42,14 +46,13 @@
</el-select>
</el-form-item>
<el-form-item label="发生时间">
<el-date-picker type="daterange"
<el-date-picker type="datetimerange"
v-model="formInline.createTime"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD HH:mm:ss"
date-format="YYYY/MM/DD ddd"
time-format="A hh:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item>
......@@ -935,42 +938,7 @@ const changeBag = (data)=>{
}
const tableData = [
{
id: 1,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '2021-09-09 12:00:00',
eventStatus: '已处理',
eventDetail: '设备报警',
level: 1
},
{
id: 2,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '2021-09-09 12:00:00',
eventStatus: '已处理',
eventDetail: '设备报警',
level: 2
},
{
id: 3,
name: '张三',
phone: '13888888888',
email: '<EMAIL>',
branchFactory: '上海分公司',
deviceType: '烟感',
eventTime: '20',
level: 3
}
];
const tableData = ref([]);
const tableColumns = ref([
{
......@@ -1051,8 +1019,9 @@ const getWarnAndTicketConfigMap = ()=> {
}
getDataFun(url,params).then(res => {
if (res && res.code === 1) {
const { ticketEventName, eventType } = res.data;
const { ticketEventName, deviceType } = res.data;
basicConfiguration.ticketEventName = basicConfiguration.ticketEventName.concat(ticketEventName);
basicConfiguration.deviceList = deviceType;
}
});
};
......@@ -1143,9 +1112,9 @@ const disposeType = (list)=> {
}
onMounted(() => {
// getBranchTypeList();
// getWarnAndTicketConfigMap();
// searchData();
getBranchTypeList();
getWarnAndTicketConfigMap();
searchData();
});
const currentPage = ref(1);
......@@ -1176,6 +1145,9 @@ const handlePaginationChange = (pagination) => {
color: #fff;
text-align: center;
}
.table-box {
height: calc(100vh - 200px);
}
.yellow {
// color: #faa508;
position: relative;
......@@ -1186,9 +1158,8 @@ const handlePaginationChange = (pagination) => {
border-radius: 50%;
background: #ffb224;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
.red {
......@@ -1200,9 +1171,8 @@ const handlePaginationChange = (pagination) => {
border-radius: 50%;
background: #db001d;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
......@@ -1215,9 +1185,8 @@ const handlePaginationChange = (pagination) => {
border-radius: 50%;
background: #aa05fa;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%);
left: 0;
top: 6px;
}
}
.view-btn {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment