teacherOperation.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723
  1. <template>
  2. <div class="m-container">
  3. <!-- <h2>
  4. <el-page-header @back="onCancel" :content="'老师' + (pageType == 'create' ? '新增' : '修改')"></el-page-header>
  5. </h2>-->
  6. <div class="infoWrap">
  7. <div class="left">
  8. <h4>基本信息</h4>
  9. <el-form :model="topForm"
  10. :rules="rules"
  11. ref="form">
  12. <el-row>
  13. <el-col :span="12">
  14. <el-form-item label="姓名"
  15. prop="realName"
  16. :label-width="formLabelWidth">
  17. <el-input v-model.trim="topForm.realName"></el-input>
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="12">
  21. <el-form-item label="姓名(备注)"
  22. :label-width="formLabelWidth">
  23. <el-input v-model.trim="topForm.memo"></el-input>
  24. </el-form-item>
  25. </el-col>
  26. </el-row>
  27. <el-row>
  28. <el-col :span="12">
  29. <el-form-item label="性别"
  30. prop="gender"
  31. :label-width="formLabelWidth">
  32. <el-select v-model.trim="topForm.gender">
  33. <el-option label="男"
  34. :value="1"></el-option>
  35. <el-option label="女"
  36. :value="0"></el-option>
  37. </el-select>
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="12">
  41. <el-form-item label="出生日期"
  42. :label-width="formLabelWidth">
  43. <el-date-picker v-model.trim="topForm.birthdate"
  44. type="date"
  45. value-format="yyyy-MM-dd"
  46. placeholder="出生日期"></el-date-picker>
  47. </el-form-item>
  48. </el-col>
  49. </el-row>
  50. <el-row>
  51. <el-col :span="12">
  52. <el-form-item label="入职日期"
  53. prop="entryDate"
  54. :label-width="formLabelWidth">
  55. <el-date-picker v-model.trim="topForm.entryDate"
  56. type="date"
  57. value-format="yyyy-MM-dd"
  58. placeholder="入职日期"></el-date-picker>
  59. </el-form-item>
  60. </el-col>
  61. <el-col :span="12">
  62. <el-form-item label="工作类型"
  63. prop="jobNature"
  64. :label-width="formLabelWidth">
  65. <el-select v-model.trim="topForm.jobNature"
  66. placeholder="工作类型"
  67. clearable
  68. filterable>
  69. <el-option v-for="item in jobNature"
  70. :key="item.value"
  71. :label="item.label"
  72. :value="item.value"></el-option>
  73. </el-select>
  74. </el-form-item>
  75. </el-col>
  76. </el-row>
  77. <el-row>
  78. <el-col :span="12">
  79. <el-form-item label="所属分部"
  80. prop="organId"
  81. :label-width="formLabelWidth">
  82. <el-select v-model.trim="topForm.organId"
  83. filterable
  84. clearable
  85. placeholder="所属分部"
  86. @change="switchOrgan">
  87. <el-option v-for="item in branchList"
  88. :key="item.value"
  89. :label="item.label"
  90. :value="item.value"></el-option>
  91. </el-select>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="12">
  95. <el-form-item label="流动范围"
  96. :label-width="formLabelWidth">
  97. <el-select v-model.trim="topForm.flowOrganRange"
  98. filterable
  99. clearable
  100. multiple
  101. placeholder="流动范围">
  102. <el-option v-for="item in branchList"
  103. :key="item.value"
  104. :label="item.label"
  105. :value="item.value.toString()"></el-option>
  106. </el-select>
  107. </el-form-item>
  108. </el-col>
  109. </el-row>
  110. <el-row>
  111. <el-col :span="12">
  112. <el-form-item label="人事状态"
  113. prop="isProbationPeriod"
  114. :label-width="formLabelWidth">
  115. <el-select v-model.trim="topForm.isProbationPeriod"
  116. clearable
  117. filterable
  118. placeholder="人事状态">
  119. <el-option label="正式"
  120. :value="1"></el-option>
  121. <el-option label="临时"
  122. :value="0"></el-option>
  123. <el-option label="离职"
  124. :value="2"></el-option>
  125. </el-select>
  126. </el-form-item>
  127. </el-col>
  128. <el-col :span="12"
  129. v-if="pageType == 'update'">
  130. <el-form-item label="教学点"
  131. :label-width="formLabelWidth">
  132. <el-input disabled
  133. v-model.trim="teacherSchools"></el-input>
  134. </el-form-item>
  135. </el-col>
  136. </el-row>
  137. <el-row>
  138. <el-col :span="12">
  139. <el-form-item label="老师简介"
  140. :label-width="formLabelWidth">
  141. <el-input type="textarea"
  142. v-model.trim="topForm.introduction"></el-input>
  143. </el-form-item>
  144. </el-col>
  145. <el-col :span="12"
  146. class="diSpan">
  147. <el-tooltip placement="top"
  148. popper-class="mTooltip">
  149. <div slot="content">
  150. 「是」此老师可作为网管课老师;
  151. <br />「否」此老师不可作为网管课老师;
  152. </div>
  153. <!-- <img :src="imageIcon" class="micon el-tooltip" style="width:8px height:8px" alt /> -->
  154. <i class="el-icon-question micon el-tooltip"
  155. style="font-size: 18px; color: #F56C6C"></i>
  156. </el-tooltip>
  157. <el-form-item label="开放陪练"
  158. label-width="90px"
  159. class="course">
  160. <el-select v-model.trim="topForm.isSupportExtraPracticeLesson"
  161. clearable
  162. filterable
  163. placeholder="开放陪练">
  164. <el-option label="是"
  165. :value="true"></el-option>
  166. <el-option label="否"
  167. :value="false"></el-option>
  168. </el-select>
  169. </el-form-item>
  170. </el-col>
  171. </el-row>
  172. <h4>资料学历</h4>
  173. <el-row>
  174. <el-col :span="12">
  175. <!-- :rules="[{ required: true, message: '手机号不能为空',trigger: 'blur'},{pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号',trigger: 'blur' }]" -->
  176. <el-form-item label="手机号"
  177. prop="phone"
  178. :label-width="formLabelWidth">
  179. <el-input v-model.trim.number="topForm.phone"></el-input>
  180. </el-form-item>
  181. </el-col>
  182. <el-col :span="12">
  183. <el-form-item label="毕业学校"
  184. :label-width="formLabelWidth">
  185. <el-input v-model.trim="topForm.graduateSchool"></el-input>
  186. </el-form-item>
  187. </el-col>
  188. </el-row>
  189. <el-row>
  190. <el-col :span="12">
  191. <el-form-item label="电子邮箱"
  192. :label-width="formLabelWidth">
  193. <el-input v-model.trim="topForm.email"></el-input>
  194. </el-form-item>
  195. </el-col>
  196. <el-col :span="12">
  197. <el-form-item label="最高学历"
  198. :label-width="formLabelWidth">
  199. <!-- <el-input v-model.trim="topForm.educationBackground"></el-input> -->
  200. <el-select v-model.trim="topForm.educationBackground"
  201. clearable
  202. filterable
  203. placeholder="最高学历">
  204. <el-option label="初中"
  205. value="初中"></el-option>
  206. <el-option label="高中"
  207. value="高中"></el-option>
  208. <el-option label="大专"
  209. value="大专"></el-option>
  210. <el-option label="本科"
  211. value="本科"></el-option>
  212. <el-option label="硕士"
  213. value="硕士"></el-option>
  214. <el-option label="博士"
  215. value="博士"></el-option>
  216. </el-select>
  217. </el-form-item>
  218. </el-col>
  219. </el-row>
  220. <el-row>
  221. <el-col :span="12">
  222. <el-form-item label="专业技能"
  223. :rules="[{required: true}]"
  224. :label-width="formLabelWidth">
  225. <el-select :disabled="!topForm.organId"
  226. v-model="subjectIds"
  227. clearable
  228. placeholder="专业技能"
  229. multiple>
  230. <el-option v-for="item in subjectList"
  231. :key="item.id"
  232. :label="item.name"
  233. :value="item.id"></el-option>
  234. </el-select>
  235. </el-form-item>
  236. </el-col>
  237. <el-col :span="12">
  238. <el-form-item label="职称"
  239. :label-width="formLabelWidth">
  240. <el-input v-model.trim="topForm.technicalTitles"></el-input>
  241. </el-form-item>
  242. </el-col>
  243. </el-row>
  244. <el-row>
  245. <el-col :span="12">
  246. <el-form-item label="证件类型"
  247. :label-width="formLabelWidth">
  248. <el-input v-model.trim="topForm.certificateType"></el-input>
  249. <!-- <el-select v-model.trim="topForm.certificateType" placeholder="证件类型">
  250. <el-option label="身份证" value="身份证"></el-option>
  251. <el-option label="护照" value="护照"></el-option>
  252. <el-option label="港澳通行证" value="港澳通行证"></el-option>
  253. </el-select>-->
  254. </el-form-item>
  255. </el-col>
  256. <el-col :span="12">
  257. <el-form-item label="证件号码"
  258. :label-width="formLabelWidth">
  259. <el-input v-model.trim="topForm.certificateNum"></el-input>
  260. </el-form-item>
  261. </el-col>
  262. </el-row>
  263. <el-row>
  264. <el-col :span="12">
  265. <el-form-item label
  266. :label-width="formLabelWidth">
  267. <!-- <el-input v-model.trim="topForm.certificateType"></el-input> -->
  268. <el-checkbox v-model.trim="topForm.isSupportCourseScheduleRewardsRules">适用VIP分部活动</el-checkbox>
  269. </el-form-item>
  270. </el-col>
  271. </el-row>
  272. <el-form-item>
  273. <el-button @click="onSubmit('form')"
  274. type="primary">立即{{ pageType == "create" ? '创建' : '修改' }}</el-button>
  275. <el-button @click="onReSet('form')">重置</el-button>
  276. </el-form-item>
  277. </el-form>
  278. </div>
  279. <div class="right">
  280. <div class="teacherIcon">
  281. <img v-if="topForm.avatar"
  282. key="avatar"
  283. :src="topForm.avatar"
  284. alt />
  285. <img v-else
  286. key="avatar"
  287. src="@/assets/images/base/woman.png"
  288. alt />
  289. </div>
  290. <el-upload class="ivu-upload"
  291. :show-upload-list="false"
  292. :show-file-list="false"
  293. :headers="headers"
  294. :on-success="handleSuccess"
  295. accept=".jpg, .jpeg, .png"
  296. :max-size="2048"
  297. multiple
  298. action="/api-web/uploadFile">
  299. <el-button icon="ios-cloud-upload-outline"
  300. v-if="pageType != 'create'"
  301. v-permission="{child: 'resetTeacher/uploadFile', parent: '/teacherUpdate/baseInfo'}">修改头像</el-button>
  302. <el-button icon="ios-cloud-upload-outline"
  303. v-if="pageType == 'create'"
  304. v-permission="{child: 'createTeacher/uploadFile', parent: '/teacherAdd/baseInfo'}">新增头像</el-button>
  305. </el-upload>
  306. <p class="iconP">
  307. 推荐图片尺寸:200x200;
  308. <br />支持的格式:jpg,jpeg,png;
  309. <br />*头像修改后,需要点击页面
  310. <br />下方「立即修改」保存生效;
  311. </p>
  312. </div>
  313. </div>
  314. </div>
  315. </template>
  316. <script>
  317. // import { queryByOrganId } from '@/api/systemManage'
  318. import { getToken } from "@/utils/auth";
  319. import { branchQueryPage, subjectListTree } from "@/api/specialSetting";
  320. import { teacherAdd, teacherUpdate, teacherGet } from "@/api/teacherManager";
  321. import { getSubject } from '@/api/buildTeam'
  322. import store from "@/store";
  323. import { permission } from "@/utils/directivePage";
  324. import { jobNature } from "@/utils/searchArray";
  325. import { isvalidPhone } from "@/utils/validate";
  326. let validPhone = (rule, value, callback) => {
  327. if (!value) {
  328. callback(new Error("请输入电话号码"));
  329. } else if (!isvalidPhone(value)) {
  330. callback(new Error("请输入正确的11位手机号码"));
  331. } else {
  332. callback();
  333. }
  334. };
  335. export default {
  336. name: "teacherOperation",
  337. data () {
  338. return {
  339. headers: {
  340. Authorization: getToken()
  341. },
  342. jobNature: jobNature,
  343. organId: null,
  344. pageType: this.$route.query.type,
  345. teacherId: this.$route.query.teacherId,
  346. formLabelWidth: "80px",
  347. branchList: [], // 分部列表
  348. subjectList: [], //声部列表 // 多选声部列表
  349. teacherSchools: null,
  350. topForm: {
  351. realName: null,
  352. gender: null,
  353. birthdate: null,
  354. entryDate: null,
  355. jobNature: null,
  356. organId: null,
  357. flowOrganRange: null,
  358. introduction: null,
  359. phone: null,
  360. avatar: null,
  361. graduateSchool: null,
  362. email: null,
  363. educationBackground: null,
  364. isProbationPeriod: null,
  365. technicalTitles: null,
  366. certificateType: null,
  367. certificateNum: null,
  368. isSupportCourseScheduleRewardsRules: true,
  369. isSupportExtraPracticeLesson: null,
  370. memo: null
  371. },
  372. subjectIds: [],
  373. tenantId: null,
  374. // imageIcon: require("@/assets/images/base/warning.png"),
  375. rules: {
  376. realName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
  377. gender: [{ required: true, message: "请选择性别", trigger: "change" }],
  378. entryDate: [
  379. { required: true, message: "请选择入职日期", trigger: "change" }
  380. ],
  381. jobNature: [
  382. { required: true, message: "请选择工作类型", trigger: "change" }
  383. ],
  384. isProbationPeriod: [
  385. { required: true, message: "请选择人事状态", trigger: "change" }
  386. ],
  387. organId: [
  388. { required: true, message: "请选择所属分部", trigger: "change" }
  389. ],
  390. phone: [{ required: true, validator: validPhone, trigger: "blur" }],
  391. subjectIds: [
  392. {
  393. required: true,
  394. type: "array",
  395. message: "请选择专业技能",
  396. trigger: "change"
  397. }
  398. ],
  399. isAvatar: null
  400. }
  401. };
  402. },
  403. created () { },
  404. mounted () {
  405. this.__init();
  406. },
  407. activated () {
  408. this.pageType = this.$route.query.type;
  409. this.teacherId = this.$route.query.teacherId;
  410. this.__init();
  411. },
  412. methods: {
  413. __init () {
  414. if (this.$route.query.search) {
  415. this.Fsearch = this.$route.query.search;
  416. }
  417. if (this.$route.query.rules) {
  418. this.Frules = this.$route.query.rules;
  419. }
  420. // isAvatar
  421. branchQueryPage({
  422. // 获取分部
  423. delFlag: 0,
  424. rows: 9999
  425. }).then(res => {
  426. if (res.code == 200 && res.data && res.data.rows) {
  427. this.branchList = [];
  428. res.data.rows.forEach(item => {
  429. this.branchList.push({
  430. label: item.name,
  431. value: item.id
  432. });
  433. });
  434. }
  435. });
  436. if (this.pageType == "update") {
  437. teacherGet({ teacherId: this.teacherId }).then(res => {
  438. if (res.code == 200) {
  439. let result = res.data;
  440. this.topForm = {
  441. realName: result.realName,
  442. gender: result.gender,
  443. birthdate: result.birthdate,
  444. entryDate: result.entryDate,
  445. jobNature: result.jobNature,
  446. organId: result.teacherOrganId,
  447. flowOrganRange: result.flowOrganRangeId
  448. ? result.flowOrganRangeId.split(",")
  449. : null,
  450. introduction: result.introduction,
  451. phone: result.phone,
  452. avatar: result.avatar,
  453. graduateSchool: result.graduateSchool,
  454. email: result.email,
  455. educationBackground: result.educationBackground,
  456. technicalTitles: result.technicalTitles,
  457. certificateType: result.certificateType,
  458. certificateNum: result.certificateNum,
  459. isProbationPeriod: result.isProbationPeriod,
  460. isSupportCourseScheduleRewardsRules:
  461. result.isSupportCourseScheduleRewardsRules,
  462. isSupportExtraPracticeLesson: result.isSupportExtraPracticeLesson,
  463. memo: result.memo
  464. };
  465. let sn = [];
  466. result.teacherSchools.forEach(item => {
  467. sn.push(item.name);
  468. });
  469. if (result.subjectId) {
  470. let arr = result.subjectId.split(",");
  471. this.subjectIds = arr.map(item => {
  472. return parseInt(item);
  473. });
  474. }
  475. this.teacherSchools = this.joinArray(sn, ","); // 教学点
  476. this.switchOrgan();
  477. }
  478. });
  479. }
  480. },
  481. joinArray (value, type) {
  482. if (!type) {
  483. type = " ";
  484. }
  485. if (typeof value == "object" && value != null) {
  486. return value.join(type);
  487. } else {
  488. return value;
  489. }
  490. },
  491. onSubmit (formName) {
  492. this.$refs[formName].validate(valid => {
  493. if (valid) {
  494. if (this.subjectIds.length <= 0) {
  495. this.$message.error('请选择专业技能')
  496. return
  497. }
  498. if (this.topForm.flowOrganRange instanceof Array) {
  499. this.topForm.flowOrganRange = this.topForm.flowOrganRange
  500. ? this.topForm.flowOrganRange.join(",")
  501. : null;
  502. }
  503. this.subjectId = this.subjectIds.join(",");
  504. this.topForm.subjectId = this.subjectId
  505. if (this.pageType == "update") {
  506. this.topForm.id = this.teacherId;
  507. teacherUpdate(this.topForm).then(res => {
  508. if (res.code == 200) {
  509. // this.$emit('onTeacher')
  510. this.$router.push({
  511. path: "/business/teacherList",
  512. query: { rules: this.Frules, search: this.Fsearch }
  513. });
  514. }
  515. this.messageTips("修改", res);
  516. });
  517. } else if (this.pageType == "create") {
  518. if (this.topForm.id) {
  519. delete this.topForm.id;
  520. }
  521. teacherAdd(this.topForm).then(res => {
  522. if (res.code == 200) {
  523. // 权限判断,是否有课酬设置
  524. if (permission("/teacherAdd/salarySeting")) {
  525. this.$emit("onTeacher", res.data);
  526. } else {
  527. this.$router.push({
  528. path: "/business/teacherList",
  529. query: { rules: this.Frules, search: this.Fsearch }
  530. });
  531. }
  532. }
  533. this.messageTips("添加", res);
  534. });
  535. }
  536. } else {
  537. return false;
  538. }
  539. });
  540. },
  541. messageTips (title, res) {
  542. if (res.code == 200) {
  543. this.$message.success(title + "成功");
  544. } else {
  545. this.topForm.subjectIds = this.topForm.subjectIds.split(",");
  546. this.$message.error(res.msg);
  547. }
  548. },
  549. onReSet (formName) {
  550. this.topForm = {
  551. realName: null,
  552. gender: null,
  553. birthdate: null,
  554. entryDate: null,
  555. jobNature: null,
  556. organId: null,
  557. flowOrganRange: null,
  558. introduction: null,
  559. phone: null,
  560. avatar: null,
  561. graduateSchool: null,
  562. email: null,
  563. educationBackground: null,
  564. subjectIds: [],
  565. technicalTitles: null,
  566. certificateType: null,
  567. certificateNum: null,
  568. jobType: "ADVISER",
  569. memo
  570. };
  571. this.$refs[formName].resetFields();
  572. },
  573. onCancel () {
  574. this.$router.push({
  575. path: "/business/teacherList",
  576. query: { rules: this.Frules, search: this.Fsearch }
  577. });
  578. },
  579. handleSuccess (res) {
  580. // 获取富文本组件实例
  581. // let quill = this.editor
  582. // 如果上传成功
  583. if (res.code == 200) {
  584. // 获取光标所在位置
  585. this.topForm.avatar = res.data.url;
  586. }
  587. },
  588. // 选择分部
  589. switchOrgan () {
  590. if (this.topForm.organId == 43) {
  591. this.tenantId = 2;
  592. } else {
  593. this.tenantId = 1;
  594. }
  595. getSubject({ tenantId: this.tenantId }).then(res => {
  596. if (res.code == 200) {
  597. this.subjectList = res.data;
  598. }
  599. })
  600. }
  601. }
  602. };
  603. </script>
  604. <style lang="scss" scoped>
  605. .atooltip.el-tooltip__popper[x-placement^="top"] .popper__arrow {
  606. border-top-color: #ecf0f0;
  607. color: #666666;
  608. }
  609. .atooltip.el-tooltip__popper[x-placement^="top"] .popper__arrow:after {
  610. border-top-color: #ecf0f0;
  611. color: #666666;
  612. }
  613. .atooltip {
  614. background: #ecf0f0 !important;
  615. color: #666666;
  616. }
  617. .diSpan {
  618. position: relative;
  619. .micon {
  620. position: absolute;
  621. top: 12px;
  622. left: 64px;
  623. }
  624. }
  625. .course {
  626. /deep/.el-form-item__label {
  627. text-align: left !important;
  628. }
  629. }
  630. // /deep/.el-tooltip__popper.is-dark {
  631. // background-color: #ECF0F0!important;
  632. // color: #666!important;
  633. // }
  634. .el-button--primary {
  635. background: #14928a;
  636. border-color: #14928a;
  637. color: #fff;
  638. &:hover,
  639. &:active,
  640. &:focus {
  641. background: #14928a;
  642. border-color: #14928a;
  643. color: #fff;
  644. }
  645. }
  646. /deep/.el-date-editor.el-input,
  647. /deep/.el-select {
  648. width: 100% !important;
  649. }
  650. // .el-row {
  651. // margin-top: 40px;
  652. // }
  653. // .el-col {
  654. // display: flex;
  655. // align-items: center;
  656. // margin-bottom: 20px;
  657. // justify-content: flex-end;
  658. // margin-right: 50%;
  659. // }
  660. // .el-input-group {
  661. // width: 200px;
  662. // margin: 0 20px;
  663. // }
  664. // /deep/.el-tree-node__content {
  665. // height: 40px !important;
  666. // }
  667. /deep/.el-form-item__content {
  668. font-size: 14px !important;
  669. margin-right: 5%;
  670. }
  671. .infoWrap {
  672. margin-top: 20px;
  673. display: flex;
  674. flex-direction: row;
  675. justify-content: flex-start;
  676. .left {
  677. max-width: 1000px;
  678. width: 100%;
  679. h4 {
  680. margin-bottom: 20px;
  681. }
  682. }
  683. .right {
  684. margin-left: 100px;
  685. display: flex;
  686. flex-direction: column;
  687. align-items: center;
  688. .teacherIcon {
  689. width: 150px;
  690. height: 150px;
  691. // border: 1px solid #444;
  692. border-radius: 50%;
  693. overflow: hidden;
  694. margin-bottom: 20px;
  695. img {
  696. width: 150px;
  697. height: 150px;
  698. object-fit: cover;
  699. }
  700. }
  701. }
  702. .iconP {
  703. margin-top: 10px;
  704. font-size: 14px;
  705. color: red;
  706. width: 260px;
  707. text-align: center;
  708. }
  709. }
  710. </style>