lookDetail.vue 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. <template>
  2. <div>
  3. <descriptions :column="3">
  4. <descriptions-item label="所属分部:">
  5. {{ detail.organName }}
  6. </descriptions-item>
  7. <descriptions-item label="合作单位:">
  8. {{ detail.cooperationName }}
  9. </descriptions-item>
  10. <descriptions-item label="巡查乐团:">
  11. {{ detail.musicGroupName }}
  12. </descriptions-item>
  13. <descriptions-item label="乐团主管:">
  14. {{ detail.realName }}
  15. </descriptions-item>
  16. <descriptions-item label="巡查时间:">
  17. {{ dayjs(detail.planStart).format("YYYY-MM-DD HH:mm") }}~
  18. {{ dayjs(detail.planEnd).format("HH:mm") }}
  19. </descriptions-item>
  20. <descriptions-item label="提交时间:">
  21. {{ detail.submitedTime }}
  22. </descriptions-item>
  23. <descriptions-item label="处理方式:">
  24. {{ detail.memo }}
  25. </descriptions-item>
  26. </descriptions>
  27. <el-table style="margin-top: 15px" :data="tableData">
  28. <el-table-column
  29. prop="name"
  30. fixed="left"
  31. label="巡查项目"
  32. align="center"
  33. width="150"
  34. >
  35. </el-table-column>
  36. <el-table-column label="课前管理" align="center">
  37. <el-table-column
  38. width="200px"
  39. align="center"
  40. label="老师是否提前20分钟到校?"
  41. prop="16"
  42. >
  43. <template slot-scope="scope">
  44. <i
  45. :class="
  46. JSON.parse(scope.row[16]) ? 'el-icon-check' : 'el-icon-close'
  47. "
  48. ></i>
  49. </template>
  50. </el-table-column>
  51. <el-table-column
  52. prop="1"
  53. width="200px"
  54. align="center"
  55. label="老师是否提前准备板书(本课内容、训练)"
  56. >
  57. <template slot-scope="scope">
  58. <i
  59. :class="
  60. JSON.parse(scope.row[1]) ? 'el-icon-check' : 'el-icon-close'
  61. "
  62. ></i>
  63. </template>
  64. </el-table-column>
  65. <el-table-column
  66. prop="2"
  67. width="160px"
  68. label="老师是否佩戴工牌"
  69. align="center"
  70. >
  71. <template slot-scope="scope">
  72. <i
  73. :class="
  74. JSON.parse(scope.row[2]) ? 'el-icon-check' : 'el-icon-close'
  75. "
  76. ></i>
  77. </template>
  78. </el-table-column>
  79. <el-table-column
  80. prop="3"
  81. width="180px"
  82. label="老师是否仪容仪表整洁"
  83. align="center"
  84. >
  85. <template slot-scope="scope">
  86. <i
  87. :class="
  88. JSON.parse(scope.row[3]) ? 'el-icon-check' : 'el-icon-close'
  89. "
  90. ></i>
  91. </template>
  92. </el-table-column>
  93. <el-table-column
  94. prop="4"
  95. width="160px"
  96. label="老师是否携带乐器"
  97. align="center"
  98. >
  99. <template slot-scope="scope">
  100. <i
  101. :class="
  102. JSON.parse(scope.row[4]) ? 'el-icon-check' : 'el-icon-close'
  103. "
  104. ></i>
  105. </template>
  106. </el-table-column>
  107. <el-table-column
  108. prop="5"
  109. width="160px"
  110. align="center"
  111. label="老师是否携带教学资料、设备"
  112. >
  113. <template slot-scope="scope">
  114. <i
  115. :class="
  116. JSON.parse(scope.row[5]) ? 'el-icon-check' : 'el-icon-close'
  117. "
  118. ></i>
  119. </template>
  120. </el-table-column>
  121. <el-table-column
  122. prop="17"
  123. width="160px"
  124. align="center"
  125. label="老师是否确认学生出勤情况?"
  126. >
  127. <template slot-scope="scope">
  128. <i
  129. :class="
  130. JSON.parse(scope.row[17]) ? 'el-icon-check' : 'el-icon-close'
  131. "
  132. ></i>
  133. </template>
  134. </el-table-column>
  135. <el-table-column
  136. prop="18"
  137. width="160px"
  138. align="center"
  139. label="老师是否点评上周作业/练习情况?"
  140. >
  141. <template slot-scope="scope">
  142. <i
  143. :class="
  144. JSON.parse(scope.row[18]) ? 'el-icon-check' : 'el-icon-close'
  145. "
  146. ></i>
  147. </template>
  148. </el-table-column>
  149. </el-table-column>
  150. <el-table-column label="课中管理" align="center">
  151. <el-table-column
  152. prop="6"
  153. width="160px"
  154. align="center"
  155. label="老师是否合理安排学员座位"
  156. >
  157. <template slot-scope="scope">
  158. <i
  159. :class="
  160. JSON.parse(scope.row[6]) ? 'el-icon-check' : 'el-icon-close'
  161. "
  162. ></i>
  163. </template>
  164. </el-table-column>
  165. <el-table-column
  166. prop="7"
  167. width="160px"
  168. align="center"
  169. label="乐器箱包、书包是否摆放整齐"
  170. >
  171. <template slot-scope="scope">
  172. <i
  173. :class="
  174. JSON.parse(scope.row[7]) ? 'el-icon-check' : 'el-icon-close'
  175. "
  176. ></i>
  177. </template>
  178. </el-table-column>
  179. <el-table-column
  180. prop="8"
  181. width="180px"
  182. align="center"
  183. label="课堂纪律是否保持良好"
  184. >
  185. <template slot-scope="scope">
  186. <i
  187. :class="
  188. JSON.parse(scope.row[8]) ? 'el-icon-check' : 'el-icon-close'
  189. "
  190. ></i>
  191. </template>
  192. </el-table-column>
  193. <el-table-column
  194. prop="9"
  195. width="180px"
  196. align="center"
  197. label="老师是否全程站立教学"
  198. >
  199. <template slot-scope="scope">
  200. <i
  201. :class="
  202. JSON.parse(scope.row[9]) ? 'el-icon-check' : 'el-icon-close'
  203. "
  204. ></i>
  205. </template>
  206. </el-table-column>
  207. <el-table-column
  208. prop="10"
  209. width="160px"
  210. align="center"
  211. label="老师是否全程使用节拍器或教学音频"
  212. >
  213. <template slot-scope="scope">
  214. <i
  215. :class="
  216. JSON.parse(scope.row[10]) ? 'el-icon-check' : 'el-icon-close'
  217. "
  218. ></i>
  219. </template>
  220. </el-table-column>
  221. <el-table-column
  222. prop="11"
  223. width="160px"
  224. align="center"
  225. label="学生使用的换代乐器非公司售卖数量?"
  226. >
  227. <template slot-scope="scope">
  228. <p>{{ scope.row[11] }}</p>
  229. </template>
  230. </el-table-column>
  231. <el-table-column
  232. prop="12"
  233. width="160px"
  234. align="center"
  235. label="系统在读小课与实际盘点一致?"
  236. >
  237. <template slot-scope="scope">
  238. <i
  239. :class="
  240. JSON.parse(scope.row[12]) ? 'el-icon-check' : 'el-icon-close'
  241. "
  242. ></i>
  243. </template>
  244. </el-table-column>
  245. <el-table-column
  246. prop="19"
  247. width="160px"
  248. align="center"
  249. label="老师是否布置课后作业?"
  250. >
  251. <template slot-scope="scope">
  252. <i
  253. :class="
  254. JSON.parse(scope.row[19]) ? 'el-icon-check' : 'el-icon-close'
  255. "
  256. ></i>
  257. </template>
  258. </el-table-column>
  259. </el-table-column>
  260. <el-table-column label="课后管理" align="center">
  261. <el-table-column
  262. prop="13"
  263. width="160px"
  264. align="center"
  265. label="老师是否保持教室环境卫生"
  266. >
  267. <template slot-scope="scope">
  268. <i
  269. :class="JSON.parse(scope.row[13]) ? 'el-icon-check' : 'el-icon-close'"
  270. ></i>
  271. </template>
  272. </el-table-column>
  273. <el-table-column
  274. prop="14"
  275. width="160px"
  276. align="center"
  277. label="老师是否关好所有电源、门窗"
  278. >
  279. <template slot-scope="scope">
  280. <i
  281. :class="JSON.parse(scope.row[14])? 'el-icon-check' : 'el-icon-close'"
  282. ></i>
  283. </template>
  284. </el-table-column>
  285. <el-table-column
  286. prop="15"
  287. width="160px"
  288. align="center"
  289. label="老师是否有序组织学员放学"
  290. >
  291. <template slot-scope="scope">
  292. <i
  293. :class="JSON.parse(scope.row[15]) ? 'el-icon-check' : 'el-icon-close'"
  294. ></i>
  295. </template>
  296. </el-table-column>
  297. <el-table-column
  298. prop="20"
  299. width="160px"
  300. align="center"
  301. label="老师是否处理完成问题乐器?"
  302. >
  303. <template slot-scope="scope">
  304. <i
  305. :class="JSON.parse(scope.row[20]) ? 'el-icon-check' : 'el-icon-close'"
  306. ></i>
  307. </template>
  308. </el-table-column>
  309. </el-table-column>
  310. <template #empty>
  311. <empty />
  312. </template>
  313. </el-table>
  314. </div>
  315. </template>
  316. <script>
  317. import numeral from "numeral";
  318. import dayjs from "dayjs";
  319. import descriptions from "@/components/Descriptions";
  320. import { getPlanConclusion } from "../api";
  321. export default {
  322. props: ["detail"],
  323. components: { descriptions },
  324. data() {
  325. return {
  326. tableData: [],
  327. };
  328. },
  329. mounted() {
  330. this.init();
  331. },
  332. methods: {
  333. dayjs,
  334. numeral,
  335. async init() {
  336. try {
  337. let detail = this.detail;
  338. // if(!detail) {
  339. // return
  340. // }
  341. const res = await getPlanConclusion({ planId: detail.id });
  342. this.tableData = res.data;
  343. } catch (err) {}
  344. },
  345. },
  346. };
  347. </script>
  348. <style lang="less" scoped>
  349. .alert {
  350. margin: 10px 0;
  351. }
  352. ::v-deep .el-icon-close,
  353. ::v-deep .el-icon-check {
  354. font-size: 18px;
  355. font-weight: bold;
  356. }
  357. ::v-deep .el-icon-close {
  358. color: red;
  359. }
  360. ::v-deep .el-icon-check {
  361. color: var(--color-primary);
  362. }
  363. </style>