teamBaseInfo.vue 46 KB

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