teamBaseInfo.vue 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381
  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. export default {
  491. name: "teamBaseInfo",
  492. props: ["getTeamList"],
  493. data () {
  494. return {
  495. classStatus,
  496. organId: null,
  497. topFrom: {
  498. type: "", // 收费类型
  499. section: "", //所属分部
  500. school: "", // 合作单位
  501. teacher: "", // 教务老师
  502. name: "", //乐团名称
  503. boss: "", // 运营主管
  504. time: "", // 报名截止时间
  505. startClass: [], // 招生年级起始
  506. address: "", // 教学地点
  507. salary: "", // 收费模式
  508. head: "",
  509. isClass: false, //是否为课堂课
  510. startTime: "",
  511. feeType: null,
  512. paymentPattern: "", // 缴费方式
  513. paymentValid: [], // 缴费有效期
  514. paymentValidStartDate: null, // 缴费有效期开始
  515. paymentValidEndDate: null, // 缴费有效期结束
  516. ownershipType: "OWN", // 合作机构类型
  517. repairUserId: null, // 维修技师
  518. },
  519. checkList: {
  520. soundInfo: {
  521. // 声部
  522. ischeck: false,
  523. value: "",
  524. checkBuy: false,
  525. isNew: 0,
  526. isStatus: false,
  527. },
  528. allInfo: {
  529. // 合奏
  530. ischeck: false,
  531. value: "",
  532. checkBuy: false,
  533. isNew: 0,
  534. isStatus: false,
  535. },
  536. baseInfo: {
  537. // 基础
  538. ischeck: false,
  539. value: "",
  540. checkBuy: false,
  541. isNew: 0,
  542. isStatus: false,
  543. },
  544. holidayInfo: {
  545. // 假期
  546. ischeck: false,
  547. value: "",
  548. checkBuy: false,
  549. isNew: 0,
  550. isStatus: false,
  551. },
  552. networkInfo: {
  553. ischeck: false,
  554. value: "",
  555. checkBuy: false,
  556. isNew: 0,
  557. isStatus: false,
  558. },
  559. submit: {
  560. ischeck: false,
  561. value:
  562. "年度安排个月共xxx课时,课时,原价xxx元,现价xxxx元/月(约 xxxx元/课时 )",
  563. },
  564. }, // 选中的集合
  565. newStudentList: {
  566. baseInfo: {
  567. ischeck: false,
  568. value: "",
  569. checkBuy: true,
  570. nowValue: "",
  571. isNew: 1,
  572. isStatus: false,
  573. },
  574. },
  575. baseInfo: {},
  576. money: 580,
  577. orderInfo: {
  578. marketPrice: 0, // 原价总金额
  579. referencePrice: 0, // 现价总金额
  580. }, // 金额列表,金额计算
  581. sectionList: [], // 分部列表
  582. typeList: [], // 收费类型列表
  583. cooperationList: [], // 教学点列表
  584. teacherList: [], // 获取老师列表
  585. addList: [], // 教学地点列表
  586. payList: {
  587. school: {
  588. ischeck: false,
  589. value: "",
  590. price: "",
  591. chiose: "",
  592. },
  593. company: {
  594. ischeck: false,
  595. value: "",
  596. price: "",
  597. chiose: "",
  598. },
  599. student: {
  600. ischeck: true,
  601. chiose: "loop",
  602. },
  603. chioseMonth: [], // 选中的月份
  604. },
  605. activeTeam: [],
  606. teamid: "",
  607. teamStatus: "",
  608. orgianList: [],
  609. isInit: false,
  610. technician: [],
  611. basdisabled: false,
  612. };
  613. },
  614. created () { },
  615. activated () {
  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. this.$forceUpdate()
  637. },
  638. mounted () {
  639. this.init();
  640. this.$forceUpdate()
  641. // 获取分部下的员工
  642. },
  643. beforeDestroy () { },
  644. methods: {
  645. //|| this.teamStatus === 'teamAudit'
  646. isNotEditing: function () {
  647. return !(this.teamStatus === 'teamDraft' || this.teamStatus === 'newTeam' || this.teamStatus === 'teamList')
  648. },
  649. changeFeeType (val) {
  650. // console.log(val == "ONLINE");
  651. },
  652. changePaymentValidStartDate (val) {
  653. if (val) {
  654. this.$set(this.topFrom, "paymentValidEndDate", "");
  655. }
  656. },
  657. changePaymentPattern (val) {
  658. // if (val === 2) {
  659. // // this.topFrom.paymentValidStartDate = null
  660. // this.$set(this.topFrom, 'paymentValidEndDate', '')
  661. // }
  662. },
  663. beginDate (end) {
  664. return {
  665. firstDayOfWeek: 1,
  666. disabledDate (time) {
  667. if (end) {
  668. return new Date(end).getTime() - 86400000 >= time.getTime();
  669. } else {
  670. return time.getTime() + 86400000 < Date.now();
  671. //开始时间不选时,结束时间最大值小于等于当天
  672. }
  673. },
  674. };
  675. },
  676. init () {
  677. this.isInit = true;
  678. // 分为3种 this.teamStatus
  679. // 1.resetTeam 乐团修改
  680. // 2. newTeam 新建乐团
  681. // 3.teamList 跨团修改
  682. // 4.teamDraft 乐团草稿
  683. this.teamStatus = this.$route.query.type;
  684. console.log(this.teamStatus)
  685. // 传过来的乐团信息
  686. this.activeTeam = this.getTeamList;
  687. if (this.teamStatus == "look" || this.teamStatus == "teamAudit" || this.teamStatus == "feeAudit") {
  688. this.basdisabled = true;
  689. } else {
  690. this.basdisabled = false;
  691. }
  692. if (
  693. // this.teamStatus == "resetTeam" ||
  694. // this.teamStatus == "teamDraft" ||
  695. // this.teamStatus == "teamAudit" ||
  696. // this.teamStatus == "look"
  697. this.$route.query.id
  698. ) {
  699. // 单团修改
  700. this.teamid = this.$route.query.id;
  701. getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
  702. if (res.code == 200) {
  703. if (this.$listeners.getBaseInfo) {
  704. this.$listeners.getBaseInfo(res.data)
  705. }
  706. // 头部
  707. this.topFrom.name = res.data.musicGroup.name;
  708. this.$emit("getName", this.topFrom.name);
  709. this.topFrom.time = res.data.musicGroup.applyExpireDate;
  710. this.topFrom.type = res.data.musicGroup.chargeTypeId;
  711. this.topFrom.startClass = res.data.musicGroup.enrollClasses.split(
  712. ","
  713. );
  714. this.topFrom.paymentPattern = res.data.musicGroup.paymentPattern;
  715. this.topFrom.paymentValidStartDate =
  716. res.data.musicGroup.paymentValidStartDate;
  717. this.topFrom.paymentValidEndDate =
  718. res.data.musicGroup.paymentValidEndDate;
  719. this.topFrom.section = res.data.musicGroup.organId;
  720. this.topFrom.school = res.data.musicGroup.cooperationOrganId;
  721. this.topFrom.teacher = res.data.musicGroup.educationalTeacherId;
  722. this.topFrom.boss = res.data.musicGroup.teamTeacherId;
  723. this.topFrom.address = res.data.musicGroup.schoolId;
  724. this.topFrom.salary = res.data.musicGroup.settlementType;
  725. this.topFrom.head = res.data.musicGroup.directorUserId ? res.data.musicGroup.directorUserId : null;
  726. this.topFrom.isClass = res.data.musicGroup.isClassroomLessons;
  727. this.topFrom.startTime = res.data.musicGroup.expectStartGroupDate;
  728. this.topFrom.ownershipType = res.data.musicGroup.ownershipType;
  729. this.topFrom.repairUserId = res.data.musicGroup.repairUserId
  730. ? res.data.musicGroup.repairUserId
  731. : null;
  732. this.topFrom.feeType = res.data.musicGroup.feeType
  733. ? res.data.musicGroup.feeType
  734. : null;
  735. // 课程组成形式
  736. this.checkList;
  737. // 判断课程是否为空
  738. let list = res.data.musicGroup.courseForm ? JSON.parse(res.data.musicGroup.courseForm) : {};
  739. for (let i in this.checkList) {
  740. if (list[i] && !list[i].isNew) {
  741. this.checkList[i] = list[i];
  742. } else if (list[i] && list[i].isNew) {
  743. this.newStudentList[i] = list[i];
  744. this.newStudentList[i].checkBuy = true;
  745. }
  746. }
  747. // 付费方式和周期
  748. for (let i in res.data.musicGroupPaymentEntities) {
  749. if (res.data.musicGroupPaymentEntities[i].name == "学校") {
  750. this.payList.school.ischeck = true;
  751. this.payList.school.value =
  752. res.data.musicGroupPaymentEntities[i].memo;
  753. this.payList.school.price =
  754. res.data.musicGroupPaymentEntities[i].amount;
  755. this.payList.school.chiose =
  756. res.data.musicGroupPaymentEntities[i].paymentMethod;
  757. }
  758. if (res.data.musicGroupPaymentEntities[i].name == "公司") {
  759. this.payList.company.ischeck = true;
  760. this.payList.company.value =
  761. res.data.musicGroupPaymentEntities[i].memo;
  762. this.payList.company.price =
  763. res.data.musicGroupPaymentEntities[i].amount;
  764. this.payList.company.chiose =
  765. res.data.musicGroupPaymentEntities[i].paymentMethod;
  766. }
  767. if (res.data?.months?.length > 0) {
  768. this.payList.student.ischeck = true;
  769. this.payList.student.chiose = "loop";
  770. this.chioseMonth = res.data.months;
  771. } else {
  772. this.payList.student.ischeck = true;
  773. this.payList.student.chiose = "ONE_OFF";
  774. }
  775. }
  776. // 循环缴费月
  777. this.payList.chioseMonth = res.data.months;
  778. if (res.data.musicGroup.organId) {
  779. // 获取员工
  780. queryEmployByOrganId({
  781. organId: res.data.musicGroup.organId,
  782. rows: 1000,
  783. }).then((res) => {
  784. if (res.code == 200) {
  785. this.orgianList = res.data.rows;
  786. }
  787. });
  788. // 获取合作单位
  789. queryByOrganId({ organId: res.data.musicGroup.organId }).then(
  790. (res) => {
  791. if (res.code == 200) {
  792. this.cooperationList = res.data;
  793. }
  794. }
  795. );
  796. // 获取教学点
  797. getSchool({ organId: res.data.musicGroup.organId }).then(
  798. (res) => {
  799. if (res.code == 200) {
  800. this.addList = res.data;
  801. this.isInit = false;
  802. }
  803. }
  804. );
  805. // 获取维修技师
  806. findTechnician().then((res) => {
  807. if (res.code == 200) {
  808. this.technician = res.data;
  809. }
  810. });
  811. }
  812. this.$emit('getBaseInfo', res.data)
  813. }
  814. });
  815. } else {
  816. this.topFrom = {
  817. type: "", // 收费类型
  818. section: "", //所属分部
  819. school: "", // 合作单位
  820. teacher: "", // 教务老师
  821. name: "", //乐团名称
  822. boss: "", // 运营主管
  823. time: "", // 报名截止时间
  824. startClass: [], // 招生年级起始
  825. paymentValid: [], // 缴费有效期时间起始
  826. address: "", // 教学地点
  827. salary: "", // 收费模式
  828. head: "",
  829. paymentPattern: "", // 缴费方式
  830. isClass: false, //是否为课堂课
  831. startTime: "",
  832. ownershipType: "OWN", // 合作机构类型
  833. feeType: null,
  834. }
  835. this.$refs["topinfo"].resetFields();
  836. }
  837. // 1.获取各个选项卡的数据内容
  838. // getSection({ 'delFlag': 0, 'rows': 1000 }).then(res => {
  839. // if (res.code == 200) {
  840. // this.sectionList = res.data.rows;
  841. // }
  842. // }).catch()
  843. getEmployeeOrgan().then((res) => {
  844. if (res.code == 200) {
  845. this.sectionList = res.data;
  846. }
  847. });
  848. // 2.获取收费类型选项卡
  849. getType({ rows: 1000 }).then((res) => {
  850. if (res.code == 200) {
  851. this.typeList = res.data.rows;
  852. }
  853. });
  854. // 3.获取合作单位选项卡
  855. // getCooperation({ 'rows': 1000, search: this.organId }).then(res => {
  856. // if (res.code == 200) {
  857. // this.cooperationList = res.data.rows;
  858. // }
  859. // })
  860. // 4.获取老师选项卡
  861. // getTeacher({ 'rows': 1000, organId: this.organId }).then(res => {
  862. // if (res.code == 200) {
  863. // this.teacherList = res.data;
  864. // }
  865. // })
  866. // 5.获取教学地点选项卡
  867. // getAddress({ 'rows': 1000, }).then(res => {
  868. // if (res.code == 200) {
  869. // this.addList = res.data.rows;
  870. // }
  871. // })
  872. // 6.默认支付主体
  873. // getPayMaster({ 'rows': 1000 }).then(res => {
  874. // if (res.code == 200) {
  875. // this.payList = res.data.map(item => {
  876. // let obj = {};
  877. // obj.id = item.id;
  878. // obj.ischios
  879. // })
  880. // }
  881. // })
  882. // 缓存设置时的状态
  883. sessionStorage.setItem("resetCode", "1");
  884. },
  885. changeSection (val) {
  886. // 修改分部的时候 重置运营主管 重置教务老师 重置乐队指导 合作单位 教学点
  887. this.topFrom.teacher = "";
  888. this.topFrom.boss = "";
  889. this.topFrom.head = "";
  890. this.topFrom.school = "";
  891. this.topFrom.address = "";
  892. // 发请求 根据分部id 查询所有员工
  893. queryEmployByOrganId({ organId: val, rows: 1000 }).then((res) => {
  894. if (res.code == 200) {
  895. this.orgianList = res.data.rows;
  896. }
  897. });
  898. // 合作单位
  899. queryByOrganId({ organId: val }).then((res) => {
  900. if (res.code == 200) {
  901. this.cooperationList = res.data;
  902. }
  903. });
  904. // 教学点=>学校
  905. getSchool({ organId: val }).then((res) => {
  906. if (res.code == 200) {
  907. this.addList = res.data;
  908. }
  909. });
  910. // 获取维修技师
  911. findTechnician().then((res) => {
  912. if (res.code == 200) {
  913. this.technician = res.data;
  914. }
  915. });
  916. },
  917. chioseSchool (val) { },
  918. gotoNext (num) {
  919. // 1.效验数据 判断是否数据正常=> 正常放入store存储
  920. // 不正常=> 进行效验提示
  921. let check = [];
  922. for (let i in this.checkList) {
  923. if (this.checkList[i] && i != "submit") {
  924. check.push(this.checkList[i].ischeck);
  925. }
  926. }
  927. let checkFlag = false;
  928. check.forEach((item) => {
  929. checkFlag = checkFlag || item;
  930. });
  931. // if (!checkFlag) {
  932. // this.$message.error("请至少选择一种乐团课程类型");
  933. // return;
  934. // }
  935. this.$refs["topinfo"].validate((valid, object) => {
  936. if (!valid) {
  937. this.$message.error("请填写建团必要参数");
  938. } else {
  939. // 判断一下是否勾选了课程类型而没有输入金额
  940. let flagList = [];
  941. for (let i in this.checkList) {
  942. if (this.checkList[i].ischeck && !this.checkList[i].value) {
  943. flagList.push(false);
  944. } else {
  945. flagList.push(true);
  946. }
  947. }
  948. for (let i in this.newStudentList) {
  949. if (
  950. (this.newStudentList[i].ischeck &&
  951. !this.newStudentList[i].value) ||
  952. (this.newStudentList[i].ischeck &&
  953. !this.newStudentList[i].nowValue)
  954. ) {
  955. flagList.push(false);
  956. } else {
  957. flagList.push(true);
  958. }
  959. }
  960. let flag = flagList.every((item) => {
  961. return item == true;
  962. });
  963. if (!flag) {
  964. this.$message.error("课程价格不能为空");
  965. return;
  966. }
  967. // 验证通过
  968. this.$store.dispatch("topinfo", this.topFrom);
  969. // this.$store.dispatch("checkinfo", this.checkList);
  970. // this.$store.dispatch("getpayInfo", this.payList);
  971. // this.$store.dispatch("newStudentinfo", this.newStudentList);
  972. console.log(this.teamStatus)
  973. if (this.teamStatus == "teamDraft") {
  974. // 获取数据提交
  975. this.resetSubmit();
  976. } else {
  977. // this.resetSubmit();
  978. this.$emit("chiosetab", num);
  979. }
  980. }
  981. });
  982. },
  983. resetSubmit () {
  984. let check = [];
  985. for (let i in this.checkList) {
  986. if (this.checkList[i] && i != "submit") {
  987. check.push(this.checkList[i].ischeck);
  988. }
  989. }
  990. // let checkFlag = false;
  991. // check.forEach((item) => {
  992. // checkFlag = checkFlag || item;
  993. // });
  994. // if (!checkFlag) {
  995. // this.$message.error("请至少选择一种乐团课程类型");
  996. // return;
  997. // }
  998. this.$refs["topinfo"].validate((valid, object) => {
  999. if (!valid) {
  1000. this.$message.error("请填写必要参数");
  1001. } else {
  1002. let flagList = [];
  1003. for (let i in this.checkList) {
  1004. if (this.checkList[i].ischeck && !this.checkList[i].value) {
  1005. flagList.push(false);
  1006. } else {
  1007. flagList.push(true);
  1008. }
  1009. }
  1010. for (let i in this.newStudentList) {
  1011. if (
  1012. (this.newStudentList[i].ischeck &&
  1013. !this.newStudentList[i].value) ||
  1014. (this.newStudentList[i].ischeck &&
  1015. !this.newStudentList[i].nowValue)
  1016. ) {
  1017. flagList.push(false);
  1018. } else {
  1019. flagList.push(true);
  1020. }
  1021. }
  1022. let flag = flagList.every((item) => {
  1023. return item == true;
  1024. });
  1025. if (!flag) {
  1026. this.$message.error("课程价格不能为空");
  1027. return;
  1028. }
  1029. let status = null;
  1030. // 1.resetTeam 乐团修改
  1031. // 2.newTeam 新建乐团
  1032. // 3.teamList 跨团修改
  1033. // 4.teamDraft 乐团草稿
  1034. switch (this.teamStatus) {
  1035. case "resetTeam": {
  1036. status = "PROGRESS";
  1037. break;
  1038. }
  1039. case "newTeam": {
  1040. status = null;
  1041. break;
  1042. }
  1043. case "teamList": {
  1044. status = null;
  1045. break;
  1046. }
  1047. case "teamDraft": {
  1048. status = "DRAFT";
  1049. break;
  1050. }
  1051. }
  1052. let obj = {};
  1053. // topFrom.ownershipType
  1054. // 修改 合并对象
  1055. let courseJson = {};
  1056. for (let i in this.checkList) {
  1057. if (this.checkList[i].ischeck) {
  1058. courseJson[i] = this.checkList[i];
  1059. }
  1060. }
  1061. for (let j in this.newStudentList) {
  1062. if (this.newStudentList[j].ischeck) {
  1063. courseJson[j] = this.newStudentList[j];
  1064. }
  1065. }
  1066. this.payList.student.chiose == "loop"
  1067. ? (obj.months = this.payList.chioseMonth)
  1068. : (obj.months = []);
  1069. obj.musicGroup = {
  1070. settlementType: this.topFrom.salary,
  1071. applyExpireDate: dayjs(this.topFrom.time).format('YYYY-MM-DD HH:mm:ss'),
  1072. chargeTypeId: this.topFrom.type,
  1073. cooperationOrganId: this.topFrom.school,
  1074. teamTeacherId: this.topFrom.boss,
  1075. educationalTeacherId: this.topFrom.teacher,
  1076. enrollClasses: this.topFrom.startClass.join(","),
  1077. name: this.topFrom.name,
  1078. paymentPattern: this.topFrom.paymentPattern,
  1079. paymentValidStartDate: this.topFrom.paymentValidStartDate
  1080. ? dayjs(this.topFrom.paymentValidStartDate).format("YYYY-MM-DD")
  1081. : this.topFrom.paymentValidStartDate,
  1082. paymentValidEndDate: this.topFrom.paymentValidEndDate
  1083. ? dayjs(this.topFrom.paymentValidEndDate).format("YYYY-MM-DD")
  1084. : this.topFrom.paymentValidEndDate,
  1085. organId: this.topFrom.section,
  1086. // paymentMonths:obj.months 有待确认
  1087. schoolId: this.topFrom.address,
  1088. courseForm: JSON.stringify(courseJson),
  1089. id: this.teamid,
  1090. directorUserId: this.topFrom.head,
  1091. isClassroomLessons: this.topFrom.isClass,
  1092. status,
  1093. expectStartGroupDate: this.topFrom.startTime,
  1094. ownershipType: this.topFrom.ownershipType,
  1095. repairUserId: this.topFrom.repairUserId || null,
  1096. feeType: this.topFrom.feeType,
  1097. };
  1098. obj.musicGroupPaymentEntities = [];
  1099. // 添加学校主体付费方式
  1100. if (this.payList.school.ischeck) {
  1101. obj.musicGroupPaymentEntities.push({
  1102. amount: this.payList.school.price,
  1103. memo: this.payList.school.value,
  1104. paymentMethod: this.payList.school.chiose,
  1105. name: "学校",
  1106. });
  1107. }
  1108. // 添加公司主体付费方式
  1109. if (this.payList.company.ischeck) {
  1110. obj.musicGroupPaymentEntities.push({
  1111. amount: this.payList.company.price,
  1112. memo: this.payList.company.value,
  1113. paymentMethod: this.payList.company.chiose,
  1114. name: "公司",
  1115. });
  1116. }
  1117. if (this.payList.student.ischeck) {
  1118. obj.musicGroupPaymentEntities.push({
  1119. paymentMethod: this.payList.student.chiose,
  1120. name: "学生",
  1121. });
  1122. }
  1123. // 发请求
  1124. resetTeamBaseInfo(obj).then((res) => {
  1125. if (res.code == 200) {
  1126. if (this.teamStatus == "teamDraft") {
  1127. this.$message.success("保存成功");
  1128. // 跳到第二页
  1129. this.$emit("chiosetab", 1);
  1130. } else {
  1131. this.$message.success("修改乐团成功");
  1132. // this.$router.push({ path: '/business/teamDetails', query: { id: this.teamid, name: this.topFrom.name } })
  1133. }
  1134. this.init()
  1135. }
  1136. });
  1137. }
  1138. });
  1139. },
  1140. changeApplyTime (val) {
  1141. this.$set(this.topFrom, "paymentValidStartDate", "");
  1142. this.$set(this.topFrom, "paymentValidEndDate", "");
  1143. // this.topFrom.paymentValidStartDate = ''
  1144. // this.topFrom.paymentValidEndDate = ''
  1145. }
  1146. },
  1147. computed: {
  1148. startClassString () {
  1149. return this.topFrom.startClass
  1150. .map((item) => {
  1151. for (let i in this.classStatus) {
  1152. if (item == this.classStatus[i].value) {
  1153. return this.classStatus[i].label;
  1154. }
  1155. }
  1156. // return this.classStatus[item]
  1157. })
  1158. .join(",");
  1159. },
  1160. },
  1161. watch: {
  1162. newStudentList: {
  1163. handler: function (val) {
  1164. if (val.baseInfo.ischeck) {
  1165. this.checkList.baseInfo.ischeck = false;
  1166. }
  1167. },
  1168. deep: true,
  1169. },
  1170. checkList: {
  1171. handler: function (val) {
  1172. if (val.baseInfo.ischeck) {
  1173. this.newStudentList.baseInfo.ischeck = false;
  1174. }
  1175. },
  1176. deep: true,
  1177. },
  1178. },
  1179. };
  1180. </script>
  1181. <style lang="scss" >
  1182. .base-container {
  1183. overflow: auto;
  1184. // display: flex;
  1185. // flex-direction: row;
  1186. // justify-content: flex-start;
  1187. // flex-wrap: nowrap;
  1188. font-size: 14px;
  1189. color: #444;
  1190. // width: fill-available;
  1191. .banseLeft {
  1192. // width: 1050px;
  1193. .head {
  1194. height: 48px;
  1195. line-height: 48px;
  1196. background-color: #edeef0;
  1197. font-size: 14px;
  1198. font-weight: bold;
  1199. color: #444;
  1200. padding: 0 11px;
  1201. margin-bottom: 20px;
  1202. }
  1203. .noMargin.head {
  1204. margin-bottom: 0;
  1205. }
  1206. .num {
  1207. padding: 15px 11px;
  1208. }
  1209. .checkRow {
  1210. min-width: 1200px;
  1211. padding-left: 28px;
  1212. display: flex;
  1213. flex-direction: row;
  1214. justify-content: flex-start;
  1215. flex-wrap: nowrap;
  1216. overflow: auto;
  1217. .el-checkbox {
  1218. line-height: 72px;
  1219. width: 120px;
  1220. }
  1221. .inputWrap {
  1222. line-height: 72px;
  1223. font-size: 14px;
  1224. color: #777;
  1225. margin-left: 65px;
  1226. input {
  1227. // border: none;
  1228. // width: 80px;
  1229. // margin-right: 10px;
  1230. // outline: none;
  1231. }
  1232. }
  1233. .inputWrap.rightFirst {
  1234. margin-left: 245px;
  1235. }
  1236. .textWrap {
  1237. display: flex;
  1238. flex-direction: row;
  1239. justify-content: flex-start;
  1240. font-size: 14px;
  1241. color: #777;
  1242. align-items: center;
  1243. span {
  1244. color: #f97215;
  1245. }
  1246. }
  1247. .selectWrap {
  1248. font-size: 14px;
  1249. padding-top: 5px;
  1250. margin-left: 100px;
  1251. margin-right: 52px;
  1252. .rowSelect {
  1253. .el-input__inner {
  1254. min-height: 69px;
  1255. }
  1256. }
  1257. }
  1258. .chioseList {
  1259. display: flex;
  1260. flex-direction: row;
  1261. justify-content: flex-start;
  1262. align-items: center;
  1263. font-size: 14px;
  1264. color: #777;
  1265. margin-left: 64px;
  1266. .chioseItem {
  1267. width: 80px;
  1268. height: 30px;
  1269. border-radius: 15px;
  1270. border: 1px solid #979797;
  1271. margin-right: 10px;
  1272. line-height: 30px;
  1273. text-align: center;
  1274. cursor: pointer;
  1275. }
  1276. .chioseItem.active {
  1277. background-color: #14928a;
  1278. border: 1px solid #14928a;
  1279. color: #fff;
  1280. }
  1281. }
  1282. // &:nth-child(even) {
  1283. // background-color: #c6cbd4;
  1284. // input {
  1285. // background-color: #c6cbd4;
  1286. // }
  1287. // }
  1288. }
  1289. }
  1290. .btnWrap {
  1291. margin-top: 30px;
  1292. }
  1293. .el-checkbox__input.is-checked + .el-checkbox__label {
  1294. color: #606266;
  1295. }
  1296. .subTitle {
  1297. // width: 1203px;
  1298. height: 40px;
  1299. line-height: 40px;
  1300. background-color: #fefceb;
  1301. padding: 0 25px;
  1302. box-sizing: border-box;
  1303. font-size: 16px;
  1304. color: #474747;
  1305. margin-bottom: 20px;
  1306. }
  1307. .chioseWrap {
  1308. margin-bottom: 30px;
  1309. display: flex;
  1310. flex-direction: row;
  1311. padding: 0 25px;
  1312. p {
  1313. width: 80px;
  1314. font-size: 14px;
  1315. // margin-right: 30px;
  1316. }
  1317. }
  1318. .classCheckBox {
  1319. margin-right: 10px;
  1320. }
  1321. }
  1322. </style>
  1323. <style lang="scss" scoped>
  1324. /deep/.el-date-editor {
  1325. width: 180px !important;
  1326. }
  1327. /deep/.el-checkbox {
  1328. margin-left: 15px !important;
  1329. }
  1330. /deep/.el-input {
  1331. position: relative;
  1332. font-size: 14px;
  1333. display: inline-block;
  1334. width: 180px;
  1335. }
  1336. input[disabled] {
  1337. background-color: #fff;
  1338. border-color: #b3b3b3;
  1339. color: #606266;
  1340. }
  1341. /deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
  1342. background-color: rgb(19, 129, 122);
  1343. border-color: rgb(19, 129, 122);
  1344. // -webkit-box-shadow: -1px 0 0 0 rgb (19, 129, 122);
  1345. box-shadow: -1px 0 0 rgb(19, 129, 122);
  1346. color: #fff;
  1347. outline: none;
  1348. }
  1349. /deep/.el-radio-button__inner {
  1350. &:hover {
  1351. color: rgb(19, 129, 122);
  1352. }
  1353. outline: none;
  1354. }
  1355. /deep/.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled) {
  1356. -webkit-box-shadow: none;
  1357. box-shadow: none;
  1358. }
  1359. </style>