cats copy.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068
  1. <template>
  2. <div class="cats">
  3. <header>
  4. <el-form :inline="true" :model="queryForm" class="form-inline">
  5. <el-form-item>
  6. <!-- 需要有全部 -->
  7. <el-cascader
  8. clearable
  9. filterable
  10. v-model="queryForm.devDir"
  11. placeholder="开发方向"
  12. :options="devDirList"
  13. change-on-select
  14. ></el-cascader>
  15. </el-form-item>
  16. <el-form-item>
  17. <el-cascader
  18. clearable
  19. filterable
  20. v-model="queryForm.area"
  21. placeholder="所在地区"
  22. :options="areaList"
  23. change-on-select
  24. ></el-cascader>
  25. </el-form-item>
  26. <el-form-item>
  27. <el-cascader
  28. clearable
  29. filterable
  30. v-model="queryForm.industry"
  31. placeholder="行业领域"
  32. :options="industryList"
  33. change-on-select
  34. ></el-cascader>
  35. </el-form-item>
  36. <el-form-item>
  37. <el-select v-model="queryForm.confirm" multiple placeholder="资质认证">
  38. <el-option
  39. v-for="item in confirmOptions"
  40. :key="item.value"
  41. :label="item.label"
  42. :value="item.value"
  43. ></el-option>
  44. </el-select>
  45. <el-select v-model="queryForm.region" placeholder="资质认证">
  46. <el-option label="区域一" value="shanghai"></el-option>
  47. <el-option label="区域二" value="beijing"></el-option>
  48. </el-select>
  49. </el-form-item>
  50. <el-form-item>
  51. <el-checkbox-group v-model="queryForm.filter">
  52. <el-checkbox label="已签约" name="type"></el-checkbox>
  53. <el-checkbox label="空闲" name="type"></el-checkbox>
  54. <el-checkbox label="负权重" name="type"></el-checkbox>
  55. <el-checkbox label="黑名单" name="type"></el-checkbox>
  56. </el-checkbox-group>
  57. </el-form-item>
  58. <el-form-item label="昵称">
  59. <el-input v-model="queryForm.user" placeholder="用户UID/昵称/姓名"></el-input>
  60. </el-form-item>
  61. <el-form-item label="公司">
  62. <el-input v-model="queryForm.user" placeholder="公司名称"></el-input>
  63. </el-form-item>
  64. <el-form-item label="项目">
  65. <el-input v-model="queryForm.user" placeholder="项目名称"></el-input>
  66. </el-form-item>
  67. <el-form-item label="技能">
  68. <el-input v-model="queryForm.user" placeholder="技能名称"></el-input>
  69. </el-form-item>
  70. <el-form-item>
  71. <el-button type="primary" @click="handleQuery">筛选</el-button>
  72. </el-form-item>
  73. </el-form>
  74. </header>
  75. <div class="table">
  76. <el-table v-if="tableData.length" border style="width: 100%" :data="tableData">
  77. <el-table-column
  78. v-for="(prop, index) of tableProps"
  79. :key="index"
  80. :prop="prop"
  81. :label="tableHeaders[index]"
  82. >
  83. <template slot-scope="scope">
  84. <el-button
  85. type="text"
  86. class="ctrls"
  87. v-if="prop === 'uid'"
  88. @click="clickUID(scope.row)"
  89. >{{scope.row[prop]}}</el-button>
  90. <span v-else>{{scope.row[prop]}}</span>
  91. </template>
  92. </el-table-column>
  93. </el-table>
  94. </div>
  95. <el-pagination
  96. @current-change="changePagination"
  97. :current-page.sync="currentPage"
  98. :page-size="10"
  99. layout="total, prev, pager, next"
  100. :total="totalCount"
  101. ></el-pagination>
  102. </div>
  103. </template>
  104. <script>
  105. const tableHeaders = [
  106. "用户ID",
  107. "昵称",
  108. "会员类型",
  109. "开始时间",
  110. "到期时间",
  111. "最新购买",
  112. "累计月数",
  113. "累计金额",
  114. "当前状态"
  115. ];
  116. const tableProps = [
  117. "uid",
  118. "nickname",
  119. "type_name",
  120. "start_date",
  121. "end_date",
  122. "pay_date",
  123. "total_month",
  124. "total_price",
  125. "status_name"
  126. ];
  127. // 现在环境是线上还是测试, 默认线上
  128. let env = "";
  129. export default {
  130. data() {
  131. return {
  132. // query
  133. queryForm: {
  134. devDir: "",
  135. filter: [],
  136. area: [],
  137. industry: [],
  138. confirm: []
  139. },
  140. // 原始数据
  141. listData: {},
  142. // 头部信息
  143. titleInfo: {},
  144. // 数据总条目
  145. totalCount: 0,
  146. // 当前页面
  147. currentPage: 1,
  148. // 列表头显示内容
  149. tableHeaders,
  150. // 列表头字段
  151. tableProps,
  152. // 列表数据
  153. tableData: [],
  154. checkeds: "",
  155. confirmOptions: [
  156. {
  157. value: "选项1",
  158. label: "黄金糕"
  159. },
  160. {
  161. value: "选项2",
  162. label: "双皮奶"
  163. },
  164. {
  165. value: "选项3",
  166. label: "蚵仔煎"
  167. },
  168. {
  169. value: "选项4",
  170. label: "龙须面"
  171. },
  172. {
  173. value: "选项5",
  174. label: "北京烤鸭"
  175. }
  176. ],
  177. devDirList: [
  178. {
  179. value: "zhinan",
  180. label: "指南",
  181. children: [
  182. {
  183. value: "shejiyuanze",
  184. label: "设计原则",
  185. children: [
  186. {
  187. value: "yizhi",
  188. label: "一致"
  189. },
  190. {
  191. value: "fankui",
  192. label: "反馈"
  193. },
  194. {
  195. value: "xiaolv",
  196. label: "效率"
  197. },
  198. {
  199. value: "kekong",
  200. label: "可控"
  201. }
  202. ]
  203. },
  204. {
  205. value: "daohang",
  206. label: "导航",
  207. children: [
  208. {
  209. value: "cexiangdaohang",
  210. label: "侧向导航"
  211. },
  212. {
  213. value: "dingbudaohang",
  214. label: "顶部导航"
  215. }
  216. ]
  217. }
  218. ]
  219. },
  220. {
  221. value: "zujian",
  222. label: "组件",
  223. children: [
  224. {
  225. value: "basic",
  226. label: "Basic",
  227. children: [
  228. {
  229. value: "layout",
  230. label: "Layout 布局"
  231. },
  232. {
  233. value: "color",
  234. label: "Color 色彩"
  235. },
  236. {
  237. value: "typography",
  238. label: "Typography 字体"
  239. },
  240. {
  241. value: "icon",
  242. label: "Icon 图标"
  243. },
  244. {
  245. value: "button",
  246. label: "Button 按钮"
  247. }
  248. ]
  249. },
  250. {
  251. value: "form",
  252. label: "Form",
  253. children: [
  254. {
  255. value: "radio",
  256. label: "Radio 单选框"
  257. },
  258. {
  259. value: "checkbox",
  260. label: "Checkbox 多选框"
  261. },
  262. {
  263. value: "input",
  264. label: "Input 输入框"
  265. },
  266. {
  267. value: "input-number",
  268. label: "InputNumber 计数器"
  269. },
  270. {
  271. value: "select",
  272. label: "Select 选择器"
  273. },
  274. {
  275. value: "cascader",
  276. label: "Cascader 级联选择器"
  277. },
  278. {
  279. value: "switch",
  280. label: "Switch 开关"
  281. },
  282. {
  283. value: "slider",
  284. label: "Slider 滑块"
  285. },
  286. {
  287. value: "time-picker",
  288. label: "TimePicker 时间选择器"
  289. },
  290. {
  291. value: "date-picker",
  292. label: "DatePicker 日期选择器"
  293. },
  294. {
  295. value: "datetime-picker",
  296. label: "DateTimePicker 日期时间选择器"
  297. },
  298. {
  299. value: "upload",
  300. label: "Upload 上传"
  301. },
  302. {
  303. value: "rate",
  304. label: "Rate 评分"
  305. },
  306. {
  307. value: "form",
  308. label: "Form 表单"
  309. }
  310. ]
  311. },
  312. {
  313. value: "data",
  314. label: "Data",
  315. children: [
  316. {
  317. value: "table",
  318. label: "Table 表格"
  319. },
  320. {
  321. value: "tag",
  322. label: "Tag 标签"
  323. },
  324. {
  325. value: "progress",
  326. label: "Progress 进度条"
  327. },
  328. {
  329. value: "tree",
  330. label: "Tree 树形控件"
  331. },
  332. {
  333. value: "pagination",
  334. label: "Pagination 分页"
  335. },
  336. {
  337. value: "badge",
  338. label: "Badge 标记"
  339. }
  340. ]
  341. },
  342. {
  343. value: "notice",
  344. label: "Notice",
  345. children: [
  346. {
  347. value: "alert",
  348. label: "Alert 警告"
  349. },
  350. {
  351. value: "loading",
  352. label: "Loading 加载"
  353. },
  354. {
  355. value: "message",
  356. label: "Message 消息提示"
  357. },
  358. {
  359. value: "message-box",
  360. label: "MessageBox 弹框"
  361. },
  362. {
  363. value: "notification",
  364. label: "Notification 通知"
  365. }
  366. ]
  367. },
  368. {
  369. value: "navigation",
  370. label: "Navigation",
  371. children: [
  372. {
  373. value: "menu",
  374. label: "NavMenu 导航菜单"
  375. },
  376. {
  377. value: "tabs",
  378. label: "Tabs 标签页"
  379. },
  380. {
  381. value: "breadcrumb",
  382. label: "Breadcrumb 面包屑"
  383. },
  384. {
  385. value: "dropdown",
  386. label: "Dropdown 下拉菜单"
  387. },
  388. {
  389. value: "steps",
  390. label: "Steps 步骤条"
  391. }
  392. ]
  393. },
  394. {
  395. value: "others",
  396. label: "Others",
  397. children: [
  398. {
  399. value: "dialog",
  400. label: "Dialog 对话框"
  401. },
  402. {
  403. value: "tooltip",
  404. label: "Tooltip 文字提示"
  405. },
  406. {
  407. value: "popover",
  408. label: "Popover 弹出框"
  409. },
  410. {
  411. value: "card",
  412. label: "Card 卡片"
  413. },
  414. {
  415. value: "carousel",
  416. label: "Carousel 走马灯"
  417. },
  418. {
  419. value: "collapse",
  420. label: "Collapse 折叠面板"
  421. }
  422. ]
  423. }
  424. ]
  425. },
  426. {
  427. value: "ziyuan",
  428. label: "资源",
  429. children: [
  430. {
  431. value: "axure",
  432. label: "Axure Components"
  433. },
  434. {
  435. value: "sketch",
  436. label: "Sketch Templates"
  437. },
  438. {
  439. value: "jiaohu",
  440. label: "组件交互文档"
  441. }
  442. ]
  443. }
  444. ],
  445. areaList: [
  446. {
  447. value: "zhinan",
  448. label: "指南",
  449. children: [
  450. {
  451. value: "shejiyuanze",
  452. label: "设计原则",
  453. children: [
  454. {
  455. value: "yizhi",
  456. label: "一致"
  457. },
  458. {
  459. value: "fankui",
  460. label: "反馈"
  461. },
  462. {
  463. value: "xiaolv",
  464. label: "效率"
  465. },
  466. {
  467. value: "kekong",
  468. label: "可控"
  469. }
  470. ]
  471. },
  472. {
  473. value: "daohang",
  474. label: "导航",
  475. children: [
  476. {
  477. value: "cexiangdaohang",
  478. label: "侧向导航"
  479. },
  480. {
  481. value: "dingbudaohang",
  482. label: "顶部导航"
  483. }
  484. ]
  485. }
  486. ]
  487. },
  488. {
  489. value: "zujian",
  490. label: "组件",
  491. children: [
  492. {
  493. value: "basic",
  494. label: "Basic",
  495. children: [
  496. {
  497. value: "layout",
  498. label: "Layout 布局"
  499. },
  500. {
  501. value: "color",
  502. label: "Color 色彩"
  503. },
  504. {
  505. value: "typography",
  506. label: "Typography 字体"
  507. },
  508. {
  509. value: "icon",
  510. label: "Icon 图标"
  511. },
  512. {
  513. value: "button",
  514. label: "Button 按钮"
  515. }
  516. ]
  517. },
  518. {
  519. value: "form",
  520. label: "Form",
  521. children: [
  522. {
  523. value: "radio",
  524. label: "Radio 单选框"
  525. },
  526. {
  527. value: "checkbox",
  528. label: "Checkbox 多选框"
  529. },
  530. {
  531. value: "input",
  532. label: "Input 输入框"
  533. },
  534. {
  535. value: "input-number",
  536. label: "InputNumber 计数器"
  537. },
  538. {
  539. value: "select",
  540. label: "Select 选择器"
  541. },
  542. {
  543. value: "cascader",
  544. label: "Cascader 级联选择器"
  545. },
  546. {
  547. value: "switch",
  548. label: "Switch 开关"
  549. },
  550. {
  551. value: "slider",
  552. label: "Slider 滑块"
  553. },
  554. {
  555. value: "time-picker",
  556. label: "TimePicker 时间选择器"
  557. },
  558. {
  559. value: "date-picker",
  560. label: "DatePicker 日期选择器"
  561. },
  562. {
  563. value: "datetime-picker",
  564. label: "DateTimePicker 日期时间选择器"
  565. },
  566. {
  567. value: "upload",
  568. label: "Upload 上传"
  569. },
  570. {
  571. value: "rate",
  572. label: "Rate 评分"
  573. },
  574. {
  575. value: "form",
  576. label: "Form 表单"
  577. }
  578. ]
  579. },
  580. {
  581. value: "data",
  582. label: "Data",
  583. children: [
  584. {
  585. value: "table",
  586. label: "Table 表格"
  587. },
  588. {
  589. value: "tag",
  590. label: "Tag 标签"
  591. },
  592. {
  593. value: "progress",
  594. label: "Progress 进度条"
  595. },
  596. {
  597. value: "tree",
  598. label: "Tree 树形控件"
  599. },
  600. {
  601. value: "pagination",
  602. label: "Pagination 分页"
  603. },
  604. {
  605. value: "badge",
  606. label: "Badge 标记"
  607. }
  608. ]
  609. },
  610. {
  611. value: "notice",
  612. label: "Notice",
  613. children: [
  614. {
  615. value: "alert",
  616. label: "Alert 警告"
  617. },
  618. {
  619. value: "loading",
  620. label: "Loading 加载"
  621. },
  622. {
  623. value: "message",
  624. label: "Message 消息提示"
  625. },
  626. {
  627. value: "message-box",
  628. label: "MessageBox 弹框"
  629. },
  630. {
  631. value: "notification",
  632. label: "Notification 通知"
  633. }
  634. ]
  635. },
  636. {
  637. value: "navigation",
  638. label: "Navigation",
  639. children: [
  640. {
  641. value: "menu",
  642. label: "NavMenu 导航菜单"
  643. },
  644. {
  645. value: "tabs",
  646. label: "Tabs 标签页"
  647. },
  648. {
  649. value: "breadcrumb",
  650. label: "Breadcrumb 面包屑"
  651. },
  652. {
  653. value: "dropdown",
  654. label: "Dropdown 下拉菜单"
  655. },
  656. {
  657. value: "steps",
  658. label: "Steps 步骤条"
  659. }
  660. ]
  661. },
  662. {
  663. value: "others",
  664. label: "Others",
  665. children: [
  666. {
  667. value: "dialog",
  668. label: "Dialog 对话框"
  669. },
  670. {
  671. value: "tooltip",
  672. label: "Tooltip 文字提示"
  673. },
  674. {
  675. value: "popover",
  676. label: "Popover 弹出框"
  677. },
  678. {
  679. value: "card",
  680. label: "Card 卡片"
  681. },
  682. {
  683. value: "carousel",
  684. label: "Carousel 走马灯"
  685. },
  686. {
  687. value: "collapse",
  688. label: "Collapse 折叠面板"
  689. }
  690. ]
  691. }
  692. ]
  693. },
  694. {
  695. value: "ziyuan",
  696. label: "资源",
  697. children: [
  698. {
  699. value: "axure",
  700. label: "Axure Components"
  701. },
  702. {
  703. value: "sketch",
  704. label: "Sketch Templates"
  705. },
  706. {
  707. value: "jiaohu",
  708. label: "组件交互文档"
  709. }
  710. ]
  711. }
  712. ],
  713. industryList: [
  714. {
  715. value: "zhinan",
  716. label: "指南",
  717. children: [
  718. {
  719. value: "shejiyuanze",
  720. label: "设计原则",
  721. children: [
  722. {
  723. value: "yizhi",
  724. label: "一致"
  725. },
  726. {
  727. value: "fankui",
  728. label: "反馈"
  729. },
  730. {
  731. value: "xiaolv",
  732. label: "效率"
  733. },
  734. {
  735. value: "kekong",
  736. label: "可控"
  737. }
  738. ]
  739. },
  740. {
  741. value: "daohang",
  742. label: "导航",
  743. children: [
  744. {
  745. value: "cexiangdaohang",
  746. label: "侧向导航"
  747. },
  748. {
  749. value: "dingbudaohang",
  750. label: "顶部导航"
  751. }
  752. ]
  753. }
  754. ]
  755. },
  756. {
  757. value: "zujian",
  758. label: "组件",
  759. children: [
  760. {
  761. value: "basic",
  762. label: "Basic",
  763. children: [
  764. {
  765. value: "layout",
  766. label: "Layout 布局"
  767. },
  768. {
  769. value: "color",
  770. label: "Color 色彩"
  771. },
  772. {
  773. value: "typography",
  774. label: "Typography 字体"
  775. },
  776. {
  777. value: "icon",
  778. label: "Icon 图标"
  779. },
  780. {
  781. value: "button",
  782. label: "Button 按钮"
  783. }
  784. ]
  785. },
  786. {
  787. value: "form",
  788. label: "Form",
  789. children: [
  790. {
  791. value: "radio",
  792. label: "Radio 单选框"
  793. },
  794. {
  795. value: "checkbox",
  796. label: "Checkbox 多选框"
  797. },
  798. {
  799. value: "input",
  800. label: "Input 输入框"
  801. },
  802. {
  803. value: "input-number",
  804. label: "InputNumber 计数器"
  805. },
  806. {
  807. value: "select",
  808. label: "Select 选择器"
  809. },
  810. {
  811. value: "cascader",
  812. label: "Cascader 级联选择器"
  813. },
  814. {
  815. value: "switch",
  816. label: "Switch 开关"
  817. },
  818. {
  819. value: "slider",
  820. label: "Slider 滑块"
  821. },
  822. {
  823. value: "time-picker",
  824. label: "TimePicker 时间选择器"
  825. },
  826. {
  827. value: "date-picker",
  828. label: "DatePicker 日期选择器"
  829. },
  830. {
  831. value: "datetime-picker",
  832. label: "DateTimePicker 日期时间选择器"
  833. },
  834. {
  835. value: "upload",
  836. label: "Upload 上传"
  837. },
  838. {
  839. value: "rate",
  840. label: "Rate 评分"
  841. },
  842. {
  843. value: "form",
  844. label: "Form 表单"
  845. }
  846. ]
  847. },
  848. {
  849. value: "data",
  850. label: "Data",
  851. children: [
  852. {
  853. value: "table",
  854. label: "Table 表格"
  855. },
  856. {
  857. value: "tag",
  858. label: "Tag 标签"
  859. },
  860. {
  861. value: "progress",
  862. label: "Progress 进度条"
  863. },
  864. {
  865. value: "tree",
  866. label: "Tree 树形控件"
  867. },
  868. {
  869. value: "pagination",
  870. label: "Pagination 分页"
  871. },
  872. {
  873. value: "badge",
  874. label: "Badge 标记"
  875. }
  876. ]
  877. },
  878. {
  879. value: "notice",
  880. label: "Notice",
  881. children: [
  882. {
  883. value: "alert",
  884. label: "Alert 警告"
  885. },
  886. {
  887. value: "loading",
  888. label: "Loading 加载"
  889. },
  890. {
  891. value: "message",
  892. label: "Message 消息提示"
  893. },
  894. {
  895. value: "message-box",
  896. label: "MessageBox 弹框"
  897. },
  898. {
  899. value: "notification",
  900. label: "Notification 通知"
  901. }
  902. ]
  903. },
  904. {
  905. value: "navigation",
  906. label: "Navigation",
  907. children: [
  908. {
  909. value: "menu",
  910. label: "NavMenu 导航菜单"
  911. },
  912. {
  913. value: "tabs",
  914. label: "Tabs 标签页"
  915. },
  916. {
  917. value: "breadcrumb",
  918. label: "Breadcrumb 面包屑"
  919. },
  920. {
  921. value: "dropdown",
  922. label: "Dropdown 下拉菜单"
  923. },
  924. {
  925. value: "steps",
  926. label: "Steps 步骤条"
  927. }
  928. ]
  929. },
  930. {
  931. value: "others",
  932. label: "Others",
  933. children: [
  934. {
  935. value: "dialog",
  936. label: "Dialog 对话框"
  937. },
  938. {
  939. value: "tooltip",
  940. label: "Tooltip 文字提示"
  941. },
  942. {
  943. value: "popover",
  944. label: "Popover 弹出框"
  945. },
  946. {
  947. value: "card",
  948. label: "Card 卡片"
  949. },
  950. {
  951. value: "carousel",
  952. label: "Carousel 走马灯"
  953. },
  954. {
  955. value: "collapse",
  956. label: "Collapse 折叠面板"
  957. }
  958. ]
  959. }
  960. ]
  961. },
  962. {
  963. value: "ziyuan",
  964. label: "资源",
  965. children: [
  966. {
  967. value: "axure",
  968. label: "Axure Components"
  969. },
  970. {
  971. value: "sketch",
  972. label: "Sketch Templates"
  973. },
  974. {
  975. value: "jiaohu",
  976. label: "组件交互文档"
  977. }
  978. ]
  979. }
  980. ]
  981. };
  982. },
  983. computed: {
  984. whole() {
  985. return this.listData.whole || {};
  986. }
  987. },
  988. mounted() {
  989. this.getTableData();
  990. },
  991. filters: {
  992. toDate(val) {
  993. return new Date(val * 1000).toLocaleDateString();
  994. },
  995. projectLink(i) {
  996. const type = i.entity_type;
  997. let link = "javascript:void(0)";
  998. if (type === "1") link = `/rooter/outsourceitem/${i.entity_id}>`;
  999. else if (type === "3") link = `/rooter/wagedetails?job_id=${i.entity_id}`;
  1000. return link;
  1001. }
  1002. },
  1003. methods: {
  1004. handleQuery() {
  1005. console.log("query...");
  1006. },
  1007. /**
  1008. * 点击 uid
  1009. */
  1010. clickUID({ uid }) {
  1011. if (env === "test")
  1012. window.open(
  1013. this.$store.state.domainConfig.siteUrl + `/rooter/user/${uid}`
  1014. );
  1015. else
  1016. window.open(
  1017. this.$store.state.domainConfig.siteUrl + `/rooter/user/${uid}`
  1018. );
  1019. },
  1020. // 页码变动
  1021. changePagination() {
  1022. this.getTableData();
  1023. },
  1024. // 格式化列表数据
  1025. formatTableData(data) {
  1026. return data.map(i => {
  1027. let projectName = "--";
  1028. let prePay = "";
  1029. let servicePay = "";
  1030. let getPay = "";
  1031. let realGet = "";
  1032. return {
  1033. ...i
  1034. };
  1035. });
  1036. },
  1037. // 获取列表数据
  1038. async getTableData() {
  1039. this.tableData = [];
  1040. const p = this.currentPage;
  1041. const res = await this.$post("/api/admin/vip/getVips", {
  1042. page: this.currentPage,
  1043. page_size: 10
  1044. });
  1045. // console.log(res)
  1046. const data = res.data;
  1047. env = data.current_env;
  1048. const list = data.list;
  1049. this.listData = data;
  1050. this.tableData = list; // this.formatTableData(list, data)
  1051. this.totalCount = Number(data.total);
  1052. this.totalPage = data.pages;
  1053. }
  1054. }
  1055. };
  1056. </script>
  1057. <style scoped lang="scss">
  1058. .form-inline {
  1059. display: flex;
  1060. flex-wrap: wrap;
  1061. }
  1062. </style>