searchBoxNew.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885
  1. <template>
  2. <div id="searchBoxNew">
  3. <div class="inputListBox" v-if="topType">
  4. <div class="fon_s">商品类型:</div>
  5. <div>
  6. <el-button
  7. :type="formData.goodsType === item.value ? 'primary' : ''"
  8. :size="size"
  9. v-for="(item, index) in lists"
  10. :key="index"
  11. @click="topSearch(item.value)"
  12. >{{ item.label }}</el-button
  13. >
  14. </div>
  15. </div>
  16. <div class="inputListBox" v-if="shType">
  17. <div class="fon_s">审核状态:</div>
  18. <div>
  19. <el-button
  20. :type="formData.status === item.value ? 'primary' : ''"
  21. :size="size"
  22. v-for="(item, index) in lists5"
  23. :key="index"
  24. @click="topSearchsh(item.value)"
  25. >{{ item.label }}</el-button
  26. >
  27. </div>
  28. </div>
  29. <!-- <div class="inputListBox" v-if="classType">
  30. <div>
  31. <el-button
  32. :type="formData.goodsType === item.value ? 'primary' : ''"
  33. :size="size"
  34. v-for="(item, index) in classLists"
  35. :key="index"
  36. @click="classSearch(item.value)"
  37. >{{ item.label }}</el-button
  38. >
  39. </div>
  40. </div> -->
  41. <div class="inputListBoxs">
  42. <div class="fon_sIcon" v-if="redIcon">
  43. <el-tooltip
  44. effect="light"
  45. class="item"
  46. content="该页面中的数据查询,针对的是「有效、有课程内容」的视频商品"
  47. placement="bottom-start"
  48. >
  49. <i class="el-icon-warning-outline iconStyS"></i>
  50. </el-tooltip>
  51. </div>
  52. <div
  53. class="fon_s"
  54. style="padding-top: 10px; width: 70px; text-align: end"
  55. v-else
  56. >
  57. 筛选:
  58. </div>
  59. <el-form :inline="true" :model="formData" class="tsxnz demo-form-inline">
  60. <el-form-item
  61. v-for="(item, index) in formListComput(formList)"
  62. :key="index"
  63. :label="item.label"
  64. >
  65. <!-- 教育类型 -->
  66. <el-select
  67. v-if="item.scope === 'educationType'"
  68. v-model="formData[item.prop]"
  69. :placeholder="item.placeholder"
  70. :size="size"
  71. @change="changeEducationType"
  72. >
  73. <el-option
  74. v-for="(items, indexs) in educationType"
  75. :key="indexs"
  76. :label="items.educationName"
  77. :value="items.id"
  78. ></el-option>
  79. </el-select>
  80. <!-- 业务层次 -->
  81. <el-select
  82. v-else-if="item.scope === 'businessLevel'"
  83. v-model="formData[item.prop]"
  84. :placeholder="item.placeholder"
  85. :size="size"
  86. @change="changeBusinessLevel($event)"
  87. >
  88. <el-option
  89. v-for="(items, indexs) in newBusinessLevel"
  90. :key="indexs"
  91. :label="items.projectName + '-' + items.businessName"
  92. :value="items.id"
  93. ></el-option>
  94. </el-select>
  95. <!-- 院校 -->
  96. <el-select
  97. v-else-if="item.scope === 'schoolList'"
  98. v-model="formData[item.prop]"
  99. :placeholder="item.placeholder"
  100. :size="size"
  101. >
  102. <el-option
  103. v-for="(items, indexs) in newSchoolList"
  104. :key="indexs"
  105. :label="items.schoolName"
  106. :value="items.id"
  107. ></el-option>
  108. </el-select>
  109. <!-- 专业-根据教育类型筛选 -->
  110. <el-select
  111. v-else-if="item.scope === 'Professional'"
  112. v-model="formData[item.prop]"
  113. :placeholder="item.placeholder"
  114. :size="size"
  115. >
  116. <el-option
  117. v-for="(items, indexs) in newProfessional"
  118. :key="indexs"
  119. :label="items.categoryName"
  120. :value="items.id"
  121. ></el-option>
  122. </el-select>
  123. <!-- 专业 -->
  124. <el-select
  125. v-else-if="item.scope === 'ProfessionalList'"
  126. v-model="formData[item.prop]"
  127. :placeholder="item.placeholder"
  128. :size="size"
  129. >
  130. <el-option
  131. v-for="(items, indexs) in Professional"
  132. :key="indexs"
  133. :label="items.categoryName"
  134. :value="items.id"
  135. ></el-option>
  136. </el-select>
  137. <!-- 科目 -->
  138. <el-select
  139. v-else-if="item.scope === 'sujectType'"
  140. v-model="formData[item.prop]"
  141. :placeholder="item.placeholder"
  142. :size="size"
  143. >
  144. <el-option
  145. v-for="(items, indexs) in newSujectType"
  146. :key="indexs"
  147. :label="items.subjectName"
  148. :value="items.id"
  149. ></el-option>
  150. </el-select>
  151. <!-- 题目类型 -->
  152. <el-select
  153. v-else-if="item.scope === 'selectBank'"
  154. v-model="formData[item.prop]"
  155. :placeholder="item.placeholder"
  156. :size="size"
  157. >
  158. <el-option
  159. v-for="(items, indexs) in optionsBank"
  160. :key="indexs"
  161. :label="items.label"
  162. :value="items.value"
  163. ></el-option>
  164. </el-select>
  165. <!-- 试卷类型 -->
  166. <el-select
  167. v-else-if="item.scope === 'paperType'"
  168. v-model="formData[item.prop]"
  169. :placeholder="item.placeholder"
  170. :size="size"
  171. >
  172. <el-option
  173. v-for="(items, indexs) in paperType"
  174. :key="indexs"
  175. :label="items.label"
  176. :value="items.value"
  177. ></el-option>
  178. </el-select>
  179. <!-- 证书类型 -->
  180. <el-select
  181. v-else-if="item.scope === 'certificate'"
  182. v-model="formData[item.prop]"
  183. :placeholder="item.placeholder"
  184. :size="size"
  185. >
  186. <el-option
  187. v-for="(items, indexs) in certificate"
  188. :key="indexs"
  189. :label="items.certificateName"
  190. :value="items.id"
  191. ></el-option>
  192. </el-select>
  193. <!-- 考试标题 -->
  194. <el-select
  195. v-else-if="item.scope === 'examLists'"
  196. v-model="formData[item.prop]"
  197. :placeholder="item.placeholder"
  198. :size="size"
  199. >
  200. <el-option
  201. v-for="(items, indexs) in examLists"
  202. :key="indexs"
  203. :label="items.applyName"
  204. :value="items.applyId"
  205. ></el-option>
  206. </el-select>
  207. <!-- 考试标题:只显示已启用 -->
  208. <el-select
  209. v-else-if="item.scope === 'examList'"
  210. v-model="formData[item.prop]"
  211. :placeholder="item.placeholder"
  212. :size="size"
  213. >
  214. <el-option
  215. v-for="(items, indexs) in examList"
  216. :key="indexs"
  217. :label="items.applyName"
  218. :value="items.applyId"
  219. ></el-option>
  220. </el-select>
  221. <!-- 考试地点 -->
  222. <el-select
  223. v-else-if="item.scope === 'applySiteAddress'"
  224. v-model="formData[item.prop]"
  225. :placeholder="item.placeholder"
  226. :size="size"
  227. >
  228. <el-option
  229. v-for="(items, indexs) in applySiteAddress"
  230. :key="indexs"
  231. :label="items.siteAddress"
  232. :value="item.getType === 1 ? items.siteAddress : items.siteId"
  233. ></el-option>
  234. </el-select>
  235. <!-- 考试地点:手动过滤 -->
  236. <el-select
  237. v-else-if="item.scope === 'applySiteAddressX'"
  238. v-model="formData[item.prop]"
  239. :placeholder="item.placeholder"
  240. :size="size"
  241. >
  242. <el-option
  243. v-for="(items, indexs) in applySiteAddressX"
  244. :key="indexs"
  245. :label="items.siteAddress"
  246. :value="item.getType === 1 ? items.siteAddress : items.siteId"
  247. ></el-option>
  248. </el-select>
  249. <!-- 前培标题:只显示启用 -->
  250. <el-select
  251. v-else-if="item.scope === 'beforeList'"
  252. v-model="formData[item.prop]"
  253. :placeholder="item.placeholder"
  254. :size="size"
  255. >
  256. <el-option
  257. v-for="(items, indexs) in beforeList"
  258. :key="indexs"
  259. :label="items.beforeName"
  260. :value="items.beforeId"
  261. ></el-option>
  262. </el-select>
  263. <!-- 前培标题 -->
  264. <el-select
  265. v-else-if="item.scope === 'beforeLists'"
  266. v-model="formData[item.prop]"
  267. :placeholder="item.placeholder"
  268. :size="size"
  269. >
  270. <el-option
  271. v-for="(items, indexs) in beforeLists"
  272. :key="indexs"
  273. :label="items.beforeName"
  274. :value="items.beforeId"
  275. ></el-option>
  276. </el-select>
  277. <!-- 自定义select -->
  278. <el-select
  279. :clearable="item.noClear === false ? false : true"
  280. v-else-if="item.scope === 'select'"
  281. v-model="formData[item.prop]"
  282. :placeholder="item.placeholder"
  283. :size="size"
  284. >
  285. <el-option
  286. v-for="(items, indexs) in item.options"
  287. :key="indexs"
  288. :label="items.label"
  289. :value="items.value"
  290. :disabled="items.disable"
  291. ></el-option>
  292. </el-select>
  293. <div v-else-if="item.scope === 'numList'">
  294. <el-input-number
  295. :controls="false"
  296. v-model="formData[item.prop1]"
  297. controls-position="right"
  298. :min="0"
  299. :max="100"
  300. :size="size"
  301. @change="
  302. handleChanges(formData[item.prop1], formData[item.prop2])
  303. "
  304. ></el-input-number
  305. >~
  306. <el-input-number
  307. :controls="false"
  308. v-model="formData[item.prop2]"
  309. controls-position="right"
  310. :min="0"
  311. :max="100"
  312. :size="size"
  313. @change="
  314. handleChanges(formData[item.prop1], formData[item.prop2])
  315. "
  316. ></el-input-number>
  317. </div>
  318. <el-input-number
  319. v-else-if="item.scope === 'inputNumber'"
  320. v-model="formData[item.prop]"
  321. controls-position="right"
  322. :min="0"
  323. :max="100"
  324. :size="size"
  325. ></el-input-number>
  326. <el-input
  327. v-else-if="item.scope === 'textarea' && formData[item.prop]"
  328. type="textarea"
  329. :size="size"
  330. readonly
  331. :rows="3"
  332. placeholder="请输入身份证"
  333. v-model="formData[item.prop]"
  334. >
  335. </el-input>
  336. <el-cascader
  337. v-else-if="item.scope === 'cascader'"
  338. v-model="formData[item.prop]"
  339. :options="item.options"
  340. :size="size"
  341. :props="{
  342. label: item.props.label,
  343. value: item.props.value,
  344. checkStrictly: true,
  345. emitPath: false,
  346. }"
  347. ></el-cascader>
  348. <el-cascader
  349. v-else-if="item.scope === 'cascaderDZ'"
  350. v-model="formData[item.prop]"
  351. :options="item.options"
  352. :size="size"
  353. :props="{
  354. label: item.props.label,
  355. value: item.props.value,
  356. checkStrictly: true,
  357. emitPath: false,
  358. }"
  359. clearable
  360. ></el-cascader>
  361. <el-date-picker
  362. v-else-if="item.scope === 'datePicker'"
  363. v-model="formData[item.prop]"
  364. type="datetimerange"
  365. :picker-options="pickerOptions"
  366. range-separator="至"
  367. start-placeholder="开始日期"
  368. end-placeholder="结束日期"
  369. align="right"
  370. :size="size"
  371. value-format="timestamp"
  372. >
  373. </el-date-picker>
  374. <el-date-picker
  375. v-else-if="item.scope === 'datePickerA'"
  376. v-model="formData[item.prop]"
  377. type="datetime"
  378. :size="size"
  379. placeholder="选择日期时间"
  380. value-format="timestamp"
  381. >
  382. </el-date-picker>
  383. <div v-else-if="item.scope === 'moreDataPicker'">
  384. <el-date-picker
  385. v-model="formData[item.prop1]"
  386. :type="item.Diszing ? 'datetime' : 'date'"
  387. value-format="timestamp"
  388. :size="size"
  389. :placeholder="item.placeholder1"
  390. @change="change1(item.prop1, item.prop2)"
  391. >
  392. </el-date-picker>
  393. <el-date-picker
  394. style="margin-left: 10px"
  395. v-model="formData[item.prop2]"
  396. :type="item.Diszing ? 'datetime' : 'date'"
  397. :size="size"
  398. value-format="timestamp"
  399. :placeholder="item.placeholder2"
  400. @change="change2(item.prop1, item.prop2)"
  401. >
  402. </el-date-picker>
  403. </div>
  404. <el-input
  405. v-else-if="!item.scope"
  406. clearable
  407. v-model="formData[item.prop]"
  408. :placeholder="item.placeholder"
  409. :size="size"
  410. ></el-input>
  411. </el-form-item>
  412. <el-form-item>
  413. <el-button
  414. v-if="advanced"
  415. :size="size"
  416. type="success"
  417. @click="emitAdvanced"
  418. >{{ advancedName }}</el-button
  419. >
  420. <el-button :size="size" type="primary" @click="search"
  421. >查询</el-button
  422. >
  423. <el-button :size="size" @click="init">重置</el-button>
  424. <slot name="customize"></slot>
  425. </el-form-item>
  426. </el-form>
  427. </div>
  428. </div>
  429. </template>
  430. <script>
  431. import { mapGetters } from "vuex";
  432. import handout from "../newApi/handout";
  433. export default {
  434. props: [
  435. "formList",
  436. "topType",
  437. "formData",
  438. "shType",
  439. "redIcon",
  440. "advanced",
  441. "advancedName",
  442. ], //参考文档 component.md
  443. data() {
  444. return {
  445. tireStatus: "", //当前选择的教育类型tireStatus
  446. lists: [
  447. {
  448. label: "全部",
  449. value: "",
  450. },
  451. {
  452. label: "视频",
  453. value: 1,
  454. },
  455. {
  456. label: "题库",
  457. value: 2,
  458. },
  459. {
  460. label: "补考",
  461. value: 3,
  462. },
  463. {
  464. label: "前培",
  465. value: 4,
  466. },
  467. ],
  468. lists5: [
  469. {
  470. label: "全部",
  471. value: "",
  472. },
  473. {
  474. label: "通过",
  475. value: 1,
  476. },
  477. {
  478. label: "待审核",
  479. value: 2,
  480. },
  481. {
  482. label: "不通过",
  483. value: 3,
  484. },
  485. ],
  486. // classLists: [
  487. // {
  488. // label: "全部",
  489. // value: "",
  490. // },
  491. // {
  492. // label: "二建继教",
  493. // value: 1,
  494. // },
  495. // {
  496. // label: "七大员继教",
  497. // value: 2,
  498. // },
  499. // {
  500. // label: "七大员新考",
  501. // value: 3,
  502. // },
  503. // ],
  504. paperType: [
  505. {
  506. label: "发布",
  507. value: 1,
  508. },
  509. {
  510. label: "未发布",
  511. value: 0,
  512. },
  513. ],
  514. optionsBank: [
  515. {
  516. label: "单选题",
  517. value: 1,
  518. },
  519. {
  520. label: "多选题",
  521. value: 2,
  522. },
  523. {
  524. label: "判断题",
  525. value: 3,
  526. },
  527. {
  528. label: "案例题",
  529. value: 4,
  530. },
  531. {
  532. label: "简答题",
  533. value: 5,
  534. },
  535. ], //题目类型
  536. size: "small", //输入框尺寸类型
  537. newBusinessLevel: [], //业务层次-筛选后的数据
  538. newSchoolList: [], //院校-筛选后的数据
  539. newProfessional: [], //专业-筛选后的数据
  540. newSujectType: [], //科目-筛选后的数据
  541. applySiteAddressX: [], //考试地点-根据考试计划过滤而来
  542. pickerOptions: {
  543. //日期选择器近期功能
  544. shortcuts: [
  545. {
  546. text: "最近一周",
  547. onClick(picker) {
  548. const end = new Date();
  549. const start = new Date();
  550. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  551. picker.$emit("pick", [start, end]);
  552. },
  553. },
  554. {
  555. text: "最近一个月",
  556. onClick(picker) {
  557. const end = new Date();
  558. const start = new Date();
  559. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  560. picker.$emit("pick", [start, end]);
  561. },
  562. },
  563. {
  564. text: "最近三个月",
  565. onClick(picker) {
  566. const end = new Date();
  567. const start = new Date();
  568. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  569. picker.$emit("pick", [start, end]);
  570. },
  571. },
  572. ],
  573. },
  574. };
  575. },
  576. computed: {
  577. ...mapGetters([
  578. "educationType",
  579. "Professional",
  580. "examList",
  581. "examLists",
  582. "beforeList",
  583. "beforeLists",
  584. "applySiteAddress",
  585. "certificate",
  586. ]),
  587. /**
  588. * @remarks 过滤选择器列表
  589. */
  590. formListComput: function () {
  591. return function (item) {
  592. var newOption = JSON.parse(JSON.stringify(item));
  593. const arrsy = newOption.filter((items) => {
  594. if (
  595. items.scope === "businessLevel" ||
  596. items.scope === "schoolList" ||
  597. items.scope === "Professional" ||
  598. items.scope === "sujectType"
  599. ) {
  600. if (!this.formData[items.edu]) {
  601. } else {
  602. if (this.educationType) {
  603. const indexType = this.educationType.findIndex((its) => {
  604. return its.id === this.formData[items.edu];
  605. });
  606. if (
  607. items.scope === "businessLevel" &&
  608. this.educationType[indexType].tireStatus.indexOf("2") !== -1
  609. ) {
  610. return items;
  611. }
  612. if (
  613. items.scope === "schoolList" &&
  614. this.educationType[indexType].tireStatus.indexOf("3") !== -1
  615. ) {
  616. return items;
  617. }
  618. if (
  619. items.scope === "Professional" &&
  620. this.educationType[indexType].tireStatus.indexOf("4") !== -1
  621. ) {
  622. return items;
  623. }
  624. if (
  625. items.scope === "sujectType" &&
  626. this.formData["businessId"]
  627. ) {
  628. return items;
  629. }
  630. }
  631. }
  632. } else {
  633. if (items.diff === "gfxs") {
  634. if (this.formData["studyStatus"] == 2) {
  635. return items;
  636. }
  637. } else if (items.diff === "ksdd") {
  638. if (this.formData["applyId"]) {
  639. return items;
  640. }
  641. } else {
  642. return items;
  643. }
  644. }
  645. });
  646. return arrsy;
  647. };
  648. },
  649. },
  650. watch: {
  651. /**
  652. *
  653. * @param {Number} val
  654. * @remards 考试计划监听-获取对应考试地点
  655. */
  656. "formData.applyId"(val) {
  657. const Astatus = this.formList.some((item) => {
  658. return item.scope === "applySiteAddressX";
  659. });
  660. if (Astatus) {
  661. this.getChangeAdress(val);
  662. if (this.formData.applySiteAddress) {
  663. this.formData.applySiteAddress = "";
  664. }
  665. }
  666. },
  667. },
  668. methods: {
  669. /**
  670. * 手动过滤考试地点
  671. */
  672. getChangeAdress(id) {
  673. this.$api
  674. .inquirepayservesiteInfo({
  675. applyId: id,
  676. addressStatus: 1,
  677. })
  678. .then((res) => {
  679. this.applySiteAddressX = res.rows;
  680. });
  681. },
  682. /**
  683. * @remark 高级搜索
  684. */
  685. emitAdvanced() {
  686. this.$emit("Advanced", this.formData);
  687. },
  688. /**
  689. *
  690. * @param {int} data1
  691. * @param {int} data2
  692. * @remark 日期搜索-时间开始选择器触发
  693. */
  694. change1(data1, data2) {
  695. if (this.formData[data1]) {
  696. if (
  697. this.formData[data2] &&
  698. this.formData[data1] > this.formData[data2]
  699. ) {
  700. this.formData[data1] = "";
  701. this.$message.warning("开始时间不能大于结束时间,请重新选择开始时间");
  702. }
  703. }
  704. },
  705. /**
  706. *
  707. * @param {int} data1
  708. * @param {int} data2
  709. * @remark 日期搜索-时间结束选择器触发
  710. */
  711. change2(data1, data2) {
  712. if (this.formData[data2]) {
  713. if (
  714. this.formData[data1] &&
  715. this.formData[data2] < this.formData[data1]
  716. ) {
  717. this.formData[data2] = "";
  718. this.$message.warning("结束时间不能小于开始时间,请重新选择结束时间");
  719. }
  720. }
  721. },
  722. /**
  723. *
  724. * @param {int} status
  725. * @remark 顶部定制按钮-根据商品类型点击快速搜索
  726. */
  727. topSearch(status) {
  728. this.formData.goodsType = status;
  729. this.$emit("search", 3);
  730. },
  731. /**
  732. *
  733. * @param {int} status
  734. * @remark 顶部定制按钮-根据审核状态点击快速搜索
  735. */
  736. topSearchsh(types) {
  737. this.formData.status = types;
  738. this.$emit("search", 3);
  739. },
  740. /**
  741. * @remark 搜索
  742. */
  743. search() {
  744. this.$emit("search", 1);
  745. },
  746. /**
  747. * @remark 重置
  748. */
  749. init() {
  750. this.$emit("init");
  751. },
  752. /**
  753. *
  754. * @param {int} int1
  755. * @param {int} int2
  756. * @remark 数值取值范围选择器
  757. */
  758. handleChanges(int1, int2) {
  759. if (int1 !== undefined && int2 !== undefined) {
  760. if (int1 > int2) {
  761. this.$message.error("请规范输入取值范围");
  762. }
  763. }
  764. },
  765. /**
  766. *
  767. * @param {int} id
  768. * @param {bool} status1 //是否不清空业务层级
  769. * @remark 点击教育类型触发事件
  770. */
  771. changeEducationType(id, status1) {
  772. if (!id) {
  773. return;
  774. }
  775. const indexs = this.educationType.findIndex((item) => {
  776. return item.id === id;
  777. });
  778. this.tireStatus = this.educationType[indexs].tireStatus;
  779. if (!status1) {
  780. if (this.formData.businessId) {
  781. this.formData.businessId = "";
  782. }
  783. if (this.formData.ProfessionalId) {
  784. this.formData.ProfessionalId = "";
  785. }
  786. }
  787. if (this.formData.schoolId) {
  788. this.formData.schoolId = "";
  789. }
  790. if (this.formData.subjectId) {
  791. this.formData.subjectId = "";
  792. }
  793. this.$api
  794. .inquirebusinessList({ status: 1, educationId: id })
  795. .then((res) => {
  796. this.newBusinessLevel = res.rows;
  797. });
  798. this.$api
  799. .inquireUserSchool({ status: 1, educationId: id })
  800. .then((res) => {
  801. this.newSchoolList = res.rows;
  802. });
  803. this.$api
  804. .inquireCourseMajor({ status: 1, educationId: id })
  805. .then((res) => {
  806. this.newProfessional = res.rows;
  807. });
  808. if (!status1) {
  809. this.$api
  810. .inquireCourseSubject({ status: 1, educationId: id })
  811. .then((res) => {
  812. this.newSujectType = res.rows;
  813. });
  814. }
  815. },
  816. /**
  817. *
  818. * @param {int} id
  819. * @remark 点击业务层次触发事件
  820. */
  821. changeBusinessLevel(v) {
  822. if (this.formData.subjectId) {
  823. this.formData.subjectId = "";
  824. }
  825. this.$api
  826. .inquireCourseSubject({ status: 1, businessId: v })
  827. .then((res) => {
  828. this.newSujectType = res.rows;
  829. });
  830. },
  831. /**
  832. * 外部调用-商品新增编辑页
  833. */
  834. changeSuject(v) {
  835. if (v) {
  836. this.$api
  837. .inquireCourseSubject({ status: 1, projectId: v })
  838. .then((res) => {
  839. this.newSujectType = res.rows;
  840. });
  841. } else {
  842. this.newSujectType = [];
  843. }
  844. },
  845. },
  846. };
  847. </script>
  848. <style lang="less" scoped>
  849. .fon_s {
  850. font-size: 14px;
  851. color: #6b6b6b;
  852. }
  853. .fon_sIcon {
  854. width: 50px;
  855. display: flex;
  856. align-items: center;
  857. justify-content: center;
  858. }
  859. .iconStyS {
  860. font-size: 24px;
  861. font-weight: bold;
  862. color: red;
  863. }
  864. .inputListBox {
  865. display: flex;
  866. align-items: center;
  867. margin-bottom: 12px;
  868. }
  869. .inputListBoxs {
  870. display: flex;
  871. margin-bottom: 12px;
  872. }
  873. .tsxnz {
  874. flex: 1;
  875. /deep/ .el-form-item {
  876. margin-bottom: 0px;
  877. }
  878. }
  879. </style>