index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <template>
  2. <div>
  3. <div class="d-flex flex-between pt7">
  4. <div>
  5. <el-button type="primary" @click="addData">添加</el-button>
  6. <el-button type="primary" @click="exportAll">导出</el-button>
  7. </div>
  8. <el-form :inline="true">
  9. <el-form-item label="">
  10. <el-select
  11. v-model="firstForm.grade"
  12. placeholder="请选择年级"
  13. clearable
  14. @change="handleChange"
  15. >
  16. <el-option
  17. v-for="item in gradeList"
  18. :key="item.grade_id"
  19. :label="item.grade_name"
  20. :value="item.grade_id"
  21. ></el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item label="">
  25. <el-select
  26. v-model="firstForm.class"
  27. placeholder="请选择班级"
  28. clearable
  29. @change="getListData"
  30. >
  31. <el-option
  32. v-for="item in classList"
  33. :key="item.class_id"
  34. :label="item.class_name"
  35. :value="item.class_num"
  36. ></el-option>
  37. </el-select>
  38. </el-form-item>
  39. <el-form-item class="mr10" label="">
  40. <el-date-picker
  41. v-model="firstForm.time"
  42. @change="getTime"
  43. type="daterange"
  44. value-format="yyyy-MM-dd"
  45. range-separator="至"
  46. start-placeholder="开始日期"
  47. end-placeholder="结束日期"
  48. >
  49. </el-date-picker>
  50. </el-form-item>
  51. <!-- <el-form-item class="mr10" prop="" label="分值:">
  52. <el-input
  53. placeholder="输入分值"
  54. clearable
  55. @clear="getListData"
  56. ></el-input
  57. ></el-form-item> -->
  58. <el-button type="primary" class="ml5" @click="getListData"
  59. >搜索</el-button
  60. >
  61. <!-- <el-button type="primary" class="ml5" @click="clearData">清空</el-button> -->
  62. </el-form>
  63. </div>
  64. <el-table
  65. @selection-change="handleSelectionChange"
  66. :data="tableData"
  67. tooltip-effect="dark"
  68. v-loading="loading"
  69. style="width: 100%"
  70. >
  71. <el-table-column type="selection" align="center" width="55">
  72. </el-table-column>
  73. <el-table-column label="年级" prop="grade_name" width="">
  74. </el-table-column>
  75. <el-table-column label="班级" prop="class_name" width="">
  76. </el-table-column>
  77. <el-table-column label="时间" prop="xdbs_sj" width="200">
  78. </el-table-column>
  79. <el-table-column
  80. label="常规分值"
  81. prop="xdbs_cgxmfz"
  82. align="center"
  83. width=""
  84. >
  85. </el-table-column>
  86. <el-table-column
  87. label="实际分值"
  88. prop="xdbs_cgsjdf"
  89. align="center"
  90. width=""
  91. >
  92. </el-table-column>
  93. <el-table-column label="操作">
  94. <template slot-scope="scope">
  95. <el-button type="text" @click="rate(scope.row)">评分 </el-button>
  96. <el-button type="text" @click="detailData(scope.row)"
  97. >查看分值详情
  98. </el-button>
  99. </template>
  100. </el-table-column>
  101. </el-table>
  102. <footer
  103. class="flex-item-none"
  104. style="display: flex; justify-content: flex-end; margin-top: 30px"
  105. >
  106. <el-pagination
  107. background
  108. layout="total,prev, pager, next"
  109. :page-size="limit"
  110. :total="total"
  111. :current-page.sync="cur_page"
  112. @current-change="handleCurrentChange"
  113. ></el-pagination>
  114. </footer>
  115. <el-dialog :visible.sync="dialogFormVisible" width="700px">
  116. <h2 class="text-center mb45">常规分值详情</h2>
  117. <el-form ref="form" :model="dialogForm" label-width="0px">
  118. <table class="form-table" cellpadding="0" cellspacing="0">
  119. <tr>
  120. <td>
  121. <h3 class="font-size-14">年级班级</h3>
  122. </td>
  123. <td>
  124. <div class="font-size-14">
  125. {{ detailInfo.class_name }}
  126. </div>
  127. </td>
  128. <td>
  129. <h3 class="font-size-14">时间</h3>
  130. </td>
  131. <td>
  132. <div class="font-size-14">{{ detailInfo.xdbs_sj }}</div>
  133. </td>
  134. </tr>
  135. <tr>
  136. <td>
  137. <h3 class="font-size-14">常规分值</h3>
  138. </td>
  139. <td>
  140. <div class="font-size-14">{{ detailInfo.xdbs_cgxmfz }}</div>
  141. </td>
  142. <td>
  143. <h3 class="font-size-14">实际分值</h3>
  144. </td>
  145. <td>
  146. <div class="font-size-14">{{ detailInfo.xdbs_cgsjdf }}</div>
  147. </td>
  148. </tr>
  149. </table>
  150. <table class="form-table-two mb90" cellpadding="0" cellspacing="0">
  151. <!-- <tr v-for="item in tablejlData">
  152. <td :rowspan="item?item.length+1:1">
  153. <h3 class="font-size-14">加分/扣分</h3>
  154. </td>
  155. <td>
  156. <h3 class="font-size-14">{{ item.xdbs_jcxm }}</h3>
  157. </td>
  158. <td>
  159. <h3 class="font-size-14">{{item.xdbsp_fz}}</h3>
  160. </td>
  161. </tr> -->
  162. <tr v-for="(item, index) in totalTableData">
  163. <td v-if="index == 0" :rowspan="item.length + 1">
  164. <h3 class="font-size-14">加分/扣分</h3>
  165. </td>
  166. <td v-for="value in item">
  167. <h3 class="font-size-14">{{ value }}</h3>
  168. </td>
  169. </tr>
  170. </table>
  171. <h2 class="text-center mb45">扣分关联人</h2>
  172. <table class="form-table-three" cellpadding="0" cellspacing="0">
  173. <tr>
  174. <td>
  175. <h3 class="font-size-14">扣分项</h3>
  176. </td>
  177. <td>
  178. <h3 class="font-size-14">分值</h3>
  179. </td>
  180. <td>
  181. <h3 class="font-size-14">关联人</h3>
  182. </td>
  183. </tr>
  184. <tr
  185. v-for="item in tablejlData"
  186. v-show="item.xdbsp_lx_option_k == '2'"
  187. >
  188. <td>
  189. <h3 class="font-size-14">{{ item.xdbs_jcxm }}</h3>
  190. </td>
  191. <td>
  192. <h3 class="font-size-14">{{ item.xdbsp_fz }}</h3>
  193. </td>
  194. <td>
  195. <h3 class="font-size-14">{{ item.xdbb_glr }}</h3>
  196. </td>
  197. </tr>
  198. </table>
  199. </el-form>
  200. <div slot="footer" class="text-center">
  201. <el-button @click="formCancel">取 消</el-button>
  202. <el-button type="primary" @click="formCancel">确定</el-button>
  203. </div>
  204. </el-dialog>
  205. <el-dialog
  206. :title="title"
  207. :visible.sync="rateDialogFormVisible"
  208. append-to-body
  209. width="700px"
  210. >
  211. <el-form
  212. :inline="true"
  213. :model="dialogForm"
  214. ref="dialogForm"
  215. :rules="rules"
  216. label-width="100px"
  217. >
  218. <h4 class="mb20 ml20 font-size-12 color-2">
  219. 每个班级总分为100分(卫生50分+常规50分)
  220. </h4>
  221. <el-form-item class="mr75" label="评分项" prop="pfx">
  222. <el-input v-model="dialogForm.pfx"></el-input>
  223. </el-form-item>
  224. <el-form-item class="mr75" label="类型" prop="lx">
  225. <el-radio-group v-model="dialogForm.lx">
  226. <el-radio :label="1">加分</el-radio>
  227. <el-radio :label="2">扣分</el-radio>
  228. </el-radio-group>
  229. </el-form-item>
  230. <el-form-item class="mr75" label="分值" prop="fz">
  231. <el-input v-model="dialogForm.fz"></el-input>
  232. </el-form-item>
  233. <el-form-item class="mr75" label="关联学生" prop="glxs">
  234. <el-select v-model="dialogForm.glxs" clearable filterable>
  235. <el-option
  236. v-for="item in studentList"
  237. :key="item.xdx_id"
  238. :label="item.xdx_xsxm"
  239. :value="item.xdx_xsxm"
  240. >
  241. </el-option>
  242. </el-select>
  243. </el-form-item>
  244. <!-- <el-form-item label="所属任务" prop="surw">
  245. <el-select
  246. v-model="dialogForm.surw"
  247. style="width: 100%"
  248. placeholder="请选择任务名称"
  249. >
  250. <el-option
  251. v-for="item in rwList"
  252. :key="item.ddrw_id"
  253. :label="item.ddrw_name"
  254. :value="{ value: item.ddrw_id, label: item.ddrw_name }"
  255. ></el-option>
  256. </el-select>
  257. </el-form-item> -->
  258. </el-form>
  259. <div slot="footer" class="text-center">
  260. <el-button @click="formCancel">取 消</el-button>
  261. <el-button type="primary" @click="formSubmit('dialogForm')"
  262. >确 定</el-button
  263. >
  264. </div>
  265. </el-dialog>
  266. <el-dialog
  267. title="添加"
  268. :visible.sync="addDialogFormVisible"
  269. append-to-body
  270. width="700px"
  271. >
  272. <el-form
  273. :inline="true"
  274. :model="addDialogForm"
  275. ref="addDialogForm"
  276. :rules="addRules"
  277. label-width="100px"
  278. >
  279. <el-form-item class="mr75" label="年级" prop="grade_id">
  280. <el-select v-model="addDialogForm.grade_id" @change="handleChange">
  281. <el-option
  282. v-for="item in gradeList"
  283. :key="item.grade_id"
  284. :label="item.grade_name"
  285. :value="item.grade_id"
  286. >
  287. </el-option>
  288. </el-select>
  289. </el-form-item>
  290. <el-form-item class="mr75" label="班级" prop="class_id">
  291. <el-select
  292. v-model="addDialogForm.class_id"
  293. @change="handleClassChange"
  294. clearable
  295. filterable
  296. >
  297. <el-option
  298. v-for="item in classList"
  299. :key="item.class_id"
  300. :label="item.class_name"
  301. :value="item.class_num"
  302. >
  303. </el-option>
  304. </el-select>
  305. </el-form-item>
  306. <el-form-item class="mr75" label="时间" prop="xdbs_sj">
  307. <el-date-picker
  308. v-model="addDialogForm.xdbs_sj"
  309. placeholder="选择日期"
  310. type="date"
  311. value-format="yyyy-MM-dd"
  312. >
  313. </el-date-picker>
  314. </el-form-item>
  315. <el-form-item class="mr75" label="常规分值" prop="xdbs_cgxmfz">
  316. <el-input v-model="addDialogForm.xdbs_cgxmfz"></el-input>
  317. </el-form-item>
  318. <el-form-item class="mr75" label="实际分值" prop="xdbs_cgsjdf">
  319. <el-input v-model="addDialogForm.xdbs_cgsjdf"></el-input>
  320. </el-form-item>
  321. </el-form>
  322. <div slot="footer" class="text-center">
  323. <el-button @click="addDialogFormVisible = false">取 消</el-button>
  324. <el-button type="primary" @click="addFormSubmit('addDialogForm')"
  325. >确 定</el-button
  326. >
  327. </div>
  328. </el-dialog>
  329. </div>
  330. </template>
  331. <script>
  332. import {
  333. cggl_list,
  334. cggl_export,
  335. cggl_detail,
  336. cggl_add,
  337. grade_search,
  338. class_search,
  339. fzxq_detail,
  340. fzxq_edit,
  341. fzxq_add,
  342. pf_detail,
  343. xjk_list,
  344. fzxq_list,
  345. } from "./api";
  346. import { useUserStore } from "@/stores/user";
  347. const { token } = useUserStore();
  348. export default {
  349. name: "index",
  350. data() {
  351. return {
  352. limit: 10,
  353. total: 12,
  354. cur_page: 1,
  355. keyword: "",
  356. grade_name: "",
  357. class_name: "",
  358. xdbs_sj: "",
  359. grade_id: "",
  360. class_id: "",
  361. tableData: [],
  362. gradeList: [],
  363. detailInfo: {},
  364. classList: [],
  365. classList: [],
  366. firstForm: {
  367. grade: "",
  368. class: "",
  369. time: [],
  370. },
  371. loading: false,
  372. dialogFormVisible: false,
  373. rateDialogFormVisible: false,
  374. addDialogFormVisible: false,
  375. rules: {
  376. pfx: [{ required: true, message: "请输入评分项", trigger: "blur" }],
  377. lx: [{ required: true, message: "请选择类型", trigger: "blur" }],
  378. fz: [{ required: true, message: "请输入分值", trigger: "blur" }],
  379. },
  380. title: "",
  381. id: "",
  382. dialogForm: {
  383. pfx: "",
  384. lx: "",
  385. fz: "",
  386. glxs: "",
  387. grade_id: "",
  388. class_id: "",
  389. },
  390. studentList: [],
  391. detailPfInfo: {},
  392. addDialogForm: {
  393. grade_id: "",
  394. grade_name: "",
  395. class_name: "",
  396. class_id: "",
  397. xdbs_sj: "",
  398. xdbs_cgxmfz: "",
  399. xdbs_cgsjdf: "",
  400. },
  401. addRules: {
  402. grade_id: [{ required: true, message: "请输入年级", trigger: "blur" }],
  403. class_id: [{ required: true, message: "请选择班级", trigger: "blur" }],
  404. xdbs_sj: [{ required: true, message: "请选择时间", trigger: "blur" }],
  405. xdbs_cgxmfz: [
  406. { required: true, message: "请输入常规分值", trigger: "blur" },
  407. ],
  408. xdbs_cgsjdf: [
  409. { required: true, message: "请输入实际分值", trigger: "blur" },
  410. ],
  411. },
  412. tablejlData: [],
  413. totalTableData: [],
  414. multipleSelection1: [],
  415. };
  416. },
  417. methods: {
  418. handleCurrentChange(val) {
  419. this.cur_page = val;
  420. this.getListData();
  421. },
  422. getListData() {
  423. this.loading = true;
  424. let data = {
  425. page: this.cur_page,
  426. limit: this.limit,
  427. grade_id: this.firstForm.grade,
  428. class_id: this.firstForm.class,
  429. xdbs_jclx: "2",
  430. xdbs_sj: this.xdbs_sj,
  431. };
  432. if (this.firstForm.time.length > 0) {
  433. data.xdbs_sj = this.firstForm.time[0] + " - " + this.firstForm.time[1];
  434. } else {
  435. data.xdbs_sj = "";
  436. }
  437. cggl_list(data).then((res) => {
  438. this.loading = false;
  439. this.tableData = res.data.page_data;
  440. this.cur_page = Number(res.data.page_now);
  441. this.total = Number(res.data.total_rows);
  442. });
  443. },
  444. addData() {
  445. this.addDialogForm = {
  446. grade_id: "",
  447. grade_name: "",
  448. class_name: "",
  449. class_id: "",
  450. xdbs_sj: "",
  451. xdbs_cgxmfz: "",
  452. xdbs_cgsjdf: "",
  453. };
  454. this.isEdit = false;
  455. this.addDialogFormVisible = true;
  456. },
  457. getTime() {
  458. if (!this.firstForm.time) {
  459. this.firstForm.time = [];
  460. }
  461. this.cur_page = 1;
  462. this.getListData();
  463. },
  464. detailData(item) {
  465. this.title = "信息详情";
  466. this.dialogFormVisible = true;
  467. let data = {
  468. xdbb_id: item.xdbb_id,
  469. };
  470. cggl_detail(data).then((res) => {
  471. if (res.code == 1) {
  472. this.detailInfo = res.data.one_info;
  473. }
  474. let obj = {
  475. grade_id: item.grade_id,
  476. class_id: item.class_id,
  477. };
  478. fzxq_list(obj).then((res) => {
  479. this.loading = false;
  480. this.tablejlData = res.data.page_data;
  481. let arr = [];
  482. this.tablejlData.map((item, index) => {
  483. if (index % 4 == 0) {
  484. arr[arr.length] = [item];
  485. } else {
  486. arr[arr.length - 1].push(item);
  487. }
  488. });
  489. console.log(arr);
  490. this.totalTableData = [];
  491. arr.map((children) => {
  492. let arr = [];
  493. children.map((item) => {
  494. arr.push(item.xdbs_jcxm);
  495. });
  496. this.totalTableData.push(arr);
  497. let arr1 = [];
  498. children.map((item) => {
  499. arr1.push(item.xdbsp_fz);
  500. });
  501. this.totalTableData.push(arr1);
  502. });
  503. console.log(this.totalTableData);
  504. });
  505. });
  506. },
  507. rate(item) {
  508. this.title = "评分";
  509. this.rateDialogFormVisible = true;
  510. this.id = item.xdbb_id;
  511. this.dialogForm.pfx = item.xdbs_jcxm;
  512. this.dialogForm.lx = item.xdbsp_lx;
  513. this.dialogForm.fz = item.xdbsp_fz;
  514. this.dialogForm.glxs = item.xdbb_glr;
  515. this.dialogForm.grade_id = item.grade_id;
  516. this.dialogForm.class_id = item.class_id;
  517. },
  518. addFormSubmit(formName) {
  519. this.$refs[formName].validate((valid) => {
  520. if (valid) {
  521. let data = {
  522. grade_id: this.addDialogForm.grade_id,
  523. grade_name: this.addDialogForm.grade_name,
  524. class_name: this.addDialogForm.class_name,
  525. class_id: this.addDialogForm.class_id,
  526. xdbs_sj: this.addDialogForm.xdbs_sj,
  527. xdbs_cgxmfz: this.addDialogForm.xdbs_cgxmfz,
  528. xdbs_cgsjdf: this.addDialogForm.xdbs_cgsjdf,
  529. };
  530. console.log(data, 333);
  531. if (!this.isEdit) {
  532. cggl_add(data).then((res) => {
  533. if (res.code == 1) {
  534. this.$message({
  535. message: "添加成功!",
  536. type: "success",
  537. });
  538. this.addDialogFormVisible = false;
  539. this.getListData();
  540. } else {
  541. this.$message({
  542. message: res.msg,
  543. type: "error",
  544. });
  545. }
  546. });
  547. }
  548. }
  549. });
  550. },
  551. formSubmit(formName) {
  552. this.$refs[formName].validate((valid) => {
  553. if (valid) {
  554. let data = {
  555. xdbs_jcxm: this.dialogForm.pfx,
  556. xdbsp_lx: this.dialogForm.lx,
  557. xdbsp_fz: this.dialogForm.fz,
  558. xdbb_glr: this.dialogForm.glxs,
  559. grade_id: this.dialogForm.grade_id,
  560. class_id: this.dialogForm.class_id,
  561. };
  562. fzxq_add(data).then((res) => {
  563. if (res.code == 1) {
  564. this.$message({
  565. message: "评分成功!",
  566. type: "success",
  567. });
  568. this.rateDialogFormVisible = false;
  569. this.getListData();
  570. } else {
  571. this.$message({
  572. message: res.msg,
  573. type: "error",
  574. });
  575. }
  576. });
  577. }
  578. });
  579. },
  580. formCancel() {
  581. this.dialogFormVisible = false;
  582. this.rateDialogFormVisible = false;
  583. },
  584. handleSelectionChange(val) {
  585. this.multipleSelection1 = [];
  586. for (let i in val) {
  587. this.multipleSelection1.push(val[i].xdbb_id);
  588. console.log(this.multipleSelection1, 123);
  589. }
  590. },
  591. exportAll() {
  592. let time = "";
  593. if (this.firstForm.time.length > 0) {
  594. time = this.firstForm.time[0] + " - " + this.firstForm.time[1];
  595. } else {
  596. time = "";
  597. }
  598. let link =
  599. window.globalVariables.api +
  600. "/xddy/dygl_bjzzpb_bjpfgl/index?api=xls&page=1&limit=10000&xdbs_jclx=2&token=" +
  601. token +
  602. "&xdbb_id=" +
  603. this.multipleSelection1.join(",");
  604. window.open(link, "_blank");
  605. },
  606. studentData() {
  607. this.loading = true;
  608. let data = {};
  609. xjk_list(data).then((res) => {
  610. this.loading = false;
  611. this.studentList = res.data.page_data;
  612. console.log(this.studentList, 1344);
  613. });
  614. },
  615. gradeListData() {
  616. this.loading = true;
  617. let data = {};
  618. grade_search(data).then((res) => {
  619. this.loading = false;
  620. this.gradeList = res.data.page_data;
  621. });
  622. },
  623. handleChange(e) {
  624. console.log(e, 555555555);
  625. this.firstForm.class = "";
  626. this.addDialogForm.class_id = "";
  627. this.gradeList.map((item) => {
  628. if (item.grade_id == this.addDialogForm.grade_id) {
  629. this.addDialogForm.grade_name = item.grade_name;
  630. }
  631. });
  632. let data = { limit: "999", grade_id: e };
  633. console.log(data, 111111111111111);
  634. class_search(data).then((res) => {
  635. this.classList = res.data.page_data;
  636. });
  637. if (this.addDialogFormVisible != true) {
  638. this.getListData();
  639. }
  640. },
  641. handleClassChange() {
  642. this.classList.map((item) => {
  643. if (item.class_num == this.addDialogForm.class_id) {
  644. this.addDialogForm.class_name = item.class_name;
  645. }
  646. });
  647. },
  648. clearData() {
  649. this.firstForm.grade = "";
  650. this.firstForm.class = "";
  651. this.firstForm.time = "";
  652. },
  653. },
  654. mounted() {
  655. this.getListData();
  656. this.gradeListData();
  657. this.studentData();
  658. },
  659. };
  660. </script>
  661. <style lang="scss" scoped>
  662. .form-table {
  663. width: 100%;
  664. border-collapse: collapse;
  665. padding: auto;
  666. td {
  667. height: 30px;
  668. line-height: 30px;
  669. padding: 4px 4px 5px 5px;
  670. border: 1px solid #dbdbdb;
  671. }
  672. td:nth-child(odd) {
  673. width: 20%;
  674. background-color: #f5f7fe;
  675. }
  676. td:nth-child(even) {
  677. width: 30%;
  678. background-color: #fff;
  679. }
  680. }
  681. .form-table-two {
  682. width: 100%;
  683. border-collapse: collapse;
  684. padding: auto;
  685. td {
  686. width: 20%;
  687. height: 30px;
  688. line-height: 30px;
  689. padding: 4px 4px 5px 5px;
  690. border: 1px solid #dbdbdb;
  691. border-top: none;
  692. }
  693. tr:nth-child(odd) {
  694. background-color: #f5f7fe;
  695. }
  696. }
  697. .form-table-three {
  698. width: 80%;
  699. border-collapse: collapse;
  700. padding: auto;
  701. margin: 0 auto;
  702. td {
  703. width: 33.3%;
  704. height: 30px;
  705. line-height: 30px;
  706. padding: 4px 4px 5px 5px;
  707. border: 1px solid #dbdbdb;
  708. }
  709. tr:first-child {
  710. background-color: #f5f7fe;
  711. }
  712. }
  713. ::v-deep .el-input {
  714. width: 160px;
  715. }
  716. ::v-deep .el-date-editor.el-input,
  717. .el-date-editor.el-input__inner {
  718. width: 300px;
  719. }
  720. ::v-deep .el-date-editor .el-range-separator {
  721. width: 8%;
  722. }
  723. </style>>