teamBaseInfo.vue 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438
  1. <template>
  2. <div class="base-container">
  3. <div class="banseLeft">
  4. <div class="head">乐团基本信息:</div>
  5. <!-- <div class="num">乐团编号:dywh01</div> -->
  6. <el-form :model="topFrom"
  7. :inline="true"
  8. ref="topinfo"
  9. label-width="120px"
  10. style="margin-left: 11px">
  11. <el-form-item label="收费类型"
  12. prop="type"
  13. :rules="[{ required: true, message: '收费类型不能为空' }]">
  14. <el-select v-model.trim="topFrom.type"
  15. filterable
  16. :disabled="basdisabled"
  17. clearable>
  18. <el-option v-for="(item, index) in typeList"
  19. :key="index"
  20. :label="item.name"
  21. :value="item.id"></el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item label="所属分部"
  25. prop="section"
  26. :rules="[{ required: true, message: '所属分部不能为空' }]">
  27. <el-select v-model.trim="topFrom.section"
  28. filterable
  29. :disabled="basdisabled"
  30. @change="changeSection"
  31. clearable>
  32. <el-option v-for="(item, index) in sectionList"
  33. :key="index"
  34. :label="item.name"
  35. :value="item.id"></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item label="合作单位"
  39. prop="school"
  40. :rules="[{ required: true, message: '合作单位不能为空' }]">
  41. <el-select v-model.trim="topFrom.school"
  42. :disabled="!topFrom.section || basdisabled"
  43. @change="chioseSchool"
  44. filterable
  45. clearable>
  46. <el-option v-for="(item, index) in cooperationList"
  47. :key="index"
  48. :label="item.name"
  49. :value="item.id"></el-option>
  50. </el-select>
  51. </el-form-item>
  52. <el-form-item label="教学地点"
  53. prop="address"
  54. :rules="[{ required: true, message: '教学地点不能为空' }]">
  55. <el-select v-model.trim="topFrom.address"
  56. filterable
  57. clearable
  58. :disabled="!topFrom.section || basdisabled">
  59. <el-option v-for="(item, index) in addList"
  60. :key="index"
  61. :label="item.name"
  62. :value="item.id"></el-option>
  63. </el-select>
  64. </el-form-item>
  65. <el-form-item label="乐团名称"
  66. prop="name"
  67. :rules="[{ required: true, message: '乐团名称不能为空' }]">
  68. <el-input placeholder="请输入乐团名称"
  69. v-model.trim="topFrom.name"
  70. :disabled="basdisabled"></el-input>
  71. </el-form-item>
  72. <el-form-item label="运营主管"
  73. prop="boss"
  74. :rules="[{ required: true, message: '运营主管不能为空' }]">
  75. <el-select v-model.trim="topFrom.boss"
  76. :disabled="!topFrom.section || basdisabled"
  77. filterable
  78. clearable>
  79. <el-option v-for="(item, index) in orgianList"
  80. :key="index"
  81. :label="item.realName"
  82. :value="item.id"></el-option>
  83. </el-select>
  84. </el-form-item>
  85. <el-form-item label="教务老师"
  86. prop="teacher"
  87. :rules="[{ required: true, message: '教务老师不能为空' }]">
  88. <el-select v-model.trim="topFrom.teacher"
  89. :disabled="!topFrom.section || basdisabled"
  90. filterable
  91. clearable>
  92. <el-option v-for="(item, index) in orgianList"
  93. :key="index"
  94. :label="item.realName"
  95. :value="item.id"></el-option>
  96. </el-select>
  97. </el-form-item>
  98. <el-form-item label="维修技师"
  99. prop="repairUserId">
  100. <el-select v-model.trim="topFrom.repairUserId"
  101. :disabled="!topFrom.section || basdisabled"
  102. filterable
  103. clearable>
  104. <el-option v-for="(item, index) in technician"
  105. :key="index"
  106. :label="item.userName"
  107. :value="item.userId"></el-option>
  108. </el-select>
  109. </el-form-item>
  110. <el-form-item label="报名截止时间"
  111. prop="time"
  112. :rules="[{ required: true, message: '请输入报名截止时间' }]">
  113. <el-date-picker v-model.trim="topFrom.time"
  114. :disabled="basdisabled"
  115. type="date"
  116. value-format="yyyy-MM-dd"
  117. :picker-options="{
  118. firstDayOfWeek: 1,
  119. }"
  120. placeholder="选择日期"></el-date-picker>
  121. </el-form-item>
  122. <el-form-item label="预计开团时间"
  123. prop="startTime"
  124. :rules="[{ required: true, message: '请输入预计开团时间' }]">
  125. <el-date-picker v-model.trim="topFrom.startTime"
  126. :disabled="basdisabled"
  127. type="date"
  128. value-format="yyyy-MM-dd"
  129. :picker-options="{
  130. firstDayOfWeek: 1,
  131. }"
  132. placeholder="选择日期"></el-date-picker>
  133. </el-form-item>
  134. <el-form-item label="缴费方式"
  135. prop="paymentPattern"
  136. :rules="[{ required: !isNotEditing(), message: '请选择缴费方式' }]">
  137. <el-select placeholder="缴费方式"
  138. :disabled="isNotEditing() || basdisabled"
  139. clearable
  140. @change="changePaymentPattern"
  141. filterable
  142. v-model.trim="topFrom.paymentPattern">
  143. <el-option :value="0"
  144. label="按月"></el-option>
  145. <el-option :value="1"
  146. label="按季"></el-option>
  147. <el-option :value="2"
  148. label="一次性"></el-option>
  149. </el-select>
  150. </el-form-item>
  151. <el-form-item label="缴费有效期开始"
  152. prop="paymentValidStartDate"
  153. :rules="[
  154. { required: !isNotEditing(), message: '请选择缴费有效期开始' },
  155. ]">
  156. <el-date-picker :disabled="isNotEditing() || basdisabled"
  157. v-model="topFrom.paymentValidStartDate"
  158. @change="changePaymentValidStartDate"
  159. placeholder="开始日期"
  160. :picker-options="{
  161. firstDayOfWeek: 1,
  162. }">
  163. </el-date-picker>
  164. </el-form-item>
  165. <el-form-item label="缴费有效期结束"
  166. prop="paymentValidEndDate"
  167. :rules="[
  168. {
  169. required: !(isNotEditing() || topFrom.paymentPattern === 2),
  170. message: '请选择缴费有效期结束',
  171. },
  172. ]">
  173. <el-date-picker :disabled="
  174. isNotEditing() || topFrom.paymentPattern === 2 || basdisabled
  175. "
  176. v-model="topFrom.paymentValidEndDate"
  177. :picker-options="beginDate(topFrom.paymentValidStartDate)"
  178. placeholder="结束日期">
  179. </el-date-picker>
  180. </el-form-item>
  181. <el-form-item label="招生年级"
  182. v-if="basdisabled">
  183. <el-tooltip class="item"
  184. effect="dark"
  185. :content="startClassString"
  186. placement="top-start">
  187. <div style="width: 180px; overflow: hidden">
  188. {{ startClassString }}
  189. </div>
  190. </el-tooltip>
  191. </el-form-item>
  192. <el-form-item label="招生年级"
  193. v-else
  194. prop="startClass"
  195. :rules="[{ required: true, message: '请选择招生年纪' }]">
  196. <el-select placeholder="起始年级"
  197. clearable
  198. multiple
  199. collapse-tags
  200. filterable
  201. v-model.trim="topFrom.startClass">
  202. <el-option v-for="item in classStatus"
  203. :value="item.value"
  204. :label="item.label"
  205. :key="item.value"></el-option>
  206. </el-select>
  207. </el-form-item>
  208. <el-form-item label="课酬结算标准"
  209. :rules="[{ required: true, message: '请选择课酬结算标准' }]"
  210. prop="salary">
  211. <el-select v-model.trim="topFrom.salary"
  212. clearable
  213. :disabled="basdisabled"
  214. filterable>
  215. <el-option label="默认课酬"
  216. value="TEACHER_DEFAULT"></el-option>
  217. <el-option label="3.0课酬"
  218. value="GRADIENT_SALARY"></el-option>
  219. <!-- <el-option label="课堂课酬"
  220. value="CLASSROOM_SALARY"></el-option>-->
  221. </el-select>
  222. </el-form-item>
  223. <el-form-item label="机构类型"
  224. prop="ownershipType">
  225. <el-select v-model.trim="topFrom.ownershipType"
  226. :disabled="basdisabled">
  227. <el-option label="自有"
  228. value="OWN"></el-option>
  229. <el-option label="三方"
  230. value="COOPERATION"></el-option>
  231. <!-- <el-option label="租赁"
  232. value="LEASE"></el-option>-->
  233. </el-select>
  234. </el-form-item>
  235. <el-form-item label="乐队指导"
  236. v-if="teamStatus == 'resetTeam' || teamStatus == 'teamList'"
  237. prop="head">
  238. <el-select v-model.trim="topFrom.head"
  239. filterable
  240. clearable>
  241. <el-option v-for="(item, index) in orgianList"
  242. :key="index"
  243. :label="item.realName"
  244. :value="item.id"></el-option>
  245. </el-select>
  246. </el-form-item>
  247. <el-form-item label="乐团网管课"
  248. :rules="[{ required: true, message: '请选择是否排乐团网管课' }]"
  249. prop="feeType">
  250. <el-select v-model="topFrom.feeType"
  251. placeholder="是否排乐团网管课"
  252. :disabled="basdisabled"
  253. @change="changeFeeType">
  254. <el-option label="需要排一次线上课"
  255. value="ONLINE"></el-option>
  256. <el-option label="只排线下课"
  257. value="OFFLINE"></el-option>
  258. </el-select>
  259. </el-form-item>
  260. <el-form-item label
  261. prop="isClass">
  262. <el-checkbox v-model.trim="topFrom.isClass"
  263. :disabled="basdisabled">课堂课乐团</el-checkbox>
  264. </el-form-item>
  265. </el-form>
  266. <div class="checkList">
  267. <div class="head noMargin">乐团课程:</div>
  268. <div class="checkRow">
  269. <el-checkbox label="乐团声部训练"
  270. :disabled="basdisabled"
  271. v-model.trim="checkList.soundInfo.ischeck"></el-checkbox>
  272. <div class="inputWrap">
  273. 原价:
  274. <input type="text"
  275. placeholder="请输入"
  276. :disabled="basdisabled"
  277. v-model.trim="checkList.soundInfo.value" />
  278. </div>
  279. <!-- <div class="inputWrap">
  280. <el-checkbox v-model="checkList.soundInfo.checkBuy">是否可选择购买</el-checkbox>
  281. </div> -->
  282. </div>
  283. <div class="checkRow">
  284. <el-checkbox label="乐团合奏训练"
  285. :disabled="basdisabled"
  286. v-model.trim="checkList.allInfo.ischeck"></el-checkbox>
  287. <div class="inputWrap">
  288. 原价:
  289. <input type="text"
  290. placeholder="请输入"
  291. :disabled="basdisabled"
  292. v-model.trim="checkList.allInfo.value" />
  293. </div>
  294. <!-- <div class="inputWrap">
  295. <el-checkbox v-model="checkList.allInfo.checkBuy">是否可选择购买</el-checkbox>
  296. </div> -->
  297. </div>
  298. <div class="checkRow">
  299. <el-checkbox label="假期集中训练"
  300. :disabled="basdisabled"
  301. v-model.trim="checkList.holidayInfo.ischeck"></el-checkbox>
  302. <div class="inputWrap">
  303. 原价:
  304. <input type="number"
  305. @mousewheel.native.prevent
  306. :disabled="basdisabled"
  307. placeholder="请输入"
  308. v-model.trim="checkList.holidayInfo.value" />
  309. </div>
  310. <!-- <div class="inputWrap">
  311. <el-checkbox v-model="checkList.holidayInfo.checkBuy">是否可选择购买</el-checkbox>
  312. </div> -->
  313. </div>
  314. <div class="checkRow"
  315. v-if="checkList.networkInfo">
  316. <el-checkbox label="乐团云课堂"
  317. :disabled="basdisabled"
  318. v-model="checkList.networkInfo.ischeck"></el-checkbox>
  319. <div class="inputWrap">
  320. 原价:
  321. <input type="number"
  322. :disabled="basdisabled"
  323. @mousewheel.native.prevent
  324. placeholder="请输入"
  325. v-model.trim="checkList.networkInfo.value" />
  326. </div>
  327. <!-- <div class="inputWrap">
  328. <el-checkbox v-model="checkList.networkInfo.checkBuy">是否可选择购买</el-checkbox>
  329. </div> -->
  330. </div>
  331. <div class="checkRow">
  332. <el-checkbox label="网络基础训练"
  333. :disabled="basdisabled"
  334. v-model.trim="checkList.baseInfo.ischeck"></el-checkbox>
  335. <div class="inputWrap">
  336. 原价:
  337. <input type="number"
  338. :disabled="basdisabled"
  339. @mousewheel.native.prevent
  340. placeholder="请输入"
  341. v-model.trim="checkList.baseInfo.value" />
  342. </div>
  343. <!-- <div class="inputWrap">
  344. <el-checkbox v-model="checkList.baseInfo.checkBuy">是否可选择购买</el-checkbox>
  345. </div> -->
  346. </div>
  347. <div class="checkRow">
  348. <el-checkbox label="课程提示"
  349. :disabled="basdisabled"
  350. class="classCheckBox"
  351. v-model.trim="checkList.submit.ischeck"></el-checkbox>
  352. <div class="textWrap"
  353. v-if="checkList.submit.ischeck">
  354. <el-input type="textarea"
  355. :disabled="basdisabled"
  356. :rows="1"
  357. style="width: 500px"
  358. v-model.trim="checkList.submit.value"></el-input>
  359. </div>
  360. </div>
  361. <div class="head noMargin">新生专享:</div>
  362. <div class="checkRow"
  363. v-if="newStudentList.baseInfo">
  364. <el-checkbox label="网络基础训练"
  365. :disabled="basdisabled"
  366. v-model="newStudentList.baseInfo.ischeck"></el-checkbox>
  367. <div class="inputWrap">
  368. 原价:
  369. <input type="number"
  370. @mousewheel.native.prevent
  371. :disabled="basdisabled"
  372. placeholder="请输入"
  373. v-model.trim="newStudentList.baseInfo.nowValue" />
  374. </div>
  375. <div class="inputWrap">
  376. 现价:
  377. <input type="number"
  378. :disabled="basdisabled"
  379. @mousewheel.native.prevent
  380. placeholder="请输入"
  381. v-model.trim="newStudentList.baseInfo.value" />
  382. </div>
  383. <!-- <div class="inputWrap">
  384. <el-checkbox v-model="newStudentList.baseInfo.checkBuy">是否可选择购买</el-checkbox>
  385. </div> -->
  386. </div>
  387. <div class="head noMargin">付费方式:</div>
  388. <div class="checkRow">
  389. <el-checkbox label="学校"
  390. :disabled="basdisabled"
  391. class="classCheckBox"
  392. v-model.trim="payList.school.ischeck"></el-checkbox>
  393. <div class="chioseList">
  394. <div class="chioseItem"
  395. :class="payList.school.chiose == 'ONE_OFF' ? 'active' : ''"
  396. @click="!basdisabled ? (payList.school.chiose = 'ONE_OFF') : null">
  397. 一次性
  398. </div>
  399. <div class="chioseItem"
  400. :class="payList.school.chiose == 'MONTHLY' ? 'active' : ''"
  401. @click="!basdisabled ? (payList.school.chiose = 'MONTHLY') : null">
  402. 一个月
  403. </div>
  404. <div class="chioseItem"
  405. :class="payList.school.chiose == 'TERM' ? 'active' : ''"
  406. @click="!basdisabled ? (payList.school.chiose = 'TERM') : null">
  407. 一学期
  408. </div>
  409. <div class="chioseItem"
  410. :class="payList.school.chiose == 'YEAR' ? 'active' : ''"
  411. @click="!basdisabled ? (payList.school.chiose = 'YEAR') : null">
  412. 一学年
  413. </div>
  414. </div>
  415. <div class="inputWrap">
  416. 预计收费:
  417. <input type="textarea"
  418. v-model.trim="payList.school.price"
  419. :disabled="basdisabled"
  420. placeholder="请输入" />
  421. </div>
  422. <div class="inputWrap">
  423. 备注:
  424. <input type="textarea"
  425. v-model.trim="payList.school.value"
  426. :disabled="basdisabled"
  427. placeholder="请输入" />
  428. </div>
  429. </div>
  430. <div class="checkRow">
  431. <el-checkbox label="公司"
  432. class="classCheckBox"
  433. :disabled="basdisabled"
  434. v-model.trim="payList.company.ischeck"></el-checkbox>
  435. <div class="chioseList">
  436. <div class="chioseItem"
  437. :class="payList.company.chiose == 'ONE_OFF' ? 'active' : ''"
  438. @click="
  439. !basdisabled ? (payList.company.chiose = 'ONE_OFF') : null
  440. ">
  441. 一次性
  442. </div>
  443. <div class="chioseItem"
  444. :class="payList.company.chiose == 'MONTHLY' ? 'active' : ''"
  445. @click="
  446. !basdisabled ? (payList.company.chiose = 'MONTHLY') : null
  447. ">
  448. 一个月
  449. </div>
  450. <div class="chioseItem"
  451. :class="payList.company.chiose == 'TERM' ? 'active' : ''"
  452. @click="!basdisabled ? (payList.company.chiose = 'TERM') : null">
  453. 一学期
  454. </div>
  455. <div class="chioseItem"
  456. :class="payList.company.chiose == 'YEAR' ? 'active' : ''"
  457. @click="!basdisabled ? (payList.company.chiose = 'YEAR') : null">
  458. 一学年
  459. </div>
  460. </div>
  461. <div class="inputWrap">
  462. 预计收费:
  463. <input type="textarea"
  464. placeholder="请输入"
  465. :disabled="basdisabled"
  466. v-model.trim="payList.company.price" />
  467. </div>
  468. <div class="inputWrap">
  469. 备注:
  470. <input type="textarea"
  471. placeholder="请输入"
  472. :disabled="basdisabled"
  473. v-model.trim="payList.company.value" />
  474. </div>
  475. </div>
  476. </div>
  477. <div class="btnWrap">
  478. <div class="nextBtn"
  479. v-if="teamStatus == 'resetTeam'"
  480. v-permission="{
  481. child: 'musicGroup/update',
  482. parent: '/resetTeaming/teamBaseInfo',
  483. }"
  484. @click="resetSubmit">
  485. 修改
  486. </div>
  487. <!-- 审批或者草稿的下一步 -->
  488. <div class="nextBtn"
  489. @click="gotoNext(1)"
  490. v-if="
  491. teamStatus == 'newTeam' ||
  492. teamStatus == 'teamDraft' ||
  493. teamStatus == 'teamAudit'
  494. ">
  495. 下一步
  496. </div>
  497. <!-- 跨团调整的下一步 -->
  498. <div class="nextBtn"
  499. v-if="teamStatus == 'teamList'"
  500. @click="gotoNext(2)">
  501. 下一步
  502. </div>
  503. </div>
  504. </div>
  505. </div>
  506. </template>
  507. <script>
  508. import {
  509. getSection,
  510. getType,
  511. getCooperation,
  512. getTeacher,
  513. getAddress,
  514. getPayMaster,
  515. getPayStatus,
  516. getTeamBaseInfo,
  517. resetTeamBaseInfo,
  518. getEmployeeOrgan,
  519. } from "@/api/buildTeam";
  520. import { findTechnician } from "@/api/repairManager";
  521. import dayjs from 'dayjs'
  522. import {
  523. queryEmployByOrganId,
  524. queryByOrganId,
  525. getSchool,
  526. } from "@/api/systemManage";
  527. import { classStatus } from "@/utils/searchArray";
  528. import { scrollTo } from "@/utils/scroll-to";
  529. import axios from "axios";
  530. import store from "@/store";
  531. import numeral from "numeral";
  532. import { formatData } from "@/utils/utils";
  533. import qs from "qs";
  534. export default {
  535. name: "teamBaseInfo",
  536. props: ["getTeamList"],
  537. data () {
  538. return {
  539. classStatus,
  540. organId: null,
  541. topFrom: {
  542. type: "", // 收费类型
  543. section: "", //所属分部
  544. school: "", // 合作单位
  545. teacher: "", // 教务老师
  546. name: "", //乐团名称
  547. boss: "", // 运营主管
  548. time: "", // 报名截止时间
  549. startClass: [], // 招生年级起始
  550. address: "", // 教学地点
  551. salary: "", // 收费模式
  552. head: "",
  553. isClass: false, //是否为课堂课
  554. startTime: "",
  555. feeType: null,
  556. paymentPattern: "", // 缴费方式
  557. paymentValid: [], // 缴费有效期
  558. paymentValidStartDate: null, // 缴费有效期开始
  559. paymentValidEndDate: null, // 缴费有效期结束
  560. ownershipType: "OWN", // 合作机构类型
  561. repairUserId: null, // 维修技师
  562. },
  563. checkList: {
  564. soundInfo: {
  565. // 声部
  566. ischeck: false,
  567. value: "",
  568. checkBuy: false,
  569. isNew: 0,
  570. isStatus: false,
  571. },
  572. allInfo: {
  573. // 合奏
  574. ischeck: false,
  575. value: "",
  576. checkBuy: false,
  577. isNew: 0,
  578. isStatus: false,
  579. },
  580. baseInfo: {
  581. // 基础
  582. ischeck: false,
  583. value: "",
  584. checkBuy: false,
  585. isNew: 0,
  586. isStatus: false,
  587. },
  588. holidayInfo: {
  589. // 假期
  590. ischeck: false,
  591. value: "",
  592. checkBuy: false,
  593. isNew: 0,
  594. isStatus: false,
  595. },
  596. networkInfo: {
  597. ischeck: false,
  598. value: "",
  599. checkBuy: false,
  600. isNew: 0,
  601. isStatus: false,
  602. },
  603. submit: {
  604. ischeck: false,
  605. value:
  606. "年度安排个月共xxx课时,课时,原价xxx元,现价xxxx元/月(约 xxxx元/课时 )",
  607. },
  608. }, // 选中的集合
  609. newStudentList: {
  610. baseInfo: {
  611. ischeck: false,
  612. value: "",
  613. checkBuy: true,
  614. nowValue: "",
  615. isNew: 1,
  616. isStatus: false,
  617. },
  618. },
  619. baseInfo: {},
  620. money: 580,
  621. orderInfo: {
  622. marketPrice: 0, // 原价总金额
  623. referencePrice: 0, // 现价总金额
  624. }, // 金额列表,金额计算
  625. sectionList: [], // 分部列表
  626. typeList: [], // 收费类型列表
  627. cooperationList: [], // 教学点列表
  628. teacherList: [], // 获取老师列表
  629. addList: [], // 教学地点列表
  630. payList: {
  631. school: {
  632. ischeck: false,
  633. value: "",
  634. price: "",
  635. chiose: "",
  636. },
  637. company: {
  638. ischeck: false,
  639. value: "",
  640. price: "",
  641. chiose: "",
  642. },
  643. student: {
  644. ischeck: true,
  645. chiose: "loop",
  646. },
  647. chioseMonth: [], // 选中的月份
  648. },
  649. activeTeam: [],
  650. teamid: "",
  651. teamStatus: "",
  652. orgianList: [],
  653. isInit: false,
  654. technician: [],
  655. basdisabled: false,
  656. };
  657. },
  658. created () { },
  659. activated () {
  660. this.payList = {
  661. school: {
  662. ischeck: false,
  663. value: "",
  664. price: "",
  665. chiose: "",
  666. },
  667. company: {
  668. ischeck: false,
  669. value: "",
  670. price: "",
  671. chiose: "",
  672. },
  673. student: {
  674. ischeck: true,
  675. chiose: "loop",
  676. },
  677. chioseMonth: [], // 选中的月份
  678. };
  679. this.init();
  680. },
  681. mounted () {
  682. this.init();
  683. // this.$forceUpdate()
  684. // 获取分部下的员工
  685. },
  686. beforeDestroy () { },
  687. methods: {
  688. isNotEditing: function () {
  689. return !(this.teamStatus === 'resetTeam' || this.teamStatus === 'teamDraft' || this.teamStatus === 'teamAudit' || this.teamStatus === 'newTeam')
  690. },
  691. changeFeeType (val) {
  692. console.log(val == "ONLINE");
  693. },
  694. changePaymentValidStartDate (val) {
  695. if (val) {
  696. this.$set(this.topFrom, "paymentValidEndDate", "");
  697. }
  698. },
  699. changePaymentPattern (val) {
  700. if (val === 2) {
  701. // this.topFrom.paymentValidStartDate = null
  702. this.$set(this.topFrom, 'paymentValidEndDate', '')
  703. }
  704. },
  705. beginDate (end) {
  706. return {
  707. firstDayOfWeek: 1,
  708. disabledDate (time) {
  709. if (end) {
  710. return new Date(end).getTime() - 86400000 >= time.getTime();
  711. } else {
  712. return time.getTime() + 86400000 < Date.now();
  713. //开始时间不选时,结束时间最大值小于等于当天
  714. }
  715. },
  716. };
  717. },
  718. init () {
  719. (this.checkList = {
  720. soundInfo: {
  721. // 声部
  722. ischeck: false,
  723. value: "",
  724. checkBuy: false,
  725. isNew: 0,
  726. isStatus: false,
  727. },
  728. allInfo: {
  729. // 合奏
  730. ischeck: false,
  731. value: "",
  732. checkBuy: false,
  733. isNew: 0,
  734. isStatus: false,
  735. },
  736. baseInfo: {
  737. // 基础
  738. ischeck: false,
  739. value: "",
  740. checkBuy: false,
  741. isNew: 0,
  742. isStatus: false,
  743. },
  744. holidayInfo: {
  745. // 假期
  746. ischeck: false,
  747. value: "",
  748. checkBuy: false,
  749. isNew: 0,
  750. isStatus: false,
  751. },
  752. networkInfo: {
  753. ischeck: false,
  754. value: "",
  755. checkBuy: false,
  756. isNew: 0,
  757. isStatus: false,
  758. },
  759. submit: {
  760. ischeck: false,
  761. value:
  762. "年度安排个月共xxx课时,课时,原价xxx元,现价xxxx元/月(约 xxxx元/课时 )",
  763. },
  764. }),
  765. (this.newStudentList = {
  766. baseInfo: {
  767. // 基础
  768. ischeck: false,
  769. value: "",
  770. checkBuy: true,
  771. nowValue: "",
  772. isNew: 1,
  773. isStatus: false,
  774. },
  775. });
  776. this.isInit = true;
  777. // 分为3种 this.teamStatus
  778. // 1.resetTeam 乐团修改
  779. // 2. newTeam 新建乐团
  780. // 3.teamList 跨团修改
  781. // 4.teamDraft 乐团草稿
  782. this.teamStatus = this.$route.query.type;
  783. // 传过来的乐团信息
  784. this.activeTeam = this.getTeamList;
  785. if (this.teamStatus == "look") {
  786. this.basdisabled = true;
  787. } else {
  788. this.basdisabled = false;
  789. }
  790. if (
  791. this.teamStatus == "resetTeam" ||
  792. this.teamStatus == "teamDraft" ||
  793. this.teamStatus == "teamAudit" ||
  794. this.teamStatus == "look"
  795. ) {
  796. // 单团修改
  797. this.teamid = this.$route.query.id;
  798. getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
  799. if (res.code == 200) {
  800. // 头部
  801. this.topFrom.name = res.data.musicGroup.name;
  802. this.$emit("getName", this.topFrom.name);
  803. this.topFrom.time = res.data.musicGroup.applyExpireDate;
  804. this.topFrom.type = res.data.musicGroup.chargeTypeId;
  805. this.topFrom.startClass = res.data.musicGroup.enrollClasses.split(
  806. ","
  807. );
  808. this.topFrom.paymentPattern = res.data.musicGroup.paymentPattern;
  809. this.topFrom.paymentValidStartDate =
  810. res.data.musicGroup.paymentValidStartDate;
  811. this.topFrom.paymentValidEndDate =
  812. res.data.musicGroup.paymentValidEndDate;
  813. this.topFrom.section = res.data.musicGroup.organId;
  814. this.topFrom.school = res.data.musicGroup.cooperationOrganId;
  815. this.topFrom.teacher = res.data.musicGroup.educationalTeacherId;
  816. this.topFrom.boss = res.data.musicGroup.teamTeacherId;
  817. this.topFrom.address = res.data.musicGroup.schoolId;
  818. this.topFrom.salary = res.data.musicGroup.settlementType;
  819. this.topFrom.head = res.data.musicGroup.directorUserId;
  820. this.topFrom.isClass = res.data.musicGroup.isClassroomLessons;
  821. this.topFrom.startTime = res.data.musicGroup.expectStartGroupDate;
  822. this.topFrom.ownershipType = res.data.musicGroup.ownershipType;
  823. this.topFrom.repairUserId = res.data.musicGroup.repairUserId
  824. ? res.data.musicGroup.repairUserId
  825. : null;
  826. this.topFrom.feeType = res.data.musicGroup.feeType
  827. ? res.data.musicGroup.feeType
  828. : null;
  829. // 课程组成形式
  830. this.checkList;
  831. let list = JSON.parse(res.data.musicGroup.courseForm);
  832. for (let i in this.checkList) {
  833. if (list[i] && !list[i].isNew) {
  834. this.checkList[i] = list[i];
  835. } else if (list[i] && list[i].isNew) {
  836. this.newStudentList[i] = list[i];
  837. console.log(this.newStudentList[i]);
  838. this.newStudentList[i].checkBuy = true;
  839. }
  840. }
  841. // 付费方式和周期
  842. for (let i in res.data.musicGroupPaymentEntities) {
  843. if (res.data.musicGroupPaymentEntities[i].name == "学校") {
  844. this.payList.school.ischeck = true;
  845. this.payList.school.value =
  846. res.data.musicGroupPaymentEntities[i].memo;
  847. this.payList.school.price =
  848. res.data.musicGroupPaymentEntities[i].amount;
  849. this.payList.school.chiose =
  850. res.data.musicGroupPaymentEntities[i].paymentMethod;
  851. }
  852. if (res.data.musicGroupPaymentEntities[i].name == "公司") {
  853. this.payList.company.ischeck = true;
  854. this.payList.company.value =
  855. res.data.musicGroupPaymentEntities[i].memo;
  856. this.payList.company.price =
  857. res.data.musicGroupPaymentEntities[i].amount;
  858. this.payList.company.chiose =
  859. res.data.musicGroupPaymentEntities[i].paymentMethod;
  860. }
  861. if (res.data.months.length > 0) {
  862. this.payList.student.ischeck = true;
  863. this.payList.student.chiose = "loop";
  864. this.chioseMonth = res.data.months;
  865. } else {
  866. this.payList.student.ischeck = true;
  867. this.payList.student.chiose = "ONE_OFF";
  868. }
  869. }
  870. // 循环缴费月
  871. this.payList.chioseMonth = res.data.months;
  872. if (res.data.musicGroup.organId) {
  873. // 获取员工
  874. queryEmployByOrganId({
  875. organId: res.data.musicGroup.organId,
  876. rows: 1000,
  877. }).then((res) => {
  878. if (res.code == 200) {
  879. this.orgianList = res.data.rows;
  880. }
  881. });
  882. // 获取合作单位
  883. queryByOrganId({ organId: res.data.musicGroup.organId }).then(
  884. (res) => {
  885. if (res.code == 200) {
  886. this.cooperationList = res.data;
  887. }
  888. }
  889. );
  890. // 获取教学点
  891. getSchool({ organId: res.data.musicGroup.organId }).then(
  892. (res) => {
  893. if (res.code == 200) {
  894. this.addList = res.data;
  895. this.isInit = false;
  896. }
  897. }
  898. );
  899. // 获取维修技师
  900. findTechnician().then((res) => {
  901. if (res.code == 200) {
  902. this.technician = res.data;
  903. }
  904. });
  905. }
  906. }
  907. });
  908. } else {
  909. (this.topFrom = {
  910. type: "", // 收费类型
  911. section: "", //所属分部
  912. school: "", // 合作单位
  913. teacher: "", // 教务老师
  914. name: "", //乐团名称
  915. boss: "", // 运营主管
  916. time: "", // 报名截止时间
  917. startClass: [], // 招生年级起始
  918. paymentValid: [], // 缴费有效期时间起始
  919. address: "", // 教学地点
  920. salary: "", // 收费模式
  921. head: "",
  922. paymentPattern: "", // 缴费方式
  923. isClass: false, //是否为课堂课
  924. startTime: "",
  925. ownershipType: "OWN", // 合作机构类型
  926. feeType: null,
  927. }),
  928. this.$refs["topinfo"].resetFields();
  929. }
  930. // 1.获取各个选项卡的数据内容
  931. // getSection({ 'delFlag': 0, 'rows': 1000 }).then(res => {
  932. // if (res.code == 200) {
  933. // this.sectionList = res.data.rows;
  934. // }
  935. // }).catch()
  936. getEmployeeOrgan().then((res) => {
  937. if (res.code == 200) {
  938. this.sectionList = res.data;
  939. }
  940. });
  941. // 2.获取收费类型选项卡
  942. getType({ rows: 1000 }).then((res) => {
  943. if (res.code == 200) {
  944. this.typeList = res.data.rows;
  945. }
  946. });
  947. // 3.获取合作单位选项卡
  948. // getCooperation({ 'rows': 1000, search: this.organId }).then(res => {
  949. // if (res.code == 200) {
  950. // this.cooperationList = res.data.rows;
  951. // }
  952. // })
  953. // 4.获取老师选项卡
  954. // getTeacher({ 'rows': 1000, organId: this.organId }).then(res => {
  955. // if (res.code == 200) {
  956. // this.teacherList = res.data;
  957. // }
  958. // })
  959. // 5.获取教学地点选项卡
  960. // getAddress({ 'rows': 1000, }).then(res => {
  961. // if (res.code == 200) {
  962. // this.addList = res.data.rows;
  963. // }
  964. // })
  965. // 6.默认支付主体
  966. // getPayMaster({ 'rows': 1000 }).then(res => {
  967. // if (res.code == 200) {
  968. // this.payList = res.data.map(item => {
  969. // let obj = {};
  970. // obj.id = item.id;
  971. // obj.ischios
  972. // })
  973. // }
  974. // })
  975. // 缓存设置时的状态
  976. sessionStorage.setItem("resetCode", "1");
  977. },
  978. changeSection (val) {
  979. // 修改分部的时候 重置运营主管 重置教务老师 重置乐队指导 合作单位 教学点
  980. this.topFrom.teacher = "";
  981. this.topFrom.boss = "";
  982. this.topFrom.head = "";
  983. this.topFrom.school = "";
  984. this.topFrom.address = "";
  985. // 发请求 根据分部id 查询所有员工
  986. queryEmployByOrganId({ organId: val, rows: 1000 }).then((res) => {
  987. if (res.code == 200) {
  988. this.orgianList = res.data.rows;
  989. }
  990. });
  991. // 合作单位
  992. queryByOrganId({ organId: val }).then((res) => {
  993. if (res.code == 200) {
  994. this.cooperationList = res.data;
  995. }
  996. });
  997. // 教学点=>学校
  998. getSchool({ organId: val }).then((res) => {
  999. if (res.code == 200) {
  1000. this.addList = res.data;
  1001. }
  1002. });
  1003. // 获取维修技师
  1004. findTechnician().then((res) => {
  1005. if (res.code == 200) {
  1006. this.technician = res.data;
  1007. }
  1008. });
  1009. },
  1010. chioseSchool (val) { },
  1011. gotoNext (num) {
  1012. // 1.效验数据 判断是否数据正常=> 正常放入store存储
  1013. // 不正常=> 进行效验提示
  1014. let check = [];
  1015. for (let i in this.checkList) {
  1016. if (this.checkList[i] && i != "submit") {
  1017. check.push(this.checkList[i].ischeck);
  1018. }
  1019. }
  1020. let checkFlag = false;
  1021. check.forEach((item) => {
  1022. checkFlag = checkFlag || item;
  1023. });
  1024. if (!checkFlag) {
  1025. this.$message.error("请至少选择一种乐团课程类型");
  1026. return;
  1027. }
  1028. this.$refs["topinfo"].validate((valid, object) => {
  1029. if (!valid) {
  1030. this.$message.error("请填写建团必要参数");
  1031. } else {
  1032. // 判断一下是否勾选了课程类型而没有输入金额
  1033. let flagList = [];
  1034. for (let i in this.checkList) {
  1035. if (this.checkList[i].ischeck && !this.checkList[i].value) {
  1036. flagList.push(false);
  1037. } else {
  1038. flagList.push(true);
  1039. }
  1040. }
  1041. for (let i in this.newStudentList) {
  1042. if (
  1043. (this.newStudentList[i].ischeck &&
  1044. !this.newStudentList[i].value) ||
  1045. (this.newStudentList[i].ischeck &&
  1046. !this.newStudentList[i].nowValue)
  1047. ) {
  1048. flagList.push(false);
  1049. } else {
  1050. flagList.push(true);
  1051. }
  1052. }
  1053. let flag = flagList.every((item) => {
  1054. return item == true;
  1055. });
  1056. if (!flag) {
  1057. this.$message.error("课程价格不能为空");
  1058. return;
  1059. }
  1060. // 验证通过
  1061. this.$store.dispatch("topinfo", this.topFrom);
  1062. this.$store.dispatch("checkinfo", this.checkList);
  1063. this.$store.dispatch("getpayInfo", this.payList);
  1064. this.$store.dispatch("newStudentinfo", this.newStudentList);
  1065. if (this.teamStatus == "teamDraft") {
  1066. // 获取数据提交
  1067. this.resetSubmit();
  1068. } else {
  1069. // this.resetSubmit();
  1070. this.$emit("chiosetab", num);
  1071. }
  1072. }
  1073. });
  1074. },
  1075. resetSubmit () {
  1076. let check = [];
  1077. for (let i in this.checkList) {
  1078. if (this.checkList[i] && i != "submit") {
  1079. check.push(this.checkList[i].ischeck);
  1080. }
  1081. }
  1082. let checkFlag = false;
  1083. check.forEach((item) => {
  1084. checkFlag = checkFlag || item;
  1085. });
  1086. if (!checkFlag) {
  1087. this.$message.error("请至少选择一种乐团课程类型");
  1088. return;
  1089. }
  1090. this.$refs["topinfo"].validate((valid, object) => {
  1091. if (!valid) {
  1092. this.$message.error("请填写必要参数");
  1093. } else {
  1094. let flagList = [];
  1095. for (let i in this.checkList) {
  1096. if (this.checkList[i].ischeck && !this.checkList[i].value) {
  1097. flagList.push(false);
  1098. } else {
  1099. flagList.push(true);
  1100. }
  1101. }
  1102. for (let i in this.newStudentList) {
  1103. if (
  1104. (this.newStudentList[i].ischeck &&
  1105. !this.newStudentList[i].value) ||
  1106. (this.newStudentList[i].ischeck &&
  1107. !this.newStudentList[i].nowValue)
  1108. ) {
  1109. flagList.push(false);
  1110. } else {
  1111. flagList.push(true);
  1112. }
  1113. }
  1114. let flag = flagList.every((item) => {
  1115. return item == true;
  1116. });
  1117. if (!flag) {
  1118. this.$message.error("课程价格不能为空");
  1119. return;
  1120. }
  1121. let status = null;
  1122. // 1.resetTeam 乐团修改
  1123. // 2.newTeam 新建乐团
  1124. // 3.teamList 跨团修改
  1125. // 4.teamDraft 乐团草稿
  1126. switch (this.teamStatus) {
  1127. case "resetTeam": {
  1128. status = "PROGRESS";
  1129. break;
  1130. }
  1131. case "newTeam": {
  1132. status = null;
  1133. break;
  1134. }
  1135. case "teamList": {
  1136. status = null;
  1137. break;
  1138. }
  1139. case "teamDraft": {
  1140. status = "DRAFT";
  1141. break;
  1142. }
  1143. }
  1144. let obj = {};
  1145. // topFrom.ownershipType
  1146. // 修改 合并对象
  1147. let courseJson = {};
  1148. for (let i in this.checkList) {
  1149. if (this.checkList[i].ischeck) {
  1150. courseJson[i] = this.checkList[i];
  1151. }
  1152. }
  1153. for (let j in this.newStudentList) {
  1154. if (this.newStudentList[j].ischeck) {
  1155. courseJson[j] = this.newStudentList[j];
  1156. }
  1157. }
  1158. this.payList.student.chiose == "loop"
  1159. ? (obj.months = this.payList.chioseMonth)
  1160. : (obj.months = []);
  1161. obj.musicGroup = {
  1162. settlementType: this.topFrom.salary,
  1163. applyExpireDate: this.topFrom.time + " 00:00:01",
  1164. chargeTypeId: this.topFrom.type,
  1165. cooperationOrganId: this.topFrom.school,
  1166. teamTeacherId: this.topFrom.boss,
  1167. educationalTeacherId: this.topFrom.teacher,
  1168. enrollClasses: this.topFrom.startClass.join(","),
  1169. name: this.topFrom.name,
  1170. paymentPattern: this.topFrom.paymentPattern,
  1171. paymentValidStartDate: this.topFrom.paymentValidStartDate
  1172. ? dayjs(this.topFrom.paymentValidStartDate).format("YYYY-MM-DD")
  1173. : this.topFrom.paymentValidStartDate,
  1174. paymentValidEndDate: this.topFrom.paymentValidEndDate
  1175. ? dayjs(this.topFrom.paymentValidEndDate).format("YYYY-MM-DD")
  1176. : this.topFrom.paymentValidEndDate,
  1177. organId: this.topFrom.section,
  1178. // paymentMonths:obj.months 有待确认
  1179. schoolId: this.topFrom.address,
  1180. courseForm: JSON.stringify(courseJson),
  1181. id: this.teamid,
  1182. directorUserId: this.topFrom.head,
  1183. isClassroomLessons: this.topFrom.isClass,
  1184. status,
  1185. expectStartGroupDate: this.topFrom.startTime,
  1186. ownershipType: this.topFrom.ownershipType,
  1187. repairUserId: this.topFrom.repairUserId || null,
  1188. feeType: this.topFrom.feeType,
  1189. };
  1190. obj.musicGroupPaymentEntities = [];
  1191. // 添加学校主体付费方式
  1192. if (this.payList.school.ischeck) {
  1193. obj.musicGroupPaymentEntities.push({
  1194. amount: this.payList.school.price,
  1195. memo: this.payList.school.value,
  1196. paymentMethod: this.payList.school.chiose,
  1197. name: "学校",
  1198. });
  1199. }
  1200. // 添加公司主体付费方式
  1201. if (this.payList.company.ischeck) {
  1202. obj.musicGroupPaymentEntities.push({
  1203. amount: this.payList.company.price,
  1204. memo: this.payList.company.value,
  1205. paymentMethod: this.payList.company.chiose,
  1206. name: "公司",
  1207. });
  1208. }
  1209. if (this.payList.student.ischeck) {
  1210. obj.musicGroupPaymentEntities.push({
  1211. paymentMethod: this.payList.student.chiose,
  1212. name: "学生",
  1213. });
  1214. }
  1215. // 发请求
  1216. resetTeamBaseInfo(obj).then((res) => {
  1217. if (res.code == 200) {
  1218. if (this.teamStatus == "teamDraft") {
  1219. this.$message.success("保存成功");
  1220. // 跳到第二页
  1221. // 删掉结束
  1222. this.$emit("chiosetab", 1);
  1223. } else {
  1224. this.$message.success("修改乐团成功");
  1225. // this.$router.push({ path: '/business/teamDetails', query: { id: this.teamid, name: this.topFrom.name } })
  1226. }
  1227. }
  1228. });
  1229. }
  1230. });
  1231. },
  1232. },
  1233. computed: {
  1234. startClassString () {
  1235. return this.topFrom.startClass
  1236. .map((item) => {
  1237. for (let i in this.classStatus) {
  1238. if (item == this.classStatus[i].value) {
  1239. return this.classStatus[i].label;
  1240. }
  1241. }
  1242. // return this.classStatus[item]
  1243. })
  1244. .join(",");
  1245. },
  1246. },
  1247. watch: {
  1248. newStudentList: {
  1249. handler: function (val) {
  1250. if (val.baseInfo.ischeck) {
  1251. this.checkList.baseInfo.ischeck = false;
  1252. }
  1253. },
  1254. deep: true,
  1255. },
  1256. checkList: {
  1257. handler: function (val) {
  1258. if (val.baseInfo.ischeck) {
  1259. this.newStudentList.baseInfo.ischeck = false;
  1260. }
  1261. },
  1262. deep: true,
  1263. },
  1264. },
  1265. };
  1266. </script>
  1267. <style lang="scss" >
  1268. .base-container {
  1269. overflow: auto;
  1270. // display: flex;
  1271. // flex-direction: row;
  1272. // justify-content: flex-start;
  1273. // flex-wrap: nowrap;
  1274. font-size: 14px;
  1275. color: #444;
  1276. // width: fill-available;
  1277. .banseLeft {
  1278. // width: 1050px;
  1279. .head {
  1280. height: 48px;
  1281. line-height: 48px;
  1282. background-color: #edeef0;
  1283. font-size: 14px;
  1284. font-weight: bold;
  1285. color: #444;
  1286. padding: 0 11px;
  1287. margin-bottom: 20px;
  1288. }
  1289. .noMargin.head {
  1290. margin-bottom: 0;
  1291. }
  1292. .num {
  1293. padding: 15px 11px;
  1294. }
  1295. .checkRow {
  1296. // width: 1050px;
  1297. padding-left: 28px;
  1298. display: flex;
  1299. flex-direction: row;
  1300. justify-content: flex-start;
  1301. flex-wrap: nowrap;
  1302. overflow: auto;
  1303. .el-checkbox {
  1304. line-height: 72px;
  1305. width: 150px;
  1306. }
  1307. .inputWrap {
  1308. line-height: 72px;
  1309. font-size: 14px;
  1310. color: #777;
  1311. margin-left: 65px;
  1312. input {
  1313. border: none;
  1314. width: 80px;
  1315. margin-right: 10px;
  1316. outline: none;
  1317. }
  1318. }
  1319. .inputWrap.rightFirst {
  1320. margin-left: 245px;
  1321. }
  1322. .textWrap {
  1323. display: flex;
  1324. flex-direction: row;
  1325. justify-content: flex-start;
  1326. font-size: 14px;
  1327. color: #777;
  1328. align-items: center;
  1329. span {
  1330. color: #f97215;
  1331. }
  1332. }
  1333. .selectWrap {
  1334. font-size: 14px;
  1335. padding-top: 5px;
  1336. margin-left: 100px;
  1337. margin-right: 52px;
  1338. .rowSelect {
  1339. .el-input__inner {
  1340. min-height: 69px;
  1341. }
  1342. }
  1343. }
  1344. .chioseList {
  1345. display: flex;
  1346. flex-direction: row;
  1347. justify-content: flex-start;
  1348. align-items: center;
  1349. font-size: 14px;
  1350. color: #777;
  1351. margin-left: 64px;
  1352. .chioseItem {
  1353. width: 80px;
  1354. height: 30px;
  1355. border-radius: 15px;
  1356. border: 1px solid #979797;
  1357. margin-right: 10px;
  1358. line-height: 30px;
  1359. text-align: center;
  1360. cursor: pointer;
  1361. }
  1362. .chioseItem.active {
  1363. background-color: #14928a;
  1364. border: 1px solid #14928a;
  1365. color: #fff;
  1366. }
  1367. }
  1368. // &:nth-child(even) {
  1369. // background-color: #c6cbd4;
  1370. // input {
  1371. // background-color: #c6cbd4;
  1372. // }
  1373. // }
  1374. }
  1375. }
  1376. .btnWrap {
  1377. margin-top: 30px;
  1378. }
  1379. .el-checkbox__input.is-checked + .el-checkbox__label {
  1380. color: #606266;
  1381. }
  1382. .subTitle {
  1383. // width: 1203px;
  1384. height: 40px;
  1385. line-height: 40px;
  1386. background-color: #fefceb;
  1387. padding: 0 25px;
  1388. box-sizing: border-box;
  1389. font-size: 16px;
  1390. color: #474747;
  1391. margin-bottom: 20px;
  1392. }
  1393. .chioseWrap {
  1394. margin-bottom: 30px;
  1395. display: flex;
  1396. flex-direction: row;
  1397. padding: 0 25px;
  1398. p {
  1399. width: 80px;
  1400. font-size: 14px;
  1401. // margin-right: 30px;
  1402. }
  1403. }
  1404. .classCheckBox {
  1405. margin-right: 10px;
  1406. }
  1407. }
  1408. </style>
  1409. <style lang="scss" scoped>
  1410. /deep/.el-date-editor {
  1411. width: 180px !important;
  1412. }
  1413. /deep/.el-checkbox {
  1414. margin-left: 15px !important;
  1415. }
  1416. /deep/.el-input {
  1417. position: relative;
  1418. font-size: 14px;
  1419. display: inline-block;
  1420. width: 180px;
  1421. }
  1422. input[disabled] {
  1423. background-color: #fff;
  1424. border-color: #b3b3b3;
  1425. color: #606266;
  1426. }
  1427. </style>