金币系统前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

857 lines
23 KiB

2 months ago
2 months ago
2 months ago
  1. <script setup>
  2. import { ref, onMounted, reactive, computed } from "vue";
  3. import ElementPlus from "element-plus";
  4. import { ElMessage, ElMessageBox } from "element-plus";
  5. import axios from "axios";
  6. import moment from "moment";
  7. import { ta } from "element-plus/es/locales.mjs";
  8. import API from "../../api/index.js";
  9. import * as XLSX from "xlsx";
  10. // 变量
  11. //这是获取用户信息的接口
  12. const adminData = ref({});
  13. const getAdminData = async function () {
  14. try {
  15. const result = await API.post(
  16. "http://54.251.137.151:10702/admin/userinfo",
  17. {}
  18. );
  19. adminData.value = result;
  20. console.log("请求成功", result);
  21. console.log("用户信息", adminData.value);
  22. } catch (error) {
  23. console.log("请求失败", error);
  24. }
  25. };
  26. // 充值明细表格
  27. const tableData = ref([]);
  28. // 计算用户各金币总数的不分页对象
  29. const tableAllData = ref([]);
  30. // 各金币总数
  31. const rechargeCoin = ref(0);
  32. const freeCoin = ref(0);
  33. const taskCoin = ref(0);
  34. // 搜索===========================================
  35. //分页总条目
  36. const total = ref(100);
  37. // 搜索对象时间
  38. const getTime = ref([]);
  39. // 搜索detailY
  40. const detailY = ref({});
  41. // 不分页的搜索对象
  42. const getAllObj = ref({});
  43. // 搜索对象
  44. const getObj = ref({
  45. pageNum: 1,
  46. pageSize: 50,
  47. });
  48. //开启条件筛选导出excel
  49. const getPutEX = ref(false);
  50. // 支付方式选项
  51. const num = [
  52. {
  53. value: "1",
  54. label: "增加",
  55. },
  56. {
  57. value: "2",
  58. label: "减少",
  59. },
  60. ];
  61. // //表格高度
  62. // const tableHeight = computed(function () {
  63. // return (getObj.value.pageSize + 2) * 38 + "px";
  64. // });
  65. // 方法
  66. // 搜索===========================================================================
  67. // 搜索方法
  68. const get = async function (val) {
  69. try {
  70. // 地区赋值
  71. if (adminData.value.area === "泰国") {
  72. detailY.value.areas = ["泰国", "越南"];
  73. } else if (adminData.value.area !== "总部") {
  74. detailY.value.area = adminData.value.area;
  75. }
  76. // 搜索参数页码赋值
  77. if (typeof val === "number") {
  78. getObj.value.pageNum = val;
  79. }
  80. // 搜索参数时间赋值
  81. if (getTime.value != null) {
  82. if (getTime.value.startDate != "" && getTime.value.endDate != "") {
  83. detailY.value.startDate = getTime.value[0];
  84. detailY.value.endDate = getTime.value[1];
  85. }
  86. } else {
  87. detailY.value.startDate = "";
  88. detailY.value.endDate = "";
  89. }
  90. // 添加排序字段和排序方式到请求参数
  91. detailY.value.sortField = sortField.value;
  92. detailY.value.sortOrder = sortOrder.value;
  93. console.log("搜索参数", getObj.value);
  94. // 发送POST请求
  95. const result = await API.post("http://54.251.137.151:10702/detailY", {
  96. ...getObj.value,
  97. detailY: { ...detailY.value },
  98. });
  99. const result2 = await API.post("http://54.251.137.151:10702/detailY", {
  100. ...getAllObj.value,
  101. detailY: { ...detailY.value },
  102. });
  103. // 将响应结果存储到响应式数据中
  104. console.log("请求成功", result);
  105. console.log("请求成功2", result2);
  106. // 存储表格数据
  107. tableData.value = result.data.list;
  108. console.log("tableData", tableData.value);
  109. tableAllData.value = result2.data;
  110. console.log("tableAllData", tableAllData.value);
  111. // 存储分页总数
  112. total.value = result.data.total;
  113. console.log("total", total.value);
  114. // 计算各金币总数并除以100
  115. // 下列各数除以100,并最多显示两位小数
  116. rechargeCoin.value = parseFloat((tableAllData.value.sumR / 100).toFixed(2));
  117. freeCoin.value = parseFloat((tableAllData.value.sumF / 100).toFixed(2));
  118. taskCoin.value = parseFloat((tableAllData.value.sumT / 100).toFixed(2));
  119. // for (let i = 0; i < tableAllData.value.length; i++) {
  120. // rechargeCoin.value += tableAllData.value[i].rechargeCoin;
  121. // freeCoin.value += tableAllData.value[i].freeCoin;
  122. // taskCoin.value += tableAllData.value[i].taskCoin;
  123. // }
  124. console.log(
  125. "各金币总数",
  126. rechargeCoin.value,
  127. freeCoin.value,
  128. taskCoin.value
  129. );
  130. } catch (error) {
  131. console.log("请求失败", error);
  132. // 在这里可以处理错误逻辑,比如显示错误提示等
  133. }
  134. };
  135. // 搜索
  136. const search = function () {
  137. getObj.value.pageNum = 1;
  138. get();
  139. };
  140. // 重置
  141. const reset = function () {
  142. detailY.value.jwcode = "";
  143. detailY.value.num = "";
  144. detailY.value.startDate = "";
  145. detailY.value.endDate = "";
  146. detailY.value.area = "";
  147. sortField.value = "";
  148. sortOrder.value = "";
  149. getTime.value = {};
  150. //重置平台信息
  151. detailY.value.consumePlatform = "";
  152. };
  153. // 今天
  154. const getToday = function () {
  155. const today = new Date();
  156. const startDate = new Date(
  157. today.getFullYear(),
  158. today.getMonth(),
  159. today.getDate()
  160. );
  161. const endDate = new Date(
  162. today.getFullYear(),
  163. today.getMonth(),
  164. today.getDate() + 1
  165. );
  166. getTime.value = [startDate, endDate];
  167. console.log("getTime", getTime.value);
  168. get();
  169. };
  170. // 昨天
  171. const getYesterday = function () {
  172. const yesterday = new Date();
  173. yesterday.setDate(yesterday.getDate() - 1);
  174. const startDate = new Date(
  175. yesterday.getFullYear(),
  176. yesterday.getMonth(),
  177. yesterday.getDate()
  178. );
  179. const endDate = new Date(
  180. yesterday.getFullYear(),
  181. yesterday.getMonth(),
  182. yesterday.getDate() + 1
  183. );
  184. getTime.value = [startDate, endDate];
  185. console.log("getTime", getTime.value);
  186. get();
  187. };
  188. // 近7天
  189. const get7Days = function () {
  190. const today = new Date();
  191. const startDate = new Date(
  192. today.getFullYear(),
  193. today.getMonth(),
  194. today.getDate() - 6
  195. );
  196. const endDate = new Date(
  197. today.getFullYear(),
  198. today.getMonth(),
  199. today.getDate() + 1
  200. );
  201. getTime.value = [startDate, endDate];
  202. console.log("getTime", getTime.value);
  203. get();
  204. };
  205. // 验证跳转输入框的数字是否合法
  206. const checkNumber = function () {
  207. if (typeof parseInt(getObj.value.pageNum) === "number") {
  208. console.log(
  209. "总共有多少页" + Math.ceil(total.value / getObj.value.pageSize)
  210. );
  211. if (
  212. getObj.value.pageNum > 0 &&
  213. getObj.value.pageNum <= Math.ceil(total.value / getObj.value.pageSize)
  214. ) {
  215. getObj.value.pageNum = parseInt(getObj.value.pageNum);
  216. console.log("输入的数字合法");
  217. get();
  218. } else {
  219. //提示
  220. ElMessage({
  221. type: "error",
  222. message: "请检查输入内容",
  223. });
  224. }
  225. } else {
  226. //提示
  227. ElMessage({
  228. type: "error",
  229. message: "请检查输入内容",
  230. });
  231. }
  232. };
  233. // 挂载
  234. onMounted(async function () {
  235. await getAdminData();
  236. await get();
  237. });
  238. // 这是导出excel表格的方法
  239. // 导出Excel的方法
  240. // 定义字段映射
  241. const json_fields = (row) => {
  242. return [
  243. row.jwcode, // 姓名
  244. row.area, // 精网号
  245. row.platform, // 所属地区
  246. row.count, // 平台信息
  247. row.updateType, // 更新数量
  248. row.rechargeCoin, // 免费金币
  249. row.freeCoin, // 永久金币
  250. row.taskCoin, // 任务金币
  251. row.createAdmin, // 提交人
  252. row.createTime,
  253. row.name,
  254. row.id,
  255. ];
  256. };
  257. // 定义元数据
  258. const json_meta = [
  259. [
  260. {
  261. key: "charset",
  262. value: "utf-8",
  263. },
  264. ],
  265. ];
  266. const headers = [
  267. "精网号",
  268. "地区",
  269. "平台信息",
  270. "数量",
  271. "更新类型",
  272. "永久金币",
  273. "免费金币",
  274. "任务金币",
  275. "提交人",
  276. "更新时间",
  277. "用户名",
  278. "id",
  279. ];
  280. const exportExcel = () => {
  281. // 先将 json_fields 应用到数据上
  282. const data = excelInfo.value.map(json_fields);
  283. const ws = XLSX.utils.aoa_to_sheet(data);
  284. // 添加表头到工作表
  285. XLSX.utils.sheet_add_aoa(ws, [headers], { origin: "A1" });
  286. const wb = XLSX.utils.book_new();
  287. XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
  288. XLSX.writeFile(wb, "客户金币明细.xlsx");
  289. };
  290. const today = new Date();
  291. const startDate = new Date(
  292. today.getFullYear(),
  293. today.getMonth(),
  294. today.getDate()
  295. );
  296. const endDate = new Date(
  297. today.getFullYear(),
  298. today.getMonth(),
  299. today.getDate() + 1
  300. );
  301. const putExcel = ref({
  302. startDate: startDate,
  303. endDate: endDate,
  304. });
  305. const excelInfo = ref({});
  306. const loading = ref(false);
  307. const areyour = async function () {
  308. try {
  309. loading.value = true;
  310. const result = await API.post(
  311. "http://54.251.137.151:10702/detailY/searchAll",
  312. {
  313. ...putExcel.value,
  314. }
  315. );
  316. excelInfo.value = result.data;
  317. // 处理 excelInfo 中的数据
  318. if (Array.isArray(excelInfo.value)) {
  319. excelInfo.value.forEach((item) => {
  320. if (item.rechargeCoin) {
  321. item.rechargeCoin = item.rechargeCoin / 100;
  322. }
  323. if (item.freeCoin) {
  324. item.freeCoin = item.freeCoin / 100;
  325. }
  326. if (item.taskCoin) {
  327. item.taskCoin = item.taskCoin / 100;
  328. }
  329. });
  330. }
  331. areyouright.value = true;
  332. ElMessage({
  333. type: "success",
  334. message: "查询成功",
  335. });
  336. loading.value = false;
  337. } catch (error) {
  338. console.log("请求失败", error);
  339. loading.value = false;
  340. }
  341. };
  342. const areyouright = ref(false);
  343. //选地区
  344. const area = [
  345. {
  346. value: "马来西亚",
  347. label: "马来西亚",
  348. },
  349. {
  350. value: "新加坡",
  351. label: "新加坡",
  352. },
  353. {
  354. value: "香港",
  355. label: "香港",
  356. },
  357. {
  358. value: "泰国",
  359. label: "泰国",
  360. },
  361. {
  362. value: "加拿大",
  363. label: "加拿大",
  364. },
  365. {
  366. value: "越南HCM",
  367. label: "越南HCM",
  368. },
  369. ];
  370. //选消费平台
  371. const platform = [
  372. {
  373. value: "4",
  374. label: "金币系统",
  375. },
  376. {
  377. value: "1",
  378. label: "ERP系统",
  379. },
  380. {
  381. value: "2",
  382. label: "Homily Chart",
  383. },
  384. {
  385. value: "3",
  386. label: "Homily Link",
  387. },
  388. {
  389. value: "0",
  390. label: "初始化金币",
  391. },
  392. ];
  393. const TimeGet = ref("1");
  394. // 今天
  395. const getT = function () {
  396. const today = new Date();
  397. const startDate = new Date(
  398. today.getFullYear(),
  399. today.getMonth(),
  400. today.getDate()
  401. );
  402. const endDate = new Date(
  403. today.getFullYear(),
  404. today.getMonth(),
  405. today.getDate() + 1
  406. );
  407. putExcel.value.startDate = startDate;
  408. putExcel.value.endDate = endDate;
  409. console.log("putExcel", putExcel.value);
  410. };
  411. //3天
  412. const get3 = function () {
  413. const today = new Date();
  414. const startDate = new Date(
  415. today.getFullYear(),
  416. today.getMonth(),
  417. today.getDate() - 2
  418. );
  419. const endDate = new Date(
  420. today.getFullYear(),
  421. today.getMonth(),
  422. today.getDate() + 1
  423. );
  424. putExcel.value.startDate = startDate;
  425. putExcel.value.endDate = endDate;
  426. console.log("putExcel", putExcel.value);
  427. };
  428. // 7天
  429. const get7 = function () {
  430. const today = new Date();
  431. const startDate = new Date(
  432. today.getFullYear(),
  433. today.getMonth(),
  434. today.getDate() - 6
  435. );
  436. const endDate = new Date(
  437. today.getFullYear(),
  438. today.getMonth(),
  439. today.getDate() + 1
  440. );
  441. putExcel.value.startDate = startDate;
  442. putExcel.value.endDate = endDate;
  443. console.log("putExcel", putExcel.value);
  444. };
  445. // 30天
  446. const get30 = function () {
  447. const today = new Date();
  448. const startDate = new Date(
  449. today.getFullYear(),
  450. today.getMonth() - 1,
  451. today.getDate()
  452. );
  453. const endDate = new Date(
  454. today.getFullYear(),
  455. today.getMonth(),
  456. today.getDate() + 1
  457. );
  458. putExcel.value.startDate = startDate;
  459. putExcel.value.endDate = endDate;
  460. console.log("putExcel", putExcel.value);
  461. };
  462. // 新增排序字段和排序方式
  463. const sortField = ref("");
  464. const sortOrder = ref("");
  465. // 处理排序事件
  466. const handleSortChange = (column) => {
  467. console.log("排序字段:", column.prop);
  468. console.log("排序方式:", column.order);
  469. if (column.prop === "rechargeCoin") {
  470. sortField.value = "recharge_coin";
  471. } else if (column.prop === "taskCoin") {
  472. sortField.value = "task_coin";
  473. } else if (column.prop === "freeCoin") {
  474. sortField.value = "free_coin";
  475. } else if (column.prop === "createTime") {
  476. sortField.value = "create_time";
  477. } else if (column.prop === "gold") {
  478. sortField.value = "gold";
  479. }
  480. sortOrder.value = column.order === "ascending" ? "ASC" : "DESC";
  481. get();
  482. };
  483. </script>
  484. <template>
  485. <el-dialog
  486. v-model="areyouright"
  487. title=""
  488. width="500"
  489. :close-on-click-modal="false"
  490. >
  491. <el-button type="success" @click="exportExcel()">导出</el-button>
  492. </el-dialog>
  493. <!-- 这是导出excel的弹窗 -->
  494. <el-dialog
  495. v-model="getPutEX"
  496. title="请选择导出条件"
  497. width="500"
  498. :close-on-click-modal="false"
  499. >
  500. <template #footer>
  501. <el-form
  502. v-loading="loading"
  503. ref="ruleFormRef"
  504. style="max-width: 600px"
  505. :model="putExcel"
  506. :rules="rules"
  507. label-width="auto"
  508. class="demo-ruleForm"
  509. :size="formSize"
  510. status-icon
  511. >
  512. <el-form-item prop="activityName" label="精网号:">
  513. <el-input
  514. v-model="putExcel.jwcode"
  515. placeholder="请输入精网号"
  516. style="width: 220px"
  517. />
  518. </el-form-item>
  519. <el-form-item label="所属地区:"
  520. ><el-select
  521. v-model="putExcel.area"
  522. placeholder="请选择所属地区"
  523. style="width: 240px"
  524. clearable
  525. >
  526. <el-option
  527. v-for="item in area"
  528. :key="item.value"
  529. :label="item.label"
  530. :value="item.value"
  531. />
  532. </el-select>
  533. </el-form-item>
  534. <el-form-item label="更新时间:">
  535. <el-radio-group v-model="TimeGet">
  536. <el-radio value="1" @click="getT()">今天</el-radio>
  537. <el-radio value="3" @click="get3()">近三天</el-radio>
  538. <el-radio value="7" @click="get7()">近一周</el-radio>
  539. <el-radio value="30" @click="get30()">近一个月</el-radio>
  540. </el-radio-group>
  541. </el-form-item>
  542. <el-button
  543. type="primary"
  544. size="small"
  545. style="margin-left: 10px"
  546. @click="areyour()"
  547. >确定</el-button
  548. >
  549. </el-form>
  550. </template>
  551. </el-dialog>
  552. <el-row>
  553. <el-col>
  554. <el-card style="margin-bottom: 20px">
  555. <el-row style="margin-bottom: 10px">
  556. <el-col :span="6">
  557. <div class="head-card-element">
  558. <el-text class="mx-1" size="large">精网号</el-text>
  559. <el-input
  560. v-model="detailY.jwcode"
  561. style="width: 240px"
  562. placeholder="请输入精网号"
  563. clearable
  564. />
  565. </div>
  566. </el-col>
  567. <el-col :span="6">
  568. <div class="head-card-element">
  569. <el-text class="mx-1" size="large">平台信息</el-text>
  570. <el-select
  571. v-model="detailY.consumePlatform"
  572. placeholder="请选择平台信息"
  573. style="width: 200px"
  574. clearable
  575. >
  576. <el-option
  577. v-for="item in platform"
  578. :key="item.value"
  579. :label="item.label"
  580. :value="item.value"
  581. />
  582. </el-select>
  583. </div>
  584. </el-col>
  585. <el-col :span="6">
  586. <div class="head-card-element">
  587. <el-text class="mx-1" size="large">更新类型</el-text>
  588. <el-select
  589. v-model="detailY.num"
  590. placeholder="请选择更新类型"
  591. style="width: 200px"
  592. clearable
  593. >
  594. <el-option
  595. v-for="item in num"
  596. :key="item.value"
  597. :label="item.label"
  598. :value="item.value"
  599. />
  600. </el-select>
  601. </div>
  602. </el-col>
  603. <el-col :span="6">
  604. <div class="head-card-element">
  605. <el-text class="mx-1" size="large">所属地区</el-text>
  606. <el-select
  607. v-model="detailY.area"
  608. placeholder="请选择所属地区"
  609. style="width: 200px"
  610. clearable
  611. >
  612. <el-option
  613. v-for="item in area"
  614. :key="item.value"
  615. :label="item.label"
  616. :value="item.value"
  617. />
  618. </el-select>
  619. </div>
  620. </el-col>
  621. </el-row>
  622. <div class="head-card-element">
  623. <el-text class="mx-1" size="large">更新时间</el-text>
  624. <el-date-picker
  625. v-model="getTime"
  626. type="datetimerange"
  627. range-separator="至"
  628. start-placeholder="起始时间"
  629. end-placeholder="结束时间"
  630. style="margin-right: 700px"
  631. />
  632. <el-button type="success" @click="getPutEX = true"
  633. >导出Excel表格</el-button
  634. >
  635. <el-button @click="reset()">重置</el-button>
  636. <el-button type="primary" @click="search()">查询</el-button>
  637. </div>
  638. </el-card>
  639. </el-col>
  640. </el-row>
  641. <el-row>
  642. <el-col>
  643. <el-card>
  644. <!-- <div>
  645. 现有金币永久金币{{ Math.abs(rechargeCoin) }}免费金币{{
  646. Math.abs(freeCoin)
  647. }}任务金币{{ Math.abs(taskCoin) }}
  648. </div> -->
  649. <!-- 设置表格容器的高度和滚动样式 -->
  650. <div style="height: 584px; overflow-y: auto">
  651. <el-table
  652. :data="tableData"
  653. style="width: 100%"
  654. @sort-change="handleSortChange"
  655. height="584px"
  656. >
  657. <el-table-column
  658. type="index"
  659. label="序号"
  660. width="100px"
  661. fixed="left"
  662. >
  663. <template #default="scope">
  664. <span>{{
  665. scope.$index + 1 + (getObj.pageNum - 1) * getObj.pageSize
  666. }}</span>
  667. </template>
  668. </el-table-column>
  669. <el-table-column
  670. fixed="left"
  671. prop="username"
  672. label="姓名"
  673. width="150"
  674. />
  675. <el-table-column
  676. fixed="left"
  677. prop="jwcode"
  678. label="精网号"
  679. width="120"
  680. />
  681. <el-table-column prop="area" label="所属地区" width="120" />
  682. <el-table-column
  683. prop="consumePlatform"
  684. label="平台信息"
  685. width="140"
  686. >
  687. <template #default="scope">
  688. <!-- 使用非严格相等比较 -->
  689. <span v-if="scope.row.consumePlatform == 0">初始化金币</span>
  690. <span v-if="scope.row.consumePlatform == 1">ERP系统</span>
  691. <span v-if="scope.row.consumePlatform == 3">Homily Link</span>
  692. <span v-if="scope.row.consumePlatform == 2">Homily Chart</span>
  693. <span v-if="scope.row.consumePlatform == 4">金币系统</span>
  694. </template>
  695. </el-table-column>
  696. <el-table-column
  697. prop="gold"
  698. label="更新数量"
  699. width="120"
  700. sortable="“custom”"
  701. >
  702. <template #default="scope">
  703. <span>{{ scope.row.gold / 100 }}</span>
  704. </template>
  705. </el-table-column>
  706. <el-table-column prop="updateType" label="更新类型" width="110">
  707. <!-- 模板内容 -->
  708. <template #default="scope">
  709. <span v-if="scope.row.updateType == 1">
  710. <span>消费</span>
  711. </span>
  712. <span v-if="scope.row.updateType == 0">
  713. <span>充值</span>
  714. </span>
  715. <span v-if="scope.row.updateType == 2">
  716. <span>退款</span>
  717. </span>
  718. <span v-if="scope.row.updateType == 3">
  719. <span>其他</span>
  720. </span>
  721. </template>
  722. </el-table-column>
  723. <el-table-column
  724. prop="rechargeCoin"
  725. sortable="“custom”"
  726. label="永久金币"
  727. width="110"
  728. >
  729. <template #default="scope">
  730. <span>{{ scope.row.rechargeCoin / 100 }}</span>
  731. </template>
  732. </el-table-column>
  733. <el-table-column
  734. prop="freeCoin"
  735. sortable="“custom”"
  736. label="免费金币"
  737. width="110"
  738. >
  739. <template #default="scope">
  740. <span>{{ scope.row.freeCoin / 100 }}</span>
  741. </template>
  742. </el-table-column>
  743. <el-table-column
  744. prop="taskCoin"
  745. sortable="“custom”"
  746. label="任务金币"
  747. width="110"
  748. >
  749. <template #default="scope">
  750. <span>{{ scope.row.taskCoin / 100 }}</span>
  751. </template>
  752. </el-table-column>
  753. <el-table-column prop="name" label="提交人" width="110" />
  754. <el-table-column
  755. prop="createTime"
  756. sortable="“custom”"
  757. label="更新时间"
  758. width="210"
  759. show-overflow-tooltip
  760. >
  761. <template #default="scope">
  762. <span>{{
  763. moment(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss")
  764. }}</span>
  765. </template>
  766. </el-table-column>
  767. </el-table>
  768. </div>
  769. <!-- 分页 -->
  770. <!-- 分页 -->
  771. <div class="pagination" style="margin-top: 20px">
  772. <el-pagination
  773. background
  774. :page-size="getObj.pageSize"
  775. layout="slot"
  776. :total="total"
  777. >
  778. <div>{{ total }},每页</div>
  779. <el-select
  780. v-model="getObj.pageSize"
  781. class="page-size"
  782. @change="get()"
  783. style="width: 80px"
  784. >
  785. <el-option
  786. v-for="item in [5, 10, 20, 50, 100]"
  787. :key="item"
  788. :label="item"
  789. :value="item"
  790. ></el-option>
  791. </el-select>
  792. <div></div>
  793. </el-pagination>
  794. <el-pagination
  795. background
  796. layout="prev, pager, next,slot"
  797. :page-size="getObj.pageSize"
  798. :total="total"
  799. :current-page="getObj.pageNum"
  800. @current-change="get"
  801. >
  802. <div>跳至</div>
  803. <el-input
  804. v-model="getObj.pageNum"
  805. style="width: 40px"
  806. @change="checkNumber"
  807. />
  808. <div></div>
  809. </el-pagination>
  810. </div>
  811. </el-card>
  812. </el-col>
  813. </el-row>
  814. </template>
  815. <style scoped>
  816. .pagination {
  817. display: flex;
  818. }
  819. .status {
  820. display: flex;
  821. }
  822. .head-card {
  823. display: flex;
  824. }
  825. /* .head-card-element {
  826. margin-right: 20px;
  827. } */
  828. /* .head-card-btn {
  829. margin-left: auto;
  830. } */
  831. </style>