main
许宏杰 2 weeks ago
parent 5ecbb7e4ba
commit 62ced250e7

@ -86,3 +86,14 @@ export function feedBackyj(data) {
data
});
}
//流程信息
export function getbGdlc(query) {
return request({
url: "/bGdlc/selectByGdId",
method: "get",
params: query,
});
}

@ -98,7 +98,7 @@
.el-input__wrapper,.el-select__wrapper{
background: #E5EAF3;
// background: #E5EAF3;
input{
font-size: 16px;
font-weight: 400;

@ -77,7 +77,7 @@ const clickSub = () => {
.operation-panel {
height: calc(100% - 50px);
padding: 10px;
padding: 10px 20px;
overflow-y: auto;
}
}

@ -13,6 +13,26 @@
ref="formRef"
label-width="100px"
>
<el-form-item label="参与人数:" prop="pqrs">
<el-input v-model="form.pqrs" placeholder="请输入" clearable>
<template #suffix> </template>
</el-input>
</el-form-item>
<el-form-item label="参与货运车:" prop="hyc">
<el-input v-model="form.hyc" placeholder="请输入" clearable>
<template #suffix> </template>
</el-input>
</el-form-item>
<el-form-item label="参与吊车:" prop="dc">
<el-input v-model="form.dc" placeholder="请输入" clearable>
<template #suffix> </template>
</el-input>
</el-form-item>
<el-form-item label="参与登高车:" prop="dgc">
<el-input v-model="form.dgc" placeholder="请输入" clearable>
<template #suffix> </template>
</el-input>
</el-form-item>
<el-form-item label="处理描述:" prop="clms">
<el-input
v-model="form.clms"
@ -57,11 +77,19 @@ const emit = defineEmits(["update:modelValue", "confirm"]);
const data = reactive({
form: {
clhtp: undefined,//
clms: undefined,//
dc: undefined,//
dgc: undefined,//
hyc: undefined,//
id: null,
clhtp: undefined,
clms: undefined,
pqrs: undefined,//
},
rules: {
pqrs: [{ required: true, message: "请填写参与人数", trigger: "blur" }],
hyc: [{ required: true, message: "请填写货运车数", trigger: "blur" }],
dgc: [{ required: true, message: "请填写登高车数", trigger: "blur" }],
dc: [{ required: true, message: "请填写吊车数", trigger: "blur" }],
clhtp: [{ required: true, message: "请上传处理后图片", trigger: "blur" }],
clms: [{ required: true, message: "请填写处理描述", trigger: "blur" }],
},
@ -79,8 +107,8 @@ const confirm = () => {
if (valid) {
form.value.id = props.id;
await feedBackyj(form.value);
proxy.$modal.msgSuccess(`反馈成功`);
emit("confirm");
proxy.$modal.msgSuccess(`工单处理反馈成功`);
emit("confirm",true);
handlerClose();
}
});
@ -98,6 +126,4 @@ watch(visible, (val) => {
});
</script>
<style scoped>
</style>
<style scoped></style>

@ -228,28 +228,27 @@ const changeType = () => {
* 处理反馈
*
*/
const handleFeedBack = (row) => {
feedBackView.value = true;
const handleFeedBack = () => {
confirm(false);
};
/**
* 退单
*
*/
const handlerRetreat = (row) => {
const handlerRetreat = () => {
retreat.value = true;
};
/**
* 提交
*/
const confirm = () => {
const confirm = (isConfirm = true) => {
proxy.$refs["formRef"].validate(async (valid) => {
if (valid) {
if (!form.value.lat || !form.value.lon) {
proxy.$modal.msgWarning("请先落点至地图上!");
return;
}
if (form.value.id) {
form.value.yxlx = filterArray(form.value.yxlx, "join");
await intruderyj(form.value);
@ -259,12 +258,17 @@ const confirm = () => {
await addyj(form.value);
proxy.$modal.msgSuccess("新增成功");
}
try {
handlerClose(true);
} catch {
form.value.zzjg = filterArray(form.value.zzjg);
form.value.yxlx = filterArray(form.value.yxlx);
}
if (isConfirm) {
handlerClose(isConfirm);
} else {
feedBackView.value = true;
form.value.yxlx = filterArray(form.value.yxlx);
}
}
});
};

@ -7,111 +7,127 @@
<div class="form-value">{{ form.address }}</div>
</div>
<div class="form-item">
<div class="form-label">资源协调</div>
<div class="form-value ">
<dict-tag showValue="解析出错" :options="zyxt" :value="form.zyxt" />
<div class="form-label">工单类型</div>
<div class="form-value value-row">
<dict-tag :options="gdlx" :value="form.gdType" />
<div class="value-row" v-if="form.gdType === 0 && form.xdsqm">
<span> - </span>
<dict-tag :options="xdsqm" :value="form.xdsqm" />
</div>
</div>
</div>
<div class="form-item">
<div class="form-label">工单类型</div>
<div class="form-label">影响类型</div>
<div class="form-value">
<dict-tag showValue="解析出错" :options="gdlx" :value="form.gdType" />
</div>
</div>
<div class="form-item" v-if="form.gdType == 0">
<div class="form-label">倒伏类型</div>
<div class="form-value">{{ form.dflx }}</div>
<dict-tag :options="yxlx" :value="form.yxlx" v-if="form.yxlx" />
<span v-else></span>
</div>
</div>
<div class="form-item">
<div class="form-label">处理班组</div>
<div class="form-value">{{ form.clbz }}</div>
<div class="form-value">
{{ form.parentName }} / {{ form.deptName }}
</div>
</div>
<div class="form-item">
<div class="form-label">工单等级</div>
<div class="form-value">
<dict-tag showValue="解析出错" :options="gdlevel" :value="form.gdLevel" />
</div>
<div class="form-label">工单描述</div>
<div class="form-value">{{ form.gdms || handlerNodata(1) }}</div>
</div>
<div class="form-item">
<div class="form-label">工单图片</div>
<div class="form-value value-row ">
<div class="form-value value-row">
<ImagePreview
v-if="form.gdtp"
width="80px"
height="80px"
v-for="(item, index) in form.gdtp"
:key="index"
:src="item"
></ImagePreview>
<span v-else></span>
</div>
</div>
<div class="form-item">
<div class="form-label">简要</div>
<div class="form-value">
<dict-tag showValue="解析出错" :options="gdms" :value="form.gdms" />
</div>
<div class="form-label">参与人数</div>
<div class="form-value">{{ form.pqrs || handlerNodata() }}</div>
</div>
<div class="form-item">
<div class="form-label">处理方案</div>
<div class="form-label">参与车辆</div>
<div class="form-value">
<dict-tag showValue="解析出错" :options="clfa" :value="form.clfa" />
</div>
货运车{{ form.hyc || handlerNodata() }}吊车{{
form.dc || handlerNodata()
}}登高车{{ form.dgc || handlerNodata() }}
</div>
</div>
<div class="form-item">
<div class="form-label">处理描述</div>
<div class="form-value">{{ form.clms }}</div>
</div>
<div class="form-item">
<div class="form-label">派遣人数</div>
<div class="form-value">{{ form.pqrs }} </div>
</div>
<div class="form-item">
<div class="form-label">派遣车辆</div>
<div class="form-value">{{ form.pqcl }} </div>
<div class="form-value">{{ form.clms || handlerNodata(1) }}</div>
</div>
<div class="form-item">
<div class="form-label">处理后图片</div>
<div class="form-value value-row ">
<div class="form-value value-row">
<ImagePreview
v-if="form.clhtp"
width="80px"
height="80px"
v-for="(item, index) in form.clhtp"
:key="index"
:src="item"
></ImagePreview>
<span v-else></span>
</div>
</div>
</div>
</ParagraphTitle>
<ParagraphTitle title="工单流程信息"></ParagraphTitle>
<ParagraphTitle title="工单流程信息" style="margin-top: 15px">
<el-timeline class="timeline-list">
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="parseTime(activity.createTime)"
>
{{ activity.type }}
</el-timeline-item>
</el-timeline>
</ParagraphTitle>
</tableOperation>
</template>
<script setup>
import { onMounted } from "vue";
import { useRoute } from "vue-router";
import { getyjById } from "@/api/emergency";
import { getyjById, getbGdlc } from "@/api/emergency";
const { proxy } = getCurrentInstance();
const { gdlx, gdms, gdlevel, clfa, zyxt, dflx, gd_status, reason } =
proxy.useDict(
"gdlx",
"gdms",
"gdlevel",
"clfa",
"zyxt",
"dflx",
"gd_status",
"reason"
);
const { gdlx, gdms, xdsqm, clfa, yxlx } = proxy.useDict(
"gdlx",
"gdms",
"xdsqm",
"clfa",
"yxlx"
);
const route = useRoute();
const id = route.query.id;
let form = reactive({});
const activities = ref([]);
onMounted(() => {
getInfo();
getflowData();
});
const handlerNodata = (type) => {
if (type == 1) {
return "暂无";
} else {
return 0;
}
};
/**
* 获取详情
*/
@ -120,10 +136,17 @@ const getInfo = async () => {
//
res.data.gdtp = filterImages(res.data.gdtp);
res.data.clhtp = filterImages(res.data.clhtp);
res.data.zyxt = filterImages(res.data.zyxt);
Object.assign(form, res.data);
console.log(form);
};
/**
*
* 工单流程信息
*/
const getflowData = async () => {
const res = await getbGdlc({ GdId: id });
activities.value = res.data;
};
const filterImages = (imgSting) => {
@ -145,7 +168,6 @@ const filterImages = (imgSting) => {
align-items: center;
border-bottom: 1px solid #dcdfe6;
.form-label {
height: 100%;
width: 150px;
font-weight: 15px;
@ -179,4 +201,8 @@ const filterImages = (imgSting) => {
border: 0;
}
}
.timeline-list {
padding: 0;
}
</style>

Loading…
Cancel
Save