teamBaseInfo.vue 47 KB

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