index.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  1. <template>
  2. <div class="rightBox">
  3. <div class="whiteBg" style="background:unset;padding: 0;">
  4. <div>
  5. <div class="basic_box" style="padding: 0;">
  6. <div class="big_box">
  7. <div class="left_first">
  8. <!-- <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">设置基础信息</div> -->
  9. <!-- <div>
  10. <div style="width: 100%;">
  11. <div class="course_input_box">
  12. <div class="bb_courseIcon"><img
  13. src="../../../../../assets/icon/new/course.png" />
  14. </div>
  15. <input @input="titleChange" type="text" placeholder="请输入表单名称"
  16. class="binfo_input" v-model="courseName"
  17. style="border: 1.5px solid rgb(202, 209, 220);margin: 0px 10px 0px 0px;border-radius: 5px;font-weight: 600;padding: 12px 14px 12px 71px;" />
  18. <el-switch v-model="isTeacherSee" active-text="允许回答后查看正确答案"
  19. style="justify-content: center;" @change="seeChange"></el-switch>
  20. </div>
  21. </div>
  22. </div> -->
  23. <!-- <div class="typeBox">
  24. <span>权限:</span>
  25. <el-select v-model="sJuri" placeholder="权限" @change="juriChange">
  26. <el-option label="所有人" value="0"></el-option>
  27. <el-option label="老师" value="1"></el-option>
  28. <el-option label="学生" value="2"></el-option>
  29. </el-select>
  30. </div> -->
  31. <!-- <div class="typeBox" style="display: flex;align-items: center;">
  32. <span>教研室权限:</span>
  33. <div class="checkJuri" @click="checkJuri">
  34. <span v-if="!getCName(checkList)" style="color: #c0c4d6;">所有人</span>
  35. <span>{{ getCName(checkList) }}</span>
  36. </div>
  37. </div> -->
  38. <div class="typeBox" v-if="typeArray.length" style="display: flex;flex-direction: column;">
  39. <span style="margin-bottom: 10px;">表单类型:</span>
  40. <el-select v-model="typeCheck" placeholder="选择类型" clearable @change="typeChange2">
  41. <el-option v-for="(item, index) in typeArray" :key="index" :label="item.name"
  42. :value="item.id"></el-option>
  43. </el-select>
  44. </div>
  45. <div class="typeBox" style="display: flex;flex-direction: column;">
  46. <span style="margin-bottom: 10px;">截止日期:</span>
  47. <el-date-picker v-model="selectedDate" type="date" :picker-options="pickerOptions"
  48. @change="DateChange" format="yyyy-MM-dd" clearable=""
  49. placeholder="选择截止日期" style="width: 100%;"></el-date-picker>
  50. </div>
  51. <div class="both">
  52. <div class="choose">
  53. <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index"
  54. @change="typeChange">
  55. <span v-if="CourseTypeJson[item.id].length > 0">{{ item.name }}:</span>
  56. <el-checkbox-group v-model="courseTypeId"
  57. v-if="CourseTypeJson[item.id].length > 0">
  58. <el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id"
  59. :label="item1.id">{{
  60. item1.name }}</el-checkbox>
  61. </el-checkbox-group>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="whiteBg" style="border-radius: 0; margin-top: 0px;margin-bottom: 10px;" v-if="teaType.length">
  66. <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">设置填写范围
  67. <span style="font-weight: 500; color: #7F7979E5;">(符合以下所有条件的教师)</span>
  68. <span style="margin-left: auto; cursor: pointer;" @click="checkTeacher">已选:{{ teacherArray.length }}人</span>
  69. </div>
  70. <div class="typeBox" v-for="item in teaType" :key="item.id" style="margin: 0 0 10px">
  71. <span>{{ item.name + ":" }}</span>
  72. <el-select v-model="item.value" :placeholder="'请选择' + item.name"
  73. @change="Ochange" clearable>
  74. <el-option v-for="i in item.child" :key="i.id" :label="i.name" :value="i.id">
  75. </el-option>
  76. </el-select>
  77. </div>
  78. </div>
  79. <!-- <div class="whiteBg" style="border-radius: 0; margin-top: 0px">
  80. <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">表单描述</div>
  81. <div style="width: 100%;box-sizing: border-box;">
  82. <div style="width: calc((100%))">
  83. <textarea v-autoHeight="68" rows="2" class="binfo_input binfo_textarea" cols
  84. v-model="courseText" placeholder="表单描述" @change="briefChange"></textarea>
  85. </div>
  86. </div>
  87. </div> -->
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <el-dialog title="选择权限" :visible.sync="juriDialog" :append-to-body="true" :before-close="handleClose"
  94. class="dialog_diy" width="500px">
  95. <van-divider>
  96. <div class="people_name">
  97. <el-checkbox v-model="checkAll" @change="checkAllChange">全选</el-checkbox>
  98. <el-checkbox v-model="ischeckAll" @change="ischeckAllChange">所有人</el-checkbox>
  99. </div>
  100. <div style="max-height: 300px;overflow: auto;">
  101. <el-checkbox-group v-model="checkList2" class="people_name" @change="pChange">
  102. <el-checkbox v-for="item in classJuri" :key="item.id" :label="item.id">
  103. {{ item.name }}
  104. </el-checkbox>
  105. </el-checkbox-group>
  106. </div>
  107. </van-divider>
  108. <span slot="footer" class="dialog-footer">
  109. <el-button @click="juriDialog = false">取 消</el-button>
  110. <el-button type="primary" @click="confirmCheck">确 定
  111. </el-button>
  112. </span>
  113. </el-dialog>
  114. <el-dialog title="填写返回已选教师" :visible.sync="dialogTeacher" :append-to-body="true" :before-close="handleClose"
  115. class="dialog_diy" width="500px">
  116. <van-divider>
  117. <div style="display: flex;flex-wrap: wrap;line-height: 20px;">
  118. <span style="color: #00000099;">已选教师名单:</span>
  119. <span style="word-break: break-word;" v-for="(item, index) in teacherArray" :key="item.userid">
  120. {{ item.username }}{{ index == teacherArray.length - 1 ? '' : '、' }}
  121. </span>
  122. </div>
  123. </van-divider>
  124. </el-dialog>
  125. </div>
  126. </template>
  127. <script>
  128. import manualCreate from './manualCreated.vue';
  129. import aiCreate from './aiCreate.vue';
  130. export default {
  131. components: {
  132. manualCreate,
  133. aiCreate
  134. },
  135. props: {
  136. oid: {
  137. type: String
  138. },
  139. org: {
  140. type: String
  141. },
  142. title: {
  143. type: String
  144. },
  145. testType: {
  146. type: Array
  147. },
  148. see: {
  149. type: Boolean
  150. },
  151. steps: {
  152. type: Number
  153. },
  154. cJson: {
  155. type: Array
  156. },
  157. typeid: {
  158. type: String
  159. },
  160. brief: {
  161. type: String
  162. },
  163. juri: {
  164. type: String
  165. },
  166. overDate: {
  167. type: String
  168. },
  169. juriList: {
  170. type: Array
  171. },
  172. typeInfo: {
  173. type: Array
  174. }
  175. },
  176. data() {
  177. return {
  178. CourseType: [],
  179. courseTypeId: [],
  180. CourseTypeJson: {},
  181. courseName: "",
  182. isTeacherSee: false,
  183. type: 2,
  184. manualJson: [],
  185. aiDialogVisible: false,
  186. typeArray: [],
  187. typeCheck: '',
  188. sJuri: '',
  189. courseText: '',
  190. selectedDate: '',
  191. pickerOptions: {
  192. disabledDate(time) {
  193. return time.getTime() < Date.now(); // 只能选择大于今天的日期
  194. },
  195. },
  196. classJuri: [],
  197. checkList: [],
  198. checkList2: [],
  199. juriDialog: false,
  200. checkAll: false,
  201. ischeckAll: false,
  202. teaType: [],
  203. teacherArray:[],
  204. dialogTeacher: false,
  205. }
  206. },
  207. computed: {
  208. getCName() {
  209. return function (clist) {
  210. let _people = [];
  211. let _people2 = [];
  212. let _people3 = [];
  213. if (this.classJuri.length) {
  214. for (var i = 0; i < this.classJuri.length; i++) {
  215. _people2.push(this.classJuri[i].id);
  216. }
  217. for (var i = 0; i < clist.length; i++) {
  218. if (_people2.indexOf(clist[i]) !== -1) {
  219. _people3.push(clist[i]);
  220. }
  221. }
  222. for (var i = 0; i < this.classJuri.length; i++) {
  223. if (_people3.indexOf(this.classJuri[i].id) !== -1) {
  224. _people.push(this.classJuri[i].name);
  225. }
  226. }
  227. }
  228. return this.classJuri.length ? _people.join(',') : "所有人";
  229. };
  230. },
  231. },
  232. directives: {
  233. autoHeight: {
  234. update(el, binding) {
  235. const { value } = binding
  236. if (value && typeof value === 'number') {
  237. el.style.height = `${value}px`
  238. } else {
  239. el.style.height = 'auto'
  240. }
  241. },
  242. componentUpdated(el) {
  243. el.style.height = `${el.scrollHeight + 5}px`
  244. },
  245. },
  246. },
  247. watch: {
  248. teaType: {
  249. immediate: true,
  250. deep: true,
  251. async handler(newValue, oldValue) {
  252. if(newValue){
  253. await this.getTestWorkTeacherCount()
  254. }
  255. },
  256. },
  257. },
  258. methods: {
  259. async getTestWorkTeacherCount(){
  260. let j3 = []
  261. if(this.teaType.length){
  262. this.teaType.forEach(e => {
  263. j3.push(e.value)
  264. })
  265. }
  266. let params = [{
  267. juri: j3.length ? j3.join(',') : "",
  268. userid: this.$route.query.userid
  269. }]
  270. try {
  271. let res = await this.ajax.post(this.$store.state.api + "getTestWorkTeacherCount", params)
  272. this.teacherArray = res.data[0]
  273. }catch (err) {
  274. this.$message.error("网络不佳");
  275. console.error(err);
  276. }
  277. console.log('11111111111')
  278. },
  279. Ochange() {
  280. this.$forceUpdate()
  281. this.$emit("update:typeInfo", this.teaType)
  282. },
  283. handleClose(done) {
  284. done();
  285. },
  286. selectAllType() {
  287. let params = {
  288. org: this.org && this.org != "" ? this.org : "",
  289. oid: this.oid && this.oid != "" ? this.oid : "",
  290. };
  291. this.ajax
  292. .get(this.$store.state.api + "selectAllTypeT", params)
  293. .then((res) => {
  294. this.CourseType = res.data;
  295. for (var cti = 0; cti < res.data[0].length; cti++) {
  296. if (res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86ac5") {
  297. res.data[0][cti].name = "年级";
  298. } else if (res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86ac5") {
  299. res.data[0][cti].name = "学科";
  300. }
  301. }
  302. let _courseTypeId = [];
  303. for (var i = 0; i < res.data[0].length; i++) {
  304. if (!this.cid) {
  305. this.courseTypeId[res.data[0][i].id] = [];
  306. }
  307. // if (!this.CourseTypeJson[res.data[0][i].id]) {
  308. // }
  309. this.CourseTypeJson[res.data[0][i].id] = [];
  310. if (res.data[2].length == 0 && res.data[3].length == 0) {
  311. for (var j = 0; j < res.data[1].length; j++) {
  312. if (
  313. this.courseTypeId.indexOf(res.data[1][j].id) != -1 &&
  314. _courseTypeId.indexOf(res.data[1][j].id) == -1
  315. ) {
  316. _courseTypeId.push(res.data[1][j].id);
  317. }
  318. if (res.data[0][i].id == res.data[1][j].pid) {
  319. this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]); // 去除公共分类
  320. }
  321. }
  322. } else {
  323. if (res.data[2].length > 0) {
  324. for (var j = 0; j < res.data[2].length; j++) {
  325. if (
  326. this.courseTypeId.indexOf(res.data[2][j].id) != -1 &&
  327. _courseTypeId.indexOf(res.data[2][j].id) == -1
  328. ) {
  329. _courseTypeId.push(res.data[2][j].id);
  330. }
  331. if (res.data[0][i].id == res.data[2][j].pid) {
  332. this.CourseTypeJson[res.data[0][i].id].push(res.data[2][j]); // 去除公共分类
  333. }
  334. }
  335. }
  336. if (res.data[3].length > 0) {
  337. for (var j = 0; j < res.data[3].length; j++) {
  338. if (
  339. this.courseTypeId.indexOf(res.data[3][j].id) != -1 &&
  340. _courseTypeId.indexOf(res.data[3][j].id) == -1
  341. ) {
  342. _courseTypeId.push(res.data[3][j].id);
  343. }
  344. if (res.data[0][i].id == res.data[3][j].pid) {
  345. this.CourseTypeJson[res.data[0][i].id].push(res.data[3][j]); // 去除公共分类
  346. }
  347. }
  348. }
  349. }
  350. }
  351. this.courseTypeId = _courseTypeId;
  352. })
  353. .catch((err) => {
  354. console.error(err);
  355. });
  356. },
  357. titleChange() {
  358. this.$emit("update:title", this.courseName)
  359. },
  360. typeChange() {
  361. this.$emit("update:testType", this.courseTypeId)
  362. },
  363. seeChange() {
  364. this.$emit("update:see", this.isTeacherSee)
  365. },
  366. typeChange2() {
  367. this.$emit("update:typeid", this.typeCheck)
  368. },
  369. juriChange() {
  370. this.$emit("update:juri", this.sJuri)
  371. },
  372. DateChange() {
  373. this.$emit("update:overDate", this.selectedDate)
  374. },
  375. briefChange() {
  376. this.$emit("update:brief", this.courseText)
  377. },
  378. depthCopy(s) {
  379. return JSON.parse(JSON.stringify(s))
  380. },
  381. openAiCreate() {
  382. this.aiDialogVisible = true
  383. },
  384. nextSteps() {
  385. if (this.type == 2) {
  386. this.$emit("update:cJson", this.manualJson)
  387. }
  388. this.$emit('update:steps', this.steps + 1)
  389. console.log(this.cJson);
  390. console.log(this.manualJson);
  391. },
  392. selectType() {
  393. let params = {
  394. oid: this.oid,
  395. };
  396. this.ajax
  397. .get(this.$store.state.api + "selectTestType", params)
  398. .then((res) => {
  399. this.typeArray = res.data[0];
  400. })
  401. .catch((err) => {
  402. console.error(err);
  403. });
  404. },
  405. //获取教研室列表
  406. getClass2() {
  407. let params = {
  408. oid: this.oid,
  409. };
  410. this.ajax
  411. .get(this.$store.state.api + "selectTeacherOfficeBySchool", params)
  412. .then((res) => {
  413. this.classJuri = res.data[0].filter((item) => { return item.parentid == '6' });
  414. })
  415. .catch((err) => {
  416. this.isLoading = false;
  417. console.error(err);
  418. });
  419. },
  420. checkJuri() {
  421. let clist = []
  422. let clist2 = []
  423. for (var i = 0; i < this.classJuri.length; i++) {
  424. clist2.push(this.classJuri[i].id)
  425. }
  426. for (var i = 0; i < this.checkList.length; i++) {
  427. if (clist2.indexOf(this.checkList[i]) !== -1) {
  428. clist.push(this.checkList[i])
  429. }
  430. }
  431. this.checkList2 = JSON.parse(JSON.stringify(clist));
  432. this.checkAll = this.checkList2.length == this.classJuri.length;
  433. this.ischeckAll = !this.checkList2.length;
  434. this.juriDialog = true
  435. },
  436. checkAllChange() {
  437. if (this.checkAll) {
  438. this.checkList2 = []
  439. for (var i = 0; i < this.classJuri.length; i++) {
  440. this.checkList2.push(this.classJuri[i].id)
  441. }
  442. this.ischeckAll = false
  443. } else {
  444. this.checkList2 = []
  445. this.ischeckAll = true
  446. }
  447. },
  448. ischeckAllChange() {
  449. if (this.ischeckAll) {
  450. this.checkAll = false
  451. this.checkList2 = []
  452. } else {
  453. }
  454. this.ischeckAll = !this.checkList2.length;
  455. },
  456. pChange(val) {
  457. if (val.length == this.classJuri.length) {
  458. this.checkAll = true
  459. } else {
  460. this.checkAll = false
  461. }
  462. this.ischeckAll = !this.checkList2.length;
  463. },
  464. confirmCheck() {
  465. this.checkList = JSON.parse(JSON.stringify(this.checkList2));
  466. this.$emit("update:juriList", this.checkList)
  467. this.juriDialog = false
  468. },
  469. checkTeacher(){
  470. this.dialogTeacher = true
  471. }
  472. },
  473. async mounted() {
  474. this.courseTypeId = this.depthCopy(this.testType)
  475. this.courseName = this.depthCopy(this.title)
  476. this.isTeacherSee = this.depthCopy(this.see)
  477. this.manualJson = this.depthCopy(this.cJson)
  478. this.typeCheck = this.depthCopy(this.typeid)
  479. this.courseText = this.depthCopy(this.brief)
  480. this.sJuri = this.depthCopy(this.juri)
  481. this.selectedDate = this.depthCopy(this.overDate)
  482. this.checkList = this.depthCopy(this.juriList)
  483. this.teaType = this.depthCopy(this.typeInfo)
  484. this.$forceUpdate()
  485. // this.selectAllType();
  486. this.selectType();
  487. this.getClass2();
  488. await this.getTestWorkTeacherCount()
  489. console.log('getTestWorkTeacherCount')
  490. }
  491. }
  492. </script>
  493. <style scoped>
  494. .rightBox {
  495. width: calc(100%);
  496. background: #F0F2F5;
  497. overflow: auto;
  498. height: calc(100%);
  499. margin: 0 auto;
  500. position: relative;
  501. box-sizing: border-box;
  502. overflow: hidden;
  503. }
  504. .whiteBg {
  505. /* background: #fff; */
  506. border-radius: 10px;
  507. }
  508. .basic_box {
  509. margin: 0 auto;
  510. position: relative;
  511. padding: 0 20px 0 20px;
  512. }
  513. .big_box {
  514. /* margin-top: 20px; */
  515. display: flex;
  516. justify-content: space-between;
  517. /* border-bottom: 1px solid #E0E2ED; */
  518. }
  519. .left_first {
  520. display: flex;
  521. flex-direction: column;
  522. flex-wrap: nowrap;
  523. width: calc(100%);
  524. padding: 0;
  525. box-sizing: border-box;
  526. background: #fff;
  527. border-radius: 5px;
  528. }
  529. .course_input_box {
  530. display: flex;
  531. margin-right: 20px;
  532. width: 100%;
  533. align-items: center;
  534. position: relative;
  535. }
  536. .course_input_box>.binfo_input {
  537. width: calc(100% - 290px);
  538. margin: 0 10px;
  539. }
  540. .bb_courseIcon {
  541. width: 57px;
  542. height: 45px;
  543. background: #F0F4FA;
  544. border-radius: 5px 0px 0px 5px;
  545. display: flex;
  546. align-items: center;
  547. justify-content: center;
  548. border-right: 1.5px solid rgb(202, 209, 220);
  549. box-sizing: border-box;
  550. position: absolute;
  551. left: 1.5px
  552. }
  553. .bb_courseIcon>img {
  554. width: 25px;
  555. height: auto
  556. }
  557. .all_choose {
  558. display: flex;
  559. flex-direction: row;
  560. align-items: flex-start;
  561. width: 100%;
  562. }
  563. .all_choose+.all_choose {
  564. /* margin-top: 10px */
  565. }
  566. .all_choose>span {
  567. min-width: fit-content;
  568. display: block;
  569. white-space: nowrap;
  570. overflow: hidden;
  571. text-overflow: ellipsis;
  572. margin-right: 20px;
  573. font-weight: bold;
  574. font-size: 14px;
  575. }
  576. .all_choose>>>.el-checkbox-group {
  577. display: flex;
  578. flex-direction: row;
  579. width: 100%;
  580. flex-wrap: wrap;
  581. align-content: center;
  582. justify-content: flex-start;
  583. align-items: center;
  584. margin-top: 3px;
  585. }
  586. .all_choose>.el-checkbox-group>>>.el-checkbox {
  587. margin-bottom: 10px;
  588. display: flex;
  589. flex-direction: row;
  590. align-items: center;
  591. margin-right: 10px;
  592. }
  593. .all_choose>.el-checkbox-group>.el-checkbox>>>.el-checkbox__label {
  594. min-width: 80px;
  595. overflow: hidden;
  596. width: 80px;
  597. text-overflow: ellipsis;
  598. white-space: nowrap;
  599. }
  600. .all_choose>.el-checkbox-group>.el-checkbox>>>.el-checkbox__label:hover {
  601. width: auto;
  602. }
  603. .choose>div:nth-child(3)>span {
  604. /* letter-spacing: 0 !important; */
  605. }
  606. .choose {
  607. display: flex;
  608. flex-direction: column;
  609. flex-wrap: nowrap;
  610. height: 100%;
  611. justify-content: space-evenly;
  612. align-items: flex-start;
  613. }
  614. .both {
  615. display: flex;
  616. flex-direction: row;
  617. flex-wrap: wrap;
  618. width: 100%;
  619. align-items: center;
  620. justify-content: flex-start;
  621. margin: 15px 0;
  622. }
  623. .binfo_input {
  624. width: 100%;
  625. margin: 0;
  626. padding: 12px 14px;
  627. display: block;
  628. min-width: 0;
  629. outline: none;
  630. box-sizing: border-box;
  631. background: none;
  632. border: none;
  633. border-radius: 4px;
  634. background: #fff;
  635. font-size: 16px;
  636. resize: none;
  637. font-family: 'Microsoft YaHei';
  638. min-height: 48px;
  639. border: 1.5px solid #CAD1DC;
  640. }
  641. .c_info_title {
  642. padding: 15px 0 15px 0;
  643. font-size: 14px;
  644. font-weight: bold;
  645. margin: 0 0 0 20px;
  646. box-sizing: border-box;
  647. display: flex;
  648. align-items: center;
  649. line-height: 20px;
  650. }
  651. /* .c_info_title::before {
  652. content: '';
  653. display: block;
  654. width: 3px;
  655. height: 20px;
  656. background: #0061FF;
  657. border-radius: 3px;
  658. margin: 0 5px 0 0;
  659. } */
  660. .c_info_box {
  661. width: 100%;
  662. }
  663. .c_info_tab {
  664. display: flex;
  665. align-items: center;
  666. justify-content: center;
  667. }
  668. .c_info_tab>span {
  669. cursor: pointer;
  670. padding-bottom: 10px;
  671. font-weight: bold;
  672. }
  673. .c_info_tab>span+span {
  674. margin-left: 20px;
  675. }
  676. .c_info_tab>.active {
  677. color: #3e88f4;
  678. border-bottom: 2px solid #2f80f3;
  679. }
  680. .c_info_tab_box {
  681. overflow: hidden;
  682. }
  683. .skip_btn {
  684. position: absolute;
  685. right: 20px;
  686. }
  687. .typeBox {
  688. margin-top: 20px;
  689. }
  690. .typeBox>span {
  691. font-weight: bold;
  692. font-size: 14px;
  693. }
  694. .binfo_textarea {
  695. border: 1.5px solid #CAD1DC;
  696. font-size: 16px;
  697. resize: none;
  698. /* background: #f6f6f6; */
  699. font-family: 'Microsoft YaHei';
  700. }
  701. .checkJuri {
  702. width: 220px;
  703. height: 40px;
  704. border: 1px solid #DCDFE6;
  705. padding: 0 15px;
  706. display: flex;
  707. align-items: center;
  708. box-sizing: border-box;
  709. margin-left: 5px;
  710. border-radius: 4px;
  711. overflow: hidden;
  712. text-overflow: ellipsis;
  713. white-space: nowrap;
  714. cursor: pointer;
  715. font-size: 14px;
  716. color: #464646;
  717. }
  718. .dialog_diy>>>.el-dialog {
  719. /* height: 100%; */
  720. /* margin: 15vh auto !important; */
  721. }
  722. .dialog_diy>>>.el-dialog__header {
  723. background: #454545 !important;
  724. padding: 15px 20px;
  725. }
  726. .dialog_diy>>>.el-dialog__body {
  727. /* height: calc(100% - 54px); */
  728. box-sizing: border-box;
  729. /* padding: 0px; */
  730. }
  731. .dialog_diy>>>.el-dialog__title {
  732. color: #fff;
  733. }
  734. .dialog_diy>>>.el-dialog__headerbtn {
  735. top: 19px;
  736. }
  737. .dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
  738. color: #fff;
  739. }
  740. .dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
  741. color: #fff;
  742. }
  743. .dialog_diy>>>.el-dialog__body,
  744. .dialog_diy>>>.el-dialog__footer {
  745. /* background: #e8ebf1; */
  746. overflow: hidden;
  747. }
  748. .people_name>>>.el-checkbox {
  749. width: 100%;
  750. display: flex;
  751. align-items: center;
  752. margin-bottom: 10px;
  753. }
  754. .people_name>>>.el-checkbox__label {
  755. text-overflow: ellipsis;
  756. overflow: hidden;
  757. width: calc(100%);
  758. }
  759. .people_name2>>>.el-checkbox__label {
  760. width: calc(100% - 130px);
  761. }
  762. </style>