houseList.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853
  1. <template>
  2. <div class="content-box">
  3. <div class="left">
  4. <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
  5. <span class="cameratxt">民宿管理/房源信息</span>
  6. </div>
  7. <div class="middle">
  8. <div class="filter">
  9. <div class="condition">
  10. <span>日期 : </span>
  11. <el-date-picker
  12. v-model="searchInput.createTime"
  13. type="date"
  14. format="YYYY-MM-DD"
  15. value-format="YYYY-MM-DD"
  16. :prefix-icon="Calendar"
  17. placeholder="请选择日期"
  18. />
  19. </div>
  20. <div class="condition">
  21. <span>关键字 : </span>
  22. <el-input
  23. clearable
  24. @clear="searchBtn"
  25. v-model="searchInput.account"
  26. class="w-50 m-2"
  27. placeholder="请输入房型"
  28. style="width: 150px"
  29. />
  30. </div>
  31. <el-button
  32. style="margin-left: 20px"
  33. color="rgba(9, 101, 98, 1)"
  34. type="primary"
  35. class="search"
  36. @click="searchBtn"
  37. ><el-icon><Search /></el-icon> <span>查询</span></el-button
  38. >
  39. </div>
  40. <!-- 按钮列表 -->
  41. <!-- <div class="gongneng">
  42. <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="addlist"
  43. ><el-icon><CirclePlus /></el-icon><span>新增账号</span></el-button
  44. >
  45. </div> -->
  46. </div>
  47. <div class="footer" v-loading="loading">
  48. <el-table
  49. :row-class-name="tableRowClassName"
  50. :data="tableData.list"
  51. @selection-change="handleSelectionChange"
  52. style="width: 100%"
  53. :header-cell-style="{
  54. background: 'rgba(240, 243, 247, 1)',
  55. height: '50px',
  56. border: 0,
  57. }"
  58. >
  59. <!-- <el-table-column align="center" type="selection" width="80" /> -->
  60. <!-- <el-table-column
  61. width="150"
  62. align="center"
  63. label="序号"
  64. type="index"
  65. index="1"
  66. /> -->
  67. <el-table-column align="center" prop="orderStartTime" label="日期" />
  68. <el-table-column align="center" prop="houseName" label="房型" />
  69. <el-table-column align="center" prop="houseLockNum" label="锁定房间" />
  70. <el-table-column align="center" prop="houseDueNum" label="预定房间" />
  71. <el-table-column
  72. align="center"
  73. prop="houseResidueNum"
  74. label="剩余房数"
  75. />
  76. <el-table-column align="center" prop="houseNum" label="总房数" />
  77. <!-- <el-table-column align="center" label="操作" width="220">
  78. <template #default="scope">
  79. <div class="options">
  80. <div class="reset" @click="reset(scope.row)">密码重置</div>
  81. <div class="look" @click="edit(scope.row)">修改</div>
  82. <el-popconfirm
  83. width="220"
  84. confirm-button-text="确认"
  85. cancel-button-text="取消"
  86. :icon="InfoFilled"
  87. icon-color="#f89626"
  88. title="是否删除此账号?"
  89. @confirm="del(scope.row)"
  90. @cancel="cancelEvent"
  91. >
  92. <template #reference>
  93. <div class="del">删除</div>
  94. </template>
  95. </el-popconfirm>
  96. </div>
  97. </template>
  98. </el-table-column> -->
  99. </el-table>
  100. <!-- 添加车辆弹窗 -->
  101. <!-- <el-dialog
  102. class="addStaff"
  103. v-model="addDialogVisible"
  104. :close-on-click-modal="false"
  105. :close-on-press-escape="false"
  106. :title="dialongTitle"
  107. align-center
  108. width="609"
  109. :before-close="cancelAdd"
  110. >
  111. <el-form
  112. ref="ruleFormRef"
  113. :model="ruleForm"
  114. :rules="rules"
  115. label-width="100px"
  116. class="demo-ruleForm"
  117. :size="formSize"
  118. label-position="left"
  119. status-icon
  120. >
  121. <el-form-item label="用户名 :" prop="name">
  122. <el-input
  123. v-model="ruleForm.name"
  124. placeholder="请输入用户名"
  125. clearable
  126. />
  127. </el-form-item>
  128. <el-form-item label="姓名 :" prop="name">
  129. <el-input
  130. v-model="ruleForm.name"
  131. placeholder="请输入姓名"
  132. clearable
  133. />
  134. </el-form-item>
  135. <el-form-item label="手机号码 :">
  136. <el-input
  137. v-model="ruleForm.phone"
  138. placeholder="请输入手机号码"
  139. clearable
  140. />
  141. </el-form-item>
  142. <el-form-item label="密码 :" prop="post">
  143. <el-input
  144. v-model="ruleForm.phone"
  145. placeholder="请输入密码"
  146. clearable
  147. />
  148. </el-form-item>
  149. <el-form-item label="确认密码 :" prop="name">
  150. <el-input
  151. v-model="ruleForm.name"
  152. placeholder="请再一次输入密码"
  153. clearable
  154. />
  155. </el-form-item>
  156. <el-form-item label="角色 :" prop="post">
  157. <el-checkbox-group v-model="checkList">
  158. <el-checkbox label="超级管理员" />
  159. <el-checkbox label="管理员" />
  160. </el-checkbox-group>
  161. </el-form-item>
  162. <el-form-item label="简介 :" prop="cardnumber">
  163. <el-input
  164. v-model="ruleForm.phone"
  165. :rows="3"
  166. type="textarea"
  167. placeholder="请输入民宿简介信息"
  168. />
  169. </el-form-item>
  170. <el-form-item class="options">
  171. <el-button
  172. color="rgba(9, 101, 98, 1)"
  173. class="queding"
  174. type="primary"
  175. @click="submitAdd(ruleFormRef)"
  176. >
  177. 确定
  178. </el-button>
  179. <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
  180. </el-form-item>
  181. </el-form>
  182. </el-dialog> -->
  183. </div>
  184. <!-- 分页组件 -->
  185. <el-pagination
  186. background
  187. :current-page="currentPage"
  188. :page-size="pageSize"
  189. layout="total, prev, pager, next, jumper, slot"
  190. :total="total"
  191. @update:current-page="handleCurrentChange"
  192. />
  193. </div>
  194. </template>
  195. <script setup>
  196. import {
  197. ref,
  198. reactive,
  199. nextTick,
  200. watch,
  201. onBeforeMount,
  202. onUnmounted,
  203. } from "vue";
  204. import { useRouter } from "vue-router";
  205. import { ElMessage, ElMessageBox } from "element-plus";
  206. import { Calendar } from "@element-plus/icons-vue";
  207. import { dayjs } from "element-plus";
  208. import lodash, { reduce } from "lodash";
  209. import axios from "axios";
  210. import { useStore } from "vuex";
  211. const store = useStore();
  212. const router = useRouter();
  213. // 表格数据
  214. const loading = ref(false);
  215. const tableData = reactive({
  216. list: [
  217. // {
  218. // date: "2023-08-01",
  219. // house: "双人房",
  220. // house1: "5",
  221. // house2: 3,
  222. // house3: "12",
  223. // house4: 21,
  224. // },
  225. // {
  226. // date: "2023-08-01",
  227. // house: "双人房",
  228. // house1: "5",
  229. // house2: 3,
  230. // house3: "12",
  231. // house4: 21,
  232. // },
  233. // {
  234. // date: "2023-08-01",
  235. // house: "双人房",
  236. // house1: "5",
  237. // house2: 3,
  238. // house3: "12",
  239. // house4: 21,
  240. // },
  241. // {
  242. // date: "2023-08-01",
  243. // house: "双人房",
  244. // house1: "5",
  245. // house2: 3,
  246. // house3: "12",
  247. // house4: 21,
  248. // },
  249. // {
  250. // date: "2023-08-01",
  251. // house: "双人房",
  252. // house1: "5",
  253. // house2: 3,
  254. // house3: "12",
  255. // house4: 21,
  256. // },
  257. ],
  258. });
  259. const activeIndex = ref(); // 默认跳转路由
  260. const dialongTitle = ref("新增账号"); // 弹窗标题
  261. const searchInput = reactive({
  262. account: "",
  263. createTime: "",
  264. }); // 搜索按钮数据
  265. 5;
  266. const currentPage = ref(1); // 当前页
  267. const pageSize = ref(10);
  268. const total = ref(); // 当前总数
  269. const selectData = reactive({ list: [] }); // 多选框选择的数据
  270. const api = ref("");
  271. const addDialogVisible = ref(false); // 控制添加员工弹窗
  272. // 表单数据
  273. const formSize = ref("default");
  274. const ruleFormRef = ref();
  275. const ruleForm = reactive({
  276. name: "",
  277. account: "",
  278. pass: "",
  279. phone: "",
  280. id: "",
  281. });
  282. // 表单验证
  283. const rules = reactive({
  284. account: [
  285. { required: true, message: "账号不能为空", trigger: "blur" },
  286. // { min: 3, max: 5, message: "Length should be 3 to 5", trigger: "blur" },
  287. // {
  288. // pattern: /^[a-zA-z]\w{3,15}$/,
  289. // message: "请输入正确账号",
  290. // trigger: "blur",
  291. // },
  292. ],
  293. // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
  294. pass: [
  295. {
  296. required: true,
  297. message: "密码不能为空",
  298. trigger: "blur",
  299. },
  300. // {
  301. // min: 8,
  302. // max: 20,
  303. // pattern:
  304. // /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
  305. // message: "请输入8-20位正确密码(大小写字母·字符·数字)",
  306. // trigger: "blur",
  307. // },
  308. ],
  309. name: [
  310. {
  311. required: true,
  312. message: "用户名称不能为空",
  313. trigger: "blur",
  314. },
  315. ],
  316. phone: [
  317. {
  318. required: true,
  319. message: "手机号码不能为空",
  320. trigger: "blur",
  321. },
  322. ],
  323. // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
  324. });
  325. watch(
  326. () => searchInput.createTime,
  327. (newVal, oldVal) => {
  328. console.log("监听时间:", newVal);
  329. if (newVal == null) {
  330. getList();
  331. }
  332. }
  333. );
  334. // 获取账户列表
  335. const getList = async () => {
  336. loading.value = true;
  337. let data = {
  338. page: currentPage.value, // 当前页
  339. rows: pageSize.value, // 一页数据条数
  340. hName: searchInput.account, // 房型关键字
  341. managerId: sessionStorage.getItem("token"),
  342. };
  343. if (searchInput.createTime) {
  344. data.orderTime = searchInput.createTime;
  345. }
  346. let res = await axios({
  347. method: "post",
  348. url: api.value + "/mhotel/housequeryPageHouseSum.action",
  349. headers: {},
  350. params: data,
  351. });
  352. console.log(res, "房源信息");
  353. if (res.data.code == 200) {
  354. tableData.list = res.data.data.pageList;
  355. total.value = res.data.data.total;
  356. loading.value = false;
  357. // ElMessage({
  358. // type: "success",
  359. // showClose: true,
  360. // message: res.data.message,
  361. // center: true,
  362. // });
  363. } else {
  364. loading.value = false;
  365. ElMessage({
  366. type: "error",
  367. showClose: true,
  368. message: res.data.message,
  369. center: true,
  370. });
  371. }
  372. };
  373. // 搜索功能
  374. const searchBtn = lodash.debounce(async () => {
  375. getList();
  376. }, 300);
  377. // 重置搜索
  378. const searchRefresh = lodash.debounce(async () => {
  379. searchInput.carnumber = "";
  380. searchInput.createTime = "";
  381. currentPage.value = 1;
  382. getList();
  383. }, 300);
  384. //导出功能
  385. const importExcel = async () => {
  386. if (searchInput.createTime == null) {
  387. searchInput.createTime = "";
  388. }
  389. let data = new FormData();
  390. data.set("number", searchInput.carnumber);
  391. data.set("create_time", searchInput.createTime);
  392. let res = await axios({
  393. method: "post",
  394. url: api.value + "/carBook/admintoExcel.action",
  395. headers: {
  396. token: sessionStorage.getItem("token"),
  397. },
  398. data: data,
  399. });
  400. // console.log(res, "导出账号");
  401. if (res.data.code == 200) {
  402. // const elt = document.createElement("a");
  403. // elt.setAttribute(
  404. // "href",
  405. // "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
  406. // );
  407. // // elt.setAttribute("download", "file.xlsx");
  408. // // elt.style.display = "none";
  409. // document.body.appendChild(elt);
  410. var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
  411. console.log("获得地址数据:", downloadPath);
  412. var downloadLink = document.createElement("a");
  413. downloadLink.style.display = "none"; // 使其隐藏
  414. downloadLink.href = downloadPath;
  415. downloadLink.download = "";
  416. downloadLink.click();
  417. document.body.appendChild(downloadLink);
  418. document.body.removeChild(downloadLink);
  419. elt.click();
  420. ElMessage({
  421. type: "success",
  422. showClose: true,
  423. message: res.data.message,
  424. center: true,
  425. });
  426. } else {
  427. ElMessage({
  428. type: "error",
  429. showClose: true,
  430. message: res.data.message,
  431. center: true,
  432. });
  433. }
  434. };
  435. // 添加员工
  436. const addlist = () => {
  437. dialongTitle.value = "新增账号";
  438. addDialogVisible.value = true;
  439. ruleForm.name = "";
  440. ruleForm.account = "";
  441. ruleForm.pass = "";
  442. ruleForm.phone = "";
  443. };
  444. // 取消添加员工
  445. const cancelAdd = () => {
  446. addDialogVisible.value = false;
  447. ruleFormRef.value.resetFields();
  448. };
  449. //编辑按钮
  450. const edit = (row) => {
  451. dialongTitle.value = "编辑信息";
  452. addDialogVisible.value = true;
  453. console.log(row);
  454. ruleForm.pass = row.password;
  455. ruleForm.phone = row.phone;
  456. ruleForm.name = row.username;
  457. ruleForm.account = row.account;
  458. ruleForm.id = row.id;
  459. };
  460. // 确认添加员工
  461. const submitAdd = async (formEl) => {
  462. if (!formEl) return;
  463. await formEl.validate(async (valid, fields) => {
  464. if (valid) {
  465. if (dialongTitle.value == "新增账号") {
  466. let data = {
  467. username: ruleForm.name,
  468. account: ruleForm.account,
  469. password: ruleForm.pass,
  470. phone: ruleForm.phone,
  471. };
  472. let res = await axios({
  473. method: "post",
  474. url: api.value + "/repairAdmin/insertRepairAdmin",
  475. headers: {
  476. token: sessionStorage.getItem("token"),
  477. user_head: sessionStorage.getItem("userhead"),
  478. },
  479. data: data,
  480. });
  481. console.log(res, "添加账号");
  482. if (res.data.code == 200) {
  483. getList();
  484. ElMessage({
  485. type: "success",
  486. showClose: true,
  487. message: res.data.message,
  488. center: true,
  489. });
  490. addDialogVisible.value = false;
  491. ruleFormRef.value.resetFields();
  492. } else {
  493. ElMessage({
  494. type: "error",
  495. showClose: true,
  496. message: res.data.message,
  497. center: true,
  498. });
  499. }
  500. } else {
  501. let data = {
  502. username: ruleForm.name,
  503. phone: ruleForm.phone,
  504. id: ruleForm.id,
  505. };
  506. let res = await axios({
  507. method: "post",
  508. url: api.value + "/repairAdmin/updateRepairAdminById",
  509. headers: {
  510. token: sessionStorage.getItem("token"),
  511. user_head: sessionStorage.getItem("userhead"),
  512. },
  513. data: data,
  514. });
  515. // console.log(res, "修改账号");
  516. if (res.data.code == 200) {
  517. getList();
  518. ElMessage({
  519. type: "success",
  520. showClose: true,
  521. message: res.data.message,
  522. center: true,
  523. });
  524. addDialogVisible.value = false;
  525. ruleFormRef.value.resetFields();
  526. } else {
  527. ElMessage({
  528. type: "error",
  529. showClose: true,
  530. message: res.data.message,
  531. center: true,
  532. });
  533. }
  534. }
  535. } else {
  536. console.log("error submit!", fields);
  537. }
  538. });
  539. };
  540. //删除按钮
  541. const del = async (row) => {
  542. console.log(row);
  543. let data = {
  544. id: row.id,
  545. };
  546. let res = await axios({
  547. method: "get",
  548. url: api.value + "/repairAdmin/deleteRepairAdminById",
  549. headers: {
  550. token: sessionStorage.getItem("token"),
  551. user_head: sessionStorage.getItem("userhead"),
  552. },
  553. params: data,
  554. });
  555. if (res.data.code == 200) {
  556. if (tableData.list.length == 1 && currentPage.value != 1) {
  557. currentPage.value = currentPage.value - 1;
  558. }
  559. getList();
  560. ElMessage({
  561. type: "success",
  562. showClose: true,
  563. message: res.data.message,
  564. center: true,
  565. });
  566. } else {
  567. ElMessage({
  568. type: "error",
  569. showClose: true,
  570. message: res.data.message,
  571. center: true,
  572. });
  573. }
  574. console.log(res);
  575. };
  576. // 取消删除
  577. const cancelEvent = () => {
  578. ElMessage({
  579. type: "info",
  580. showClose: true,
  581. message: "取消删除",
  582. center: true,
  583. });
  584. };
  585. // 多选框功能
  586. // const handleSelectionChange = (val) => {
  587. // console.log(val);
  588. // selectData.list = val;
  589. // };
  590. // 表格斑马纹颜色修改
  591. const tableRowClassName = ({ row, rowIndex }) => {
  592. if (rowIndex % 2 === 0) {
  593. return "even";
  594. } else if (rowIndex % 2 !== 0) {
  595. return "odd";
  596. }
  597. return "";
  598. };
  599. // 分页
  600. const handleCurrentChange = (value) => {
  601. // console.log(value);
  602. currentPage.value = value;
  603. getList();
  604. };
  605. onBeforeMount(() => {
  606. api.value = store.state.user.api;
  607. getList();
  608. });
  609. onUnmounted(() => {
  610. // document.removeEventListener("keyup", Enters);
  611. });
  612. </script>
  613. <style scoped lang="scss">
  614. .content-box {
  615. width: 97.5%;
  616. height: 89%;
  617. margin: 20px auto;
  618. background-color: #fff;
  619. color: #fff;
  620. display: flex;
  621. flex-direction: column;
  622. box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
  623. .left {
  624. // width: calc(100wh - 40px);
  625. display: flex;
  626. align-items: center;
  627. height: 60px;
  628. margin: 0 30px;
  629. border-bottom: 1px solid #ccc;
  630. color: #000;
  631. font-size: 18px;
  632. font-weight: 600;
  633. .camera {
  634. margin-right: 15px;
  635. color: #4392f7;
  636. }
  637. }
  638. .middle {
  639. width: 96%;
  640. margin: 0 auto;
  641. color: #000;
  642. // border-bottom: 1px solid rgb(231, 231, 231);
  643. .filter {
  644. display: flex;
  645. flex-wrap: wrap;
  646. align-items: center;
  647. margin: 20px 0 0 0;
  648. .search {
  649. margin-left: 0 !important;
  650. color: #fff;
  651. }
  652. .condition {
  653. display: flex;
  654. align-items: center;
  655. margin: 10px 30px 10px 0;
  656. :deep(.el-input .el-input__inner) {
  657. font-size: 14px;
  658. }
  659. span {
  660. margin: 0 10px 0 0;
  661. }
  662. }
  663. }
  664. .gongneng {
  665. margin: 10px 0;
  666. .el-button {
  667. color: #fff;
  668. }
  669. }
  670. :deep(.cont) {
  671. width: 60%;
  672. margin: 20px auto;
  673. }
  674. :deep(.download) {
  675. display: flex;
  676. align-items: center;
  677. margin: 10px;
  678. }
  679. :deep(.download span) {
  680. font-size: 16px;
  681. margin-left: 20px;
  682. }
  683. :deep(.cont .el-button) {
  684. margin-left: 60px;
  685. margin-bottom: 30px;
  686. }
  687. :deep(.cont .accomplish) {
  688. width: 100%;
  689. display: flex;
  690. justify-content: center;
  691. }
  692. :deep(.cont .accomplish .el-button) {
  693. width: 50%;
  694. margin: 0;
  695. }
  696. }
  697. .footer {
  698. width: 96%;
  699. height: 550px;
  700. margin: 10px auto 10px;
  701. .el-table--fit {
  702. height: 100%;
  703. :deep(.el-table__header-wrapper) {
  704. background-color: #000;
  705. font-size: 15px;
  706. color: #000;
  707. .cell {
  708. color: #000;
  709. }
  710. }
  711. :deep(.el-table__row) {
  712. height: 50px;
  713. font-size: 15px;
  714. color: #000;
  715. }
  716. :deep(.el-table__row td) {
  717. padding: 0;
  718. border: 0;
  719. }
  720. .el-button--primary {
  721. margin-left: 5px;
  722. }
  723. :deep(.el-table__body .even) {
  724. background-color: #fff;
  725. }
  726. :deep(.el-table__body .odd) {
  727. background-color: rgba(240, 243, 247, 1);
  728. }
  729. :deep(.options) {
  730. display: flex;
  731. justify-content: center;
  732. align-items: center;
  733. .reset {
  734. color: rgba(9, 101, 98, 1);
  735. cursor: pointer;
  736. }
  737. .look {
  738. margin: 0 10px;
  739. color: rgba(30, 125, 251, 1);
  740. cursor: pointer;
  741. }
  742. .del {
  743. color: rgba(212, 48, 48, 1);
  744. cursor: pointer;
  745. }
  746. }
  747. }
  748. // 添加员工弹窗样式
  749. :deep(.addStaff) {
  750. // height: 420px;
  751. border-radius: 11px;
  752. .el-dialog__header {
  753. border-radius: 11px 11px 0 0;
  754. background: rgba(237, 241, 245, 1);
  755. font-weight: 600;
  756. margin: 0;
  757. .el-dialog__headerbtn {
  758. outline: none;
  759. }
  760. }
  761. .el-dialog__body {
  762. padding: 30px 20px 10px 20px;
  763. .el-input {
  764. width: 200px;
  765. .el-input__suffix-inner {
  766. color: rgba(61, 81, 232, 1);
  767. }
  768. }
  769. .options {
  770. margin: 10px 20px 20px 0;
  771. width: 100%;
  772. .el-form-item__content {
  773. display: flex;
  774. flex-direction: row-reverse;
  775. }
  776. .queding {
  777. color: #fff;
  778. margin-left: 15px;
  779. }
  780. }
  781. }
  782. }
  783. }
  784. .el-pagination {
  785. // width: 1600px;
  786. width: 96%;
  787. margin: 20px auto 18px;
  788. justify-content: flex-end;
  789. :deep(.el-pagination__total) {
  790. color: #000;
  791. }
  792. :deep(.el-pagination__goto) {
  793. color: #000;
  794. }
  795. :deep(.el-pagination__classifier) {
  796. color: #000;
  797. }
  798. :deep(.el-input__wrapper) {
  799. border: 1px solid rgba(0, 0, 0, 1);
  800. border-radius: 5px;
  801. box-shadow: none;
  802. }
  803. :deep(.el-pager li) {
  804. margin: 0 5px;
  805. border: 1px solid rgba(0, 0, 0, 1);
  806. border-radius: 5px;
  807. background-color: transparent;
  808. }
  809. :deep(.el-pager li.is-active) {
  810. background-color: rgba(111, 182, 184, 1);
  811. }
  812. :deep(.btn-prev) {
  813. margin-right: 5px;
  814. border: 1px solid rgba(0, 0, 0, 1);
  815. border-radius: 5px;
  816. background-color: transparent;
  817. }
  818. :deep(.btn-next) {
  819. margin-left: 5px;
  820. border: 1px solid rgba(0, 0, 0, 1);
  821. border-radius: 5px;
  822. background-color: transparent;
  823. }
  824. }
  825. }
  826. .el-input {
  827. width: 192px;
  828. }
  829. </style>