unbind.3c0101ad.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. import { O as T } from './index.00e2f453.js'
  2. import { O as b } from './index.4f243ca1.js'
  3. import {
  4. d as N,
  5. R as C,
  6. X as v,
  7. k as e,
  8. be as j,
  9. F as y,
  10. ad as w,
  11. g as f,
  12. s as q,
  13. b8 as k,
  14. aQ as B,
  15. l as h,
  16. B as F,
  17. j as S
  18. } from './index.879f7421.js'
  19. import { O as I } from './index.c8b56350.js'
  20. import { O as L } from './index.67af0c64.js'
  21. import { i as O } from './icon_teacher.40b6f077.js'
  22. import { L as A } from './index.9f8069d8.js'
  23. import { C as E } from './index.9a3a3b84.js'
  24. import { I as G } from './index.c463dbd0.js'
  25. import { T as x } from './index.30499db4.js'
  26. import { C as V } from './index.4aec72fa.js'
  27. import { a as z } from './function-call.3c67215d.js'
  28. import './index.00975bf6.js'
  29. import './use-tab-status.fe36a003.js'
  30. const R = '_unbindTips_1tv2q_1',
  31. D = '_detailCellGroup_1tv2q_11',
  32. $ = '_detailCell_1tv2q_11',
  33. M = '_teacherName_1tv2q_23',
  34. U = '_teacherContent_1tv2q_29',
  35. H = '_content_1tv2q_34',
  36. P = '_classNum_1tv2q_37',
  37. Q = '_className_1tv2q_41',
  38. X = '_musicName_1tv2q_47',
  39. J = '_nums_1tv2q_52',
  40. K = '_numTip_1tv2q_58'
  41. var c = {
  42. unbindTips: R,
  43. detailCellGroup: D,
  44. detailCell: $,
  45. teacherName: M,
  46. teacherContent: U,
  47. content: H,
  48. classNum: P,
  49. className: Q,
  50. musicName: X,
  51. nums: J,
  52. numTip: K
  53. }
  54. const W = '_name_nzdqe_1',
  55. Y = '_img_nzdqe_8',
  56. Z = '_subjects_nzdqe_15'
  57. var i = { name: W, img: Y, subjects: Z }
  58. function g(l) {
  59. return (
  60. typeof l == 'function' || (Object.prototype.toString.call(l) === '[object Object]' && !w(l))
  61. )
  62. }
  63. var ee = N({
  64. name: 'teacher',
  65. emits: ['close', 'select'],
  66. setup(l, { slots: _, attrs: n, emit: d }) {
  67. const t = C({
  68. schoolId: null,
  69. list: [],
  70. listState: { dataShow: !0, loading: !1, finished: !1 },
  71. params: { keyword: null, page: 1, rows: 20 },
  72. selectItem: {}
  73. }),
  74. u = async () => {
  75. try {
  76. const a = await f.post('/api-school/teacher/page', {
  77. data: { ...t.params, schoolId: q.user.data.school.id }
  78. })
  79. t.listState.loading = !1
  80. const s = a.data || {}
  81. if (t.list.length > 0 && s.current === 1) return
  82. const r = s.rows || []
  83. r.forEach((m) => {
  84. m.subjectNames = m.subjectName ? m.subjectName.split(',') : []
  85. }),
  86. (t.list = t.list.concat(r)),
  87. (t.listState.finished = s.current >= s.pages),
  88. (t.params.page = s.current + 1),
  89. (t.listState.dataShow = t.list.length > 0)
  90. } catch {
  91. ;(t.listState.dataShow = !1), (t.listState.finished = !0)
  92. }
  93. },
  94. p = () => {
  95. ;(t.params.page = 1),
  96. (t.list = []),
  97. (t.listState.dataShow = !0),
  98. (t.listState.loading = !1),
  99. (t.listState.finished = !1),
  100. u()
  101. },
  102. o = (a) => {
  103. d('select', a), d('close')
  104. }
  105. return (
  106. v(() => {
  107. u()
  108. }),
  109. () => {
  110. let a
  111. return e(y, null, [
  112. e(
  113. b,
  114. { position: 'top' },
  115. {
  116. default: () => [
  117. e(T, { title: '\u4EA4\u63A5\u8001\u5E08' }, null),
  118. e(
  119. L,
  120. {
  121. placeholder: '\u8BF7\u8F93\u5165\u8001\u5E08\u59D3\u540D',
  122. inputBackground: 'white',
  123. background: '#F8F8F8',
  124. onSearch: (s) => {
  125. ;(t.params.keyword = s), p()
  126. }
  127. },
  128. null
  129. )
  130. ]
  131. }
  132. ),
  133. t.listState.dataShow
  134. ? e(
  135. A,
  136. {
  137. loading: t.listState.loading,
  138. 'onUpdate:loading': (s) => (t.listState.loading = s),
  139. finished: t.listState.finished,
  140. finishedText: ' ',
  141. class: [i.liveList],
  142. onLoad: u,
  143. immediateCheck: !1
  144. },
  145. g(
  146. (a = t.list.map((s) =>
  147. e(
  148. E,
  149. { onClick: () => o(s) },
  150. {
  151. icon: () => e(G, { class: i.img, src: s.avatar || O }, null),
  152. title: () =>
  153. e('div', { class: i.content }, [
  154. e('p', { class: [i.name, 'van-ellipsis'] }, [s.nickname]),
  155. e('p', { class: i.subjects }, [
  156. s.subjectNames &&
  157. s.subjectNames.length > 0 &&
  158. s.subjectNames.map((r) =>
  159. e(x, { type: 'primary' }, g(r) ? r : { default: () => [r] })
  160. )
  161. ])
  162. ])
  163. }
  164. )
  165. ))
  166. )
  167. ? a
  168. : { default: () => [a] }
  169. )
  170. : e(
  171. j,
  172. {
  173. btnStatus: !1,
  174. classImgSize: 'SMALL',
  175. tips: '\u6682\u65E0\u4F34\u5B66\u8001\u5E08'
  176. },
  177. null
  178. )
  179. ])
  180. }
  181. )
  182. }
  183. })
  184. function te(l) {
  185. return (
  186. typeof l == 'function' || (Object.prototype.toString.call(l) === '[object Object]' && !w(l))
  187. )
  188. }
  189. var _e = N({
  190. name: 'unbind',
  191. setup() {
  192. const l = k(),
  193. _ = B(),
  194. n = C({ teacherStatus: !1, classList: [], selectTeacher: {} }),
  195. d = async () => {
  196. try {
  197. const o = l.query,
  198. { data: a } = await f.post('/api-school/classGroup/page', {
  199. data: { teacherId: o.id, schoolId: q.user.data.school.id, page: 1, rows: 100 }
  200. })
  201. n.classList = a.rows || []
  202. } catch {}
  203. },
  204. t = (o) => {
  205. ;(n.teacherStatus = !0), (n.selectTeacher = o)
  206. },
  207. u = (o) => {
  208. console.log(o, 'steacher'), (n.selectTeacher.sTeacher = o)
  209. },
  210. p = () => {
  211. console.log('submit')
  212. let o = !1
  213. const a = []
  214. if (
  215. (n.classList.forEach((s) => {
  216. ;(!s.sTeacher || (s.sTeacher && !s.sTeacher.id)) && (o = !0),
  217. s.sTeacher && a.push({ classGroupId: s.id, teacherId: s.sTeacher.id })
  218. }),
  219. o)
  220. ) {
  221. S('\u8BF7\u9009\u62E9\u4EA4\u63A5\u8001\u5E08')
  222. return
  223. }
  224. try {
  225. z({
  226. title: '\u63D0\u793A',
  227. message: '\u662F\u5426\u786E\u8BA4\u4EA4\u63A5',
  228. showCancelButton: !0
  229. }).then(async () => {
  230. await f.post('/api-school/classGroup/handoverTeacher', {
  231. data: { teacherId: l.query.id, updateTeacherList: [...a] }
  232. }),
  233. setTimeout(() => {
  234. S('\u4EA4\u63A5\u6210\u529F')
  235. }, 100),
  236. setTimeout(() => {
  237. _.replace('/companion-teacher')
  238. }, 1e3)
  239. })
  240. } catch {}
  241. }
  242. return (
  243. v(() => {
  244. d()
  245. }),
  246. () => {
  247. let o
  248. return e(y, null, [
  249. e(T, null, null),
  250. e('div', { class: c.unbindTips }, [
  251. h(
  252. '\u8BE5\u4F34\u5B66\u8001\u5E08\u5B58\u5728\u4EE5\u4E0B\u73ED\u7EA7\u53CA\u8BFE\u7A0B\u672A\u5F00\u59CB\uFF0C\u8BF7\u9009\u62E9\u4EA4\u63A5\u8001\u5E08'
  253. )
  254. ]),
  255. e(
  256. V,
  257. { inset: !0, class: c.detailCellGroup },
  258. te(
  259. (o = n.classList.map((a) =>
  260. e(
  261. E,
  262. { center: !0, class: c.detailCell, isLink: !0, onClick: () => t(a) },
  263. {
  264. title: () =>
  265. e('div', { class: c.teacherContent }, [
  266. e('div', { class: c.classInfo }, [
  267. e('p', { class: c.className }, [a.name]),
  268. e('p', { class: c.musicName }, [a.orchestraName])
  269. ]),
  270. e('div', { class: c.classNum }, [
  271. e('p', { class: c.nums }, [
  272. a.courseScheduleNum - a.completeCourseScheduleNum
  273. ]),
  274. e('p', { class: c.numTip }, [h('\u5269\u4F59\u8BFE\u65F6')])
  275. ])
  276. ]),
  277. value: () =>
  278. e('span', { class: c.teacherName }, [a.sTeacher && a.sTeacher.nickname])
  279. }
  280. )
  281. ))
  282. )
  283. ? o
  284. : { default: () => [o] }
  285. ),
  286. e(
  287. b,
  288. { position: 'bottom' },
  289. {
  290. default: () => [
  291. e(
  292. 'div',
  293. { class: ['btnGroup'], style: { paddingLeft: '13px', paddingRight: '13px' } },
  294. [
  295. e(
  296. F,
  297. { type: 'primary', round: !0, block: !0, onClick: p },
  298. { default: () => [h('\u786E\u8BA4\u4EA4\u63A5')] }
  299. )
  300. ]
  301. )
  302. ]
  303. }
  304. ),
  305. e(
  306. I,
  307. { modelValue: n.teacherStatus, 'onUpdate:modelValue': (a) => (n.teacherStatus = a) },
  308. { default: () => [e(ee, { onClose: () => (n.teacherStatus = !1), onSelect: u }, null)] }
  309. )
  310. ])
  311. }
  312. )
  313. }
  314. })
  315. export { _e as default }