index.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div>
  3. <van-nav-bar
  4. title="工单详情"
  5. left-text="返回"
  6. left-arrow
  7. @click-left="onClickLeft"
  8. />
  9. <div class="body">
  10. <div class="listcontent" :style="`height:${bodyheight}px`">
  11. <van-collapse v-model="activeNames">
  12. <van-collapse-item class="citem" title="工单信息" name="1">
  13. <div class="content">
  14. <van-row>
  15. <van-col span="12">工单编号:{{ taskinfo.taskCode }}</van-col>
  16. <van-col span="12"
  17. >事件来源:{{
  18. task_type.filter(
  19. (i) => i.value.toString() === taskinfo.taskType.toString()
  20. )[0]?.label ?? "-"
  21. }}</van-col
  22. >
  23. <van-col span="12">来件时间:{{ taskinfo.taskTime }}</van-col>
  24. <van-col span="12"
  25. >事件分类:{{
  26. task_event_type.filter(
  27. (i) =>
  28. i.value.toString() === taskinfo.taskEventType.toString()
  29. )[0]?.label ?? "-"
  30. }}</van-col
  31. >
  32. <van-col span="12"
  33. >事件类型:{{
  34. task_event_category.filter(
  35. (i) =>
  36. i.value.toString() === taskinfo.taskEventCategory.toString()
  37. )[0]?.label ?? "-"
  38. }}</van-col
  39. >
  40. <van-col span="12"
  41. >事件来源:{{
  42. task_type.filter(
  43. (i) => i.value.toString() === taskinfo.taskType.toString()
  44. )[0]?.label ?? "-"
  45. }}</van-col
  46. >
  47. <van-col span="24"
  48. >详细地址:{{
  49. taskinfo.taskAddr
  50. }}</van-col
  51. >
  52. <van-col span="24"
  53. >详细地址:{{
  54. taskinfo.taskAddr
  55. }}</van-col
  56. >
  57. </van-row>
  58. </div>
  59. </van-collapse-item>
  60. <van-collapse-item class="citem" title="派发信息" name="2" v-if="taskinfo.status > 1">
  61. 技术无非就是那些开发它的人的共同灵魂。
  62. </van-collapse-item>
  63. <van-collapse-item class="citem" title="跟踪信息" name="3" v-if="taskinfo.status >= 5">
  64. 在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。
  65. </van-collapse-item>
  66. <van-collapse-item class="citem" title="处置信息" name="4" v-if="taskinfo.status > 2 && taskinfo.status != 4">
  67. 在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。
  68. </van-collapse-item>
  69. <van-collapse-item class="citem" title="核查信息" name="5" v-if="taskinfo.status > 5">
  70. 在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。
  71. </van-collapse-item>
  72. <van-collapse-item class="citem" title="驳回信息" name="6" v-if="taskinfo.status == 4">
  73. 在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。
  74. </van-collapse-item>
  75. </van-collapse>
  76. </div>
  77. </div>
  78. </div>
  79. </template>
  80. <script setup>
  81. import { defineComponent, ref, onMounted, watch } from "vue";
  82. import { cloneDeep } from "lodash";
  83. import { listDept, getDept } from "@/api/system/dept";
  84. import { useDict } from "@/utils/dict";
  85. import { useRoute } from "vue-router";
  86. import moment from "moment";
  87. import {
  88. listTask,
  89. getTask,
  90. delTask,
  91. addTask,
  92. updateTask,
  93. distributedTask,
  94. closeTask,
  95. czTask,
  96. gzTask,
  97. hcTask,
  98. } from "@/api/system/task";
  99. import {
  100. changeUserStatus,
  101. listUser,
  102. resetUserPwd,
  103. delUser,
  104. getUser,
  105. updateUser,
  106. addUser,
  107. } from "@/api/system/user";
  108. import { treeselect as deptTreeselect } from "@/api/system/dept";
  109. import router from "../../../../router";
  110. const STATICURL = import.meta.env.VITE_APP_BASE_API;
  111. const {
  112. task_status,
  113. task_type,
  114. task_event_type,
  115. task_event_category,
  116. task_work,
  117. task_car,
  118. task_consumables,
  119. } = useDict(
  120. "task_status",
  121. "task_type",
  122. "task_event_type",
  123. "task_event_category",
  124. "task_work",
  125. "task_car",
  126. "task_consumables"
  127. );
  128. const route = useRoute();
  129. const bodyheight = ref(0);
  130. bodyheight.value = document.body.clientHeight - 46;
  131. const activeNames = ref(["1"]);
  132. const taskinfo = ref({
  133. taskName: "",
  134. taskContent: "",
  135. taskAddr: "-",
  136. taskLocation: "-",
  137. taskCode: "-",
  138. taskType: "1",
  139. taskEventType: "1",
  140. taskEventCategory: "1",
  141. taskFromRemark: "-",
  142. taskAddrRoad: "-",
  143. taskOtherId: "-",
  144. taskTime: "2022-11-11 16:11:11",
  145. taskReqCompleteTime: "2022-11-11 16:11:11",
  146. status: 1,
  147. taskCreater: "-",
  148. taskReporter: "-",
  149. taskPics: "",
  150. remark: "sss",
  151. taskVideos: "-",
  152. taskComplainConnect: "-",
  153. taskDeptRange: "",
  154. taskFacilitieCode: "",
  155. tblTaskLogList: [],
  156. });
  157. onMounted(() => {
  158. getTask(Number(route.params.id)).then((res) => {
  159. taskinfo.value = res.data;
  160. });
  161. });
  162. const onClickLeft = () => {
  163. router.back();
  164. };
  165. </script>
  166. <style lang="scss">
  167. body {
  168. position: fixed;
  169. width: 100%;
  170. top: -1px;
  171. }
  172. .listcontent {
  173. overflow-y: auto;
  174. padding: 10px;
  175. .citem {
  176. margin-top: 10px;
  177. border-radius: 5px;
  178. border: 1px solid rgba(209, 217, 221, 0.4);
  179. overflow: hidden;
  180. .content {
  181. font-size: 10px;
  182. }
  183. }
  184. .van-cell__title {
  185. color: #3d6dc5;
  186. font-weight: bold;
  187. }
  188. }
  189. </style>