|
@@ -22,13 +22,23 @@
|
|
|
@click="showbh = true"
|
|
|
>驳 回</el-button
|
|
|
>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="taskinfo.status == 2"
|
|
|
+ @click="showxy = true"
|
|
|
+ >响 应</el-button
|
|
|
+ >
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
v-if="taskinfo.status == 2"
|
|
|
@click="showcz = true"
|
|
|
>处 置</el-button
|
|
|
>
|
|
|
- <el-button type="primary" v-if="taskinfo.status == 3 || taskinfo.status == 5" @click="showsh = true"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="taskinfo.status == 3 || taskinfo.status == 5"
|
|
|
+ @click="showsh = true"
|
|
|
>审 核</el-button
|
|
|
>
|
|
|
<el-button
|
|
@@ -49,10 +59,23 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="card">
|
|
|
- <div class="title" style="position:relative">工单信息
|
|
|
- <div style="position:absolute;right:10px;top:0;color:#333;font-size:20px">{{task_status.filter(
|
|
|
- (i) => i.value.toString() === taskinfo.status.toString()
|
|
|
- )[0]?.label ?? "-"}}</div>
|
|
|
+ <div class="title" style="position: relative">
|
|
|
+ 工单信息
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ position: absolute;
|
|
|
+ right: 10px;
|
|
|
+ top: 0;
|
|
|
+ color: #333;
|
|
|
+ font-size: 20px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{
|
|
|
+ task_status.filter(
|
|
|
+ (i) => i.value.toString() === taskinfo.status.toString()
|
|
|
+ )[0]?.label ?? "-"
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="body">
|
|
|
<el-row>
|
|
@@ -81,11 +104,17 @@
|
|
|
<!-- <el-col :span="6"
|
|
|
>设施编号:{{ taskinfo.taskFacilitieCode }}</el-col
|
|
|
> -->
|
|
|
- <el-col :span="6">接单人:{{ allusers.filter(
|
|
|
- (i) =>
|
|
|
- ([taskinfo.taskReporter+""]
|
|
|
- ).indexOf(i.userId+"") != -1
|
|
|
- ).map((i) => i.nickName).join(",") }}</el-col>
|
|
|
+ <el-col :span="6"
|
|
|
+ >接单人:{{
|
|
|
+ allusers
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ [taskinfo.taskReporter + ""].indexOf(i.userId + "") != -1
|
|
|
+ )
|
|
|
+ .map((i) => i.nickName)
|
|
|
+ .join(",")
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="6"
|
|
@@ -110,12 +139,13 @@
|
|
|
>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
- <el-col :span="6">是否需要确认:{{ taskinfo.remark==="1"?'是':'否' }}</el-col>
|
|
|
+ <el-col :span="6"
|
|
|
+ >是否需要确认:{{ taskinfo.remark === "1" ? "是" : "否" }}</el-col
|
|
|
+ >
|
|
|
<el-col :span="6">来件备注:{{ taskinfo.taskFromRemark }}</el-col>
|
|
|
<el-col :span="6"
|
|
|
>投诉人电话:{{ taskinfo.taskComplainConnect }}</el-col
|
|
|
>
|
|
|
-
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">详细地址:{{ taskinfo.taskAddr }}</el-col>
|
|
@@ -150,30 +180,36 @@
|
|
|
<el-row>
|
|
|
<el-col :span="6"
|
|
|
>负责人:{{
|
|
|
- allusers.filter(
|
|
|
- (i) =>
|
|
|
- (JSON.parse(
|
|
|
+ allusers
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ (
|
|
|
+ JSON.parse(
|
|
|
taskinfo.tblTaskLogList.filter(
|
|
|
(ii) => ii.taskStatus === 2
|
|
|
)[0].logDes
|
|
|
).fzr ?? []
|
|
|
- ).indexOf(i.userId+"") != -1
|
|
|
- ).map((i) => i.nickName).join(",")
|
|
|
+ ).indexOf(i.userId + "") != -1
|
|
|
+ )
|
|
|
+ .map((i) => i.nickName)
|
|
|
+ .join(",")
|
|
|
}}</el-col
|
|
|
>
|
|
|
<el-col :span="6"
|
|
|
>联系方式:{{
|
|
|
-
|
|
|
- allusers.filter(
|
|
|
- (i) =>
|
|
|
- (JSON.parse(
|
|
|
+ allusers
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ (
|
|
|
+ JSON.parse(
|
|
|
taskinfo.tblTaskLogList.filter(
|
|
|
(ii) => ii.taskStatus === 2
|
|
|
)[0].logDes
|
|
|
).fzr ?? []
|
|
|
- ).indexOf(i.userId+"") != -1
|
|
|
- ).map((i) => i.phonenumber).join(",")
|
|
|
-
|
|
|
+ ).indexOf(i.userId + "") != -1
|
|
|
+ )
|
|
|
+ .map((i) => i.phonenumber)
|
|
|
+ .join(",")
|
|
|
}}</el-col
|
|
|
>
|
|
|
<el-col :span="6"
|
|
@@ -203,6 +239,137 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
+ <div
|
|
|
+ class="card"
|
|
|
+ v-if="
|
|
|
+ (taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === -1) ?? [])
|
|
|
+ .length > 0
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="title">响应信息</div>
|
|
|
+ <div class="body">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="6"
|
|
|
+ >班组响应时间:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).bzxytime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >到达现场时间:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).ddxctime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >处置完成时间:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).czwctime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >作业时长(小时):{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).zysc
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >处理时长(小时):{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).clsc
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >作业负责人:{{
|
|
|
+ allusers
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ i.userId + "" ===
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).zyfzr +
|
|
|
+ ""
|
|
|
+ )
|
|
|
+ .map((i) => i.nickName)
|
|
|
+ .join(",")
|
|
|
+ }}
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6"
|
|
|
+ >联系方式:{{
|
|
|
+ allusers
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ i.userId + "" ===
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).zyfzr +
|
|
|
+ ""
|
|
|
+ )
|
|
|
+ .map((i) => i.phonenumber)
|
|
|
+ .join(",")
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-col :span="6"
|
|
|
+ >作业人数:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).zyrs
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-col :span="6"
|
|
|
+ >车辆型号:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).carxh
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >车牌号码:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).carnumber
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >公里数:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter(
|
|
|
+ (ii) => ii.taskStatus === -1
|
|
|
+ )[0].logDes
|
|
|
+ ).gls
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div class="card" v-if="taskinfo.status == 4">
|
|
|
<div class="title">现场驳回</div>
|
|
|
<div class="body">
|
|
@@ -275,32 +442,35 @@
|
|
|
<el-col :span="6"
|
|
|
>是否及时完成:{{
|
|
|
JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 5
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).isfinsh
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 5)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).isfinsh
|
|
|
}}</el-col
|
|
|
>
|
|
|
<el-col :span="6"
|
|
|
>回访情况:{{
|
|
|
JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 5
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).hfdes
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 5)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).hfdes
|
|
|
}}</el-col
|
|
|
>
|
|
|
- <el-col :span="6">处置完成日期:{{
|
|
|
+ <el-col :span="6"
|
|
|
+ >处置完成日期:{{
|
|
|
JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 5
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).czcompletetime }}</el-col>
|
|
|
- <el-col :span="6">记录人:{{ JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 5
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).jlr }}</el-col>
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 5)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).czcompletetime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
+ <el-col :span="6"
|
|
|
+ >记录人:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 5)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).jlr
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -416,24 +586,27 @@
|
|
|
<el-col :span="12"
|
|
|
>核查人员:{{
|
|
|
JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 6
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).hcry
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 6)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).hcry
|
|
|
}}</el-col
|
|
|
>
|
|
|
|
|
|
- <el-col :span="12">核查时间:{{ JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 6
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).hctime }}</el-col>
|
|
|
+ <el-col :span="12"
|
|
|
+ >核查时间:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 6)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).hctime
|
|
|
+ }}</el-col
|
|
|
+ >
|
|
|
<el-col :span="24"
|
|
|
- >核查备注:{{ JSON.parse(
|
|
|
- taskinfo.tblTaskLogList.filter(
|
|
|
- (ii) => ii.taskStatus === 6
|
|
|
- )[0].logDes ?? "{}"
|
|
|
- ).hcdes }}</el-col
|
|
|
+ >核查备注:{{
|
|
|
+ JSON.parse(
|
|
|
+ taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === 6)[0]
|
|
|
+ .logDes ?? "{}"
|
|
|
+ ).hcdes
|
|
|
+ }}</el-col
|
|
|
>
|
|
|
</el-row>
|
|
|
</div>
|
|
@@ -443,10 +616,13 @@
|
|
|
<el-dialog v-model="showpf" title="任务派发" draggable>
|
|
|
<div>
|
|
|
<el-form :model="pdobj" label-width="120px">
|
|
|
- <el-form-item label="负责班组"
|
|
|
- >
|
|
|
+ <el-form-item label="负责班组">
|
|
|
<el-select v-model="pdobj.fzbz" multiple placeholder="">
|
|
|
- <el-option v-for="dept in ywdept" :label="dept.deptName" :value="dept.deptId"></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="dept in ywdept"
|
|
|
+ :label="dept.deptName"
|
|
|
+ :value="dept.deptId"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
|
|
|
<!-- <el-tree-select
|
|
@@ -526,16 +702,17 @@
|
|
|
placeholder="请输入回访情况"
|
|
|
/></el-form-item>
|
|
|
|
|
|
-
|
|
|
<el-form-item label="处置完成日期">
|
|
|
- <el-date-picker v-model="gzobj.czcompletetime" type="date" placeholder="请选择" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="gzobj.czcompletetime"
|
|
|
+ type="date"
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="记录人">
|
|
|
+ <el-form-item label="记录人">
|
|
|
<el-input v-model="gzobj.jlr" placeholder="请输入记录人"></el-input>
|
|
|
-
|
|
|
</el-form-item>
|
|
|
-
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<template #footer>
|
|
@@ -546,7 +723,7 @@
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog v-model="showsh" title="任务审核" draggable>
|
|
|
+ <el-dialog v-model="showsh" title="任务审核" draggable>
|
|
|
<div>
|
|
|
<el-form :model="shobj" label-width="120px">
|
|
|
<el-form-item label="审核人员">
|
|
@@ -554,7 +731,7 @@
|
|
|
v-model="shobj.hcry"
|
|
|
placeholder="请选择核查人员"
|
|
|
style="width: 100%"
|
|
|
- filterable
|
|
|
+ filterable
|
|
|
allow-create
|
|
|
>
|
|
|
<el-option
|
|
@@ -563,7 +740,6 @@
|
|
|
:value="item.nickName"
|
|
|
/>
|
|
|
</el-select>
|
|
|
-
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="核查备注"
|
|
@@ -574,11 +750,13 @@
|
|
|
placeholder="请输入核查备注"
|
|
|
/></el-form-item>
|
|
|
|
|
|
-
|
|
|
<el-form-item label="核查时间">
|
|
|
- <el-date-picker v-model="shobj.hctime" type="datetime" placeholder="请选择" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="shobj.hctime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
-
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<template #footer>
|
|
@@ -589,6 +767,75 @@
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <el-dialog v-model="showxy" title="任务响应" draggable>
|
|
|
+ <div>
|
|
|
+ <el-form :model="xyobj" label-width="120px">
|
|
|
+ <el-form-item label="班组响应时间"
|
|
|
+ ><el-date-picker
|
|
|
+ v-model="xyobj.bzxytime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="到达现场时间"
|
|
|
+ ><el-date-picker
|
|
|
+ v-model="xyobj.ddxctime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="处理完成时间"
|
|
|
+ ><el-date-picker
|
|
|
+ v-model="xyobj.czwctime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="作业时长(小时)">
|
|
|
+ <el-input v-model="xyobj.zysc" type="text" placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="处理时长(小时)"
|
|
|
+ ><el-input v-model="xyobj.clsc" type="text" placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="作业负责人">
|
|
|
+ <el-select
|
|
|
+ v-model="xyobj.zyfzr"
|
|
|
+ placeholder="请选择人员"
|
|
|
+ style="width: 100%"
|
|
|
+ filterable
|
|
|
+ allow-create
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in allusers"
|
|
|
+ :label="item.nickName"
|
|
|
+ :value="item.userId"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="作业人数"
|
|
|
+ ><el-input v-model="xyobj.zyrs" type="text" placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="车辆型号"
|
|
|
+ ><el-input v-model="xyobj.carxh" type="text" placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+ <el-form-item label="车牌号"
|
|
|
+ ><el-input
|
|
|
+ v-model="xyobj.carnumber"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="公里数"
|
|
|
+ ><el-input v-model="xyobj.gls" type="number" placeholder="请输入"
|
|
|
+ /></el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="showxy = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="TaskXY">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<el-dialog v-model="showcz" title="任务处置" draggable>
|
|
|
<div>
|
|
|
<el-form :model="czobj" label-width="150px">
|
|
@@ -612,7 +859,17 @@
|
|
|
<el-table :data="czobj.gzldata">
|
|
|
<el-table-column label="名称">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.label" @change="(val) => { scope.row.value = task_work.filter(ii=>ii.label==val)[0].remark }" placeholder="请选择">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.label"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ scope.row.value = task_work.filter(
|
|
|
+ (ii) => ii.label == val
|
|
|
+ )[0].remark;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in task_work"
|
|
|
:label="item.label"
|
|
@@ -656,7 +913,17 @@
|
|
|
<el-table :data="czobj.clsbdata">
|
|
|
<el-table-column label="名称" prop="label">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.label" @change="(val) => { scope.row.value = task_car.filter(ii=>ii.label==val)[0].remark }" placeholder="请选择">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.label"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ scope.row.value = task_car.filter(
|
|
|
+ (ii) => ii.label == val
|
|
|
+ )[0].remark;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in task_car"
|
|
|
:label="item.label"
|
|
@@ -700,7 +967,17 @@
|
|
|
<el-table :data="czobj.hcdata">
|
|
|
<el-table-column label="名称" prop="label">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.label" @change="(val) => { scope.row.value = task_consumables.filter(ii=>ii.label==val)[0].remark }" placeholder="请选择">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.label"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ scope.row.value = task_consumables.filter(
|
|
|
+ (ii) => ii.label == val
|
|
|
+ )[0].remark;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in task_consumables"
|
|
|
:label="item.label"
|
|
@@ -776,7 +1053,8 @@ import {
|
|
|
closeTask,
|
|
|
czTask,
|
|
|
gzTask,
|
|
|
- hcTask
|
|
|
+ hcTask,
|
|
|
+ ddTask,
|
|
|
} from "@/api/system/task";
|
|
|
import {
|
|
|
changeUserStatus,
|
|
@@ -819,6 +1097,7 @@ const showbh = ref(false);
|
|
|
const showcz = ref(false);
|
|
|
const showgz = ref(false);
|
|
|
const showsh = ref(false);
|
|
|
+const showxy = ref(false);
|
|
|
const pdobj = ref({ fzbz: [], fzr: [] });
|
|
|
const bhobj = ref({ resonRemark: [], files: "", images: [] });
|
|
|
const czobj = ref({
|
|
@@ -828,8 +1107,20 @@ const czobj = ref({
|
|
|
clsbdata: [],
|
|
|
hcdata: [],
|
|
|
});
|
|
|
-const gzobj = ref({ isfinsh: '是', hfdes: "", czcompletetime: "", jlr: "" });
|
|
|
-const shobj = ref({ hcry: '', hcdes: "", hctime: "" });
|
|
|
+const xyobj = ref({
|
|
|
+ bzxytime: "",
|
|
|
+ ddxctime: "",
|
|
|
+ czwctime: "",
|
|
|
+ zysc: "",
|
|
|
+ clsc: "",
|
|
|
+ zyfzr: "",
|
|
|
+ zyrs: 0,
|
|
|
+ carxh: "",
|
|
|
+ carnumber: "",
|
|
|
+ gls: "",
|
|
|
+});
|
|
|
+const gzobj = ref({ isfinsh: "是", hfdes: "", czcompletetime: "", jlr: "" });
|
|
|
+const shobj = ref({ hcry: "", hcdes: "", hctime: "" });
|
|
|
const cztblaname = ref("gzl");
|
|
|
|
|
|
if (!route.params.id || route.params.id == "undefined") {
|
|
@@ -843,15 +1134,13 @@ const TaskComplete = () => {
|
|
|
}).then((res) => {
|
|
|
showcz.value = false;
|
|
|
ElMessage.success("成功!");
|
|
|
- getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ gettasklist();
|
|
|
});
|
|
|
};
|
|
|
const TaskGZ = () => {
|
|
|
var gz = cloneDeep(gzobj.value);
|
|
|
if (gz.czcompletetime) {
|
|
|
- gz.czcompletetime = moment(gz.czcompletetime).format("YYYY-MM-DD")
|
|
|
+ gz.czcompletetime = moment(gz.czcompletetime).format("YYYY-MM-DD");
|
|
|
}
|
|
|
gzTask({
|
|
|
taskId: route.params.id,
|
|
@@ -859,16 +1148,14 @@ const TaskGZ = () => {
|
|
|
}).then((res) => {
|
|
|
showgz.value = false;
|
|
|
ElMessage.success("成功!");
|
|
|
- getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ gettasklist();
|
|
|
});
|
|
|
};
|
|
|
|
|
|
const TaskSH = () => {
|
|
|
- var gz = cloneDeep(shobj.value);
|
|
|
- if (gz.hctime ) {
|
|
|
- gz.hctime = moment(gz.hctime).format("YYYY-MM-DD HH:mm:ss")
|
|
|
+ var gz = cloneDeep(shobj.value);
|
|
|
+ if (gz.hctime) {
|
|
|
+ gz.hctime = moment(gz.hctime).format("YYYY-MM-DD HH:mm:ss");
|
|
|
}
|
|
|
hcTask({
|
|
|
taskId: route.params.id,
|
|
@@ -876,9 +1163,7 @@ const TaskSH = () => {
|
|
|
}).then((res) => {
|
|
|
showsh.value = false;
|
|
|
ElMessage.success("成功!");
|
|
|
- getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ gettasklist();
|
|
|
});
|
|
|
};
|
|
|
const TaskClose = () => {
|
|
@@ -888,9 +1173,7 @@ const TaskClose = () => {
|
|
|
}).then((res) => {
|
|
|
showbh.value = false;
|
|
|
ElMessage.success("成功!");
|
|
|
- getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ gettasklist();
|
|
|
});
|
|
|
};
|
|
|
const addnewitem = () => {
|
|
@@ -916,6 +1199,51 @@ const addnewitem = () => {
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+watch(
|
|
|
+ [() => xyobj.value.bzxytime, xyobj.value.ddxctime, xyobj.value.czwctime],
|
|
|
+ () => {
|
|
|
+ if (xyobj.value.bzxytime != "" && xyobj.value.czwctime != "") {
|
|
|
+ xyobj.value.clsc =
|
|
|
+ (
|
|
|
+ (moment(xyobj.value.czwctime).unix() -
|
|
|
+ moment(xyobj.value.bzxytime).unix()) /
|
|
|
+ 3600.0
|
|
|
+ ).toFixed(2) + "";
|
|
|
+ }
|
|
|
+ if (xyobj.value.ddxctime != "" && xyobj.value.czwctime != "") {
|
|
|
+ xyobj.value.zysc =
|
|
|
+ (
|
|
|
+ (moment(xyobj.value.czwctime).unix() -
|
|
|
+ moment(xyobj.value.ddxctime).unix()) /
|
|
|
+ 3600.0
|
|
|
+ ).toFixed(2) + "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
+const TaskXY = () => {
|
|
|
+ var gz = cloneDeep(xyobj.value);
|
|
|
+ if (gz.bzxytime) {
|
|
|
+ gz.bzxytime = moment(gz.bzxytime).format("YYYY-MM-DD HH:mm:ss");
|
|
|
+ }
|
|
|
+ if (gz.ddxctime) {
|
|
|
+ gz.ddxctime = moment(gz.ddxctime).format("YYYY-MM-DD HH:mm:ss");
|
|
|
+ }
|
|
|
+ if (gz.czwctime) {
|
|
|
+ gz.czwctime = moment(gz.czwctime).format("YYYY-MM-DD HH:mm:ss");
|
|
|
+ }
|
|
|
+
|
|
|
+ ddTask({
|
|
|
+ taskId: route.params.id,
|
|
|
+ taskStatus: -1,
|
|
|
+ logDes: JSON.stringify(gz),
|
|
|
+ }).then((res) => {
|
|
|
+ showxy.value = false;
|
|
|
+ ElMessage.success("保存成功!");
|
|
|
+ gettasklist();
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
const Taskdistributed = () => {
|
|
|
distributedTask({
|
|
|
taskId: route.params.id,
|
|
@@ -923,9 +1251,7 @@ const Taskdistributed = () => {
|
|
|
}).then((res) => {
|
|
|
showpf.value = false;
|
|
|
ElMessage.success("派发成功!");
|
|
|
- getTask(Number(route.params.id)).then((res) => {
|
|
|
- taskinfo.value = res.data;
|
|
|
- });
|
|
|
+ gettasklist();
|
|
|
});
|
|
|
};
|
|
|
// console.error(route.params.id)
|
|
@@ -934,7 +1260,9 @@ const alldept = ref([]);
|
|
|
const ywdept = ref([]);
|
|
|
listDept().then((response) => {
|
|
|
alldept.value = cloneDeep(response.data);
|
|
|
- ywdept.value = alldept.value.filter(i => i.deptName.indexOf('运营') != -1 && i.deptName.indexOf('生产') == -1);
|
|
|
+ ywdept.value = alldept.value.filter(
|
|
|
+ (i) => i.deptName.indexOf("运营") != -1 && i.deptName.indexOf("生产") == -1
|
|
|
+ );
|
|
|
});
|
|
|
|
|
|
function setdatakey(dept) {
|
|
@@ -956,7 +1284,6 @@ deptTreeselect().then((res) => {
|
|
|
treedept.value = [setdatakey(res.data[0])];
|
|
|
});
|
|
|
|
|
|
-
|
|
|
const taskinfo = ref({
|
|
|
taskName: "",
|
|
|
taskContent: "",
|
|
@@ -983,19 +1310,23 @@ const taskinfo = ref({
|
|
|
tblTaskLogList: [],
|
|
|
});
|
|
|
|
|
|
-onMounted(() => {
|
|
|
+
|
|
|
+const gettasklist = () => {
|
|
|
getTask(Number(route.params.id)).then((res) => {
|
|
|
var templist = {};
|
|
|
var list = res.data.tblTaskLogList;
|
|
|
for (var i in list) {
|
|
|
var log = list[i];
|
|
|
if (templist.hasOwnProperty(log.taskStatus + "")) {
|
|
|
-
|
|
|
- if (moment(templist[log.taskStatus + ""].createTime).unix() - moment(log.createTime).unix() < 0) {
|
|
|
+ if (
|
|
|
+ moment(templist[log.taskStatus + ""].createTime).unix() -
|
|
|
+ moment(log.createTime).unix() <
|
|
|
+ 0
|
|
|
+ ) {
|
|
|
templist[log.taskStatus + ""] = log;
|
|
|
}
|
|
|
} else {
|
|
|
- templist[log.taskStatus+""] = log;
|
|
|
+ templist[log.taskStatus + ""] = log;
|
|
|
}
|
|
|
}
|
|
|
var lists = [];
|
|
@@ -1005,35 +1336,57 @@ onMounted(() => {
|
|
|
taskinfo.value = res.data;
|
|
|
taskinfo.value.tblTaskLogList = lists;
|
|
|
|
|
|
- var logs = (taskinfo.value.tblTaskLogList ?? []).filter(i => i.taskStatus == 2);
|
|
|
+ var logs = (taskinfo.value.tblTaskLogList ?? []).filter(
|
|
|
+ (i) => i.taskStatus == 2
|
|
|
+ );
|
|
|
+ var logs1 = (taskinfo.value.tblTaskLogList ?? []).filter(
|
|
|
+ (i) => i.taskStatus == -1
|
|
|
+ );
|
|
|
|
|
|
if (Array.isArray(logs) && logs.length > 0) {
|
|
|
var log = JSON.parse(logs[0].logDes);
|
|
|
czobj.value.qsdes = log.qsdes;
|
|
|
}
|
|
|
+ if (Array.isArray(logs1) && logs1.length > 0) {
|
|
|
+ var log = JSON.parse(logs1[0].logDes);
|
|
|
+ if (log.bzxytime) log.bzxytime = moment(log.bzxytime)._d;
|
|
|
+ if (log.ddxctime) log.ddxctime = moment(log.ddxctime)._d;
|
|
|
+ if (log.czwctime) log.czwctime = moment(log.czwctime)._d;
|
|
|
+ xyobj.value = log;
|
|
|
+ }
|
|
|
});
|
|
|
-});
|
|
|
+}
|
|
|
|
|
|
+onMounted(() => {
|
|
|
+ gettasklist();
|
|
|
+});
|
|
|
|
|
|
const fzrusers = ref([]);
|
|
|
|
|
|
-watch(() => pdobj.value.fzbz, () => {
|
|
|
- fzrusers.value = allusers.value.filter(
|
|
|
- (i) => (pdobj.value.fzbz ?? []).indexOf(i.deptId) != -1 && i.nickName.indexOf("热线处置")!=-1
|
|
|
- ).map(i => { i.userId = i.userId + ""; return i; })
|
|
|
-
|
|
|
-})
|
|
|
-
|
|
|
-
|
|
|
+watch(
|
|
|
+ () => pdobj.value.fzbz,
|
|
|
+ () => {
|
|
|
+ fzrusers.value = allusers.value
|
|
|
+ .filter(
|
|
|
+ (i) =>
|
|
|
+ (pdobj.value.fzbz ?? []).indexOf(i.deptId) != -1 &&
|
|
|
+ i.nickName.indexOf("热线处置") != -1
|
|
|
+ )
|
|
|
+ .map((i) => {
|
|
|
+ i.userId = i.userId + "";
|
|
|
+ return i;
|
|
|
+ });
|
|
|
+ }
|
|
|
+);
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
.demo-tabs {
|
|
|
width: 100%;
|
|
|
}
|
|
|
- .el-select {
|
|
|
- width: 100% !important;
|
|
|
- }
|
|
|
+.el-select {
|
|
|
+ width: 100% !important;
|
|
|
+}
|
|
|
.taskdetail {
|
|
|
background: #fff;
|
|
|
padding: 30px 22px;
|