teamBaseInfo.vue 47 KB

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