wenhongquan 3 лет назад
Родитель
Сommit
3913c81bc2
2 измененных файлов с 628 добавлено и 120 удалено
  1. 161 6
      src/views/mb/task/detail/index.vue
  2. 467 114
      src/views/task/detail/index.vue

+ 161 - 6
src/views/mb/task/detail/index.vue

@@ -148,6 +148,9 @@
             >
           </van-row>
           </van-collapse-item>
+
+
+
           <van-collapse-item class="citem" title="跟踪信息" name="3" v-if="taskinfo.status >= 5">
             <van-row>
             <van-col :span="24"
@@ -181,6 +184,132 @@
                   ).jlr }}</van-col>
           </van-row>
           </van-collapse-item>
+          <van-collapse-item class="citem" title="响应信息" name="7" v-if="(taskinfo.tblTaskLogList.filter((ii) => ii.taskStatus === -1) ?? [])
+            .length > 0">
+          <div>
+            <van-row>
+            <van-col :span="24"
+              >班组响应时间:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).bzxytime
+              }}</van-col
+            >
+            <van-col :span="24"
+              >到达现场时间:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).ddxctime
+              }}</van-col
+            >
+            <van-col :span="24"
+              >处置完成时间:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).czwctime
+              }}</van-col
+            >
+            <van-col :span="12"
+              >作业时长(小时):{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).zysc
+              }}</van-col
+            >
+            <van-col :span="12"
+              >处理时长(小时):{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).clsc
+              }}</van-col
+            >
+            <van-col :span="12"
+              >作业负责人:{{
+                allusers
+                  .filter(
+                    (i) =>
+                      i.userId + "" ===
+                      JSON.parse(
+                        taskinfo.tblTaskLogList.filter(
+                          (ii) => ii.taskStatus === -1
+                        )[0].logDes
+                      ).zyfzr +
+                        ""
+                  )
+                  .map((i) => i.nickName)
+                  .join(",")
+              }}
+            </van-col>
+            <van-col :span="12"
+              >联系方式:{{
+                allusers
+                  .filter(
+                    (i) =>
+                      i.userId + "" ===
+                      JSON.parse(
+                        taskinfo.tblTaskLogList.filter(
+                          (ii) => ii.taskStatus === -1
+                        )[0].logDes
+                      ).zyfzr +
+                        ""
+                  )
+                  .map((i) => i.phonenumber)
+                  .join(",")
+              }}</van-col
+            >
+
+            <van-col :span="12"
+              >作业人数:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).zyrs
+              }}</van-col
+            >
+
+            <van-col :span="12"
+              >车辆型号:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).carxh
+              }}</van-col
+            >
+            <van-col :span="12"
+              >车牌号码:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).carnumber
+              }}</van-col
+            >
+            <van-col :span="12"
+              >公里数:{{
+                JSON.parse(
+                  taskinfo.tblTaskLogList.filter(
+                    (ii) => ii.taskStatus === -1
+                  )[0].logDes
+                ).gls
+              }}</van-col
+            >
+          </van-row>
+          </div>
+
+
+          </van-collapse-item>
           <van-collapse-item class="citem" title="处置信息" name="4" v-if="taskinfo.status > 2 && taskinfo.status != 4">
              <div class="titleheader" :style="`${'margin-top:0px'}`">
             {{ "权属确认" }}
@@ -453,21 +582,25 @@ 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 = [];
     for (var i in templist) {
@@ -475,8 +608,30 @@ onMounted(() => {
     }
     taskinfo.value = res.data;
     taskinfo.value.tblTaskLogList = lists;
-    // taskinfo.value = res.data;
+    console.log( taskinfo.value)
+
+    // 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 onClickLeft = () => {
   router.back();

+ 467 - 114
src/views/task/detail/index.vue

@@ -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;