Lesson.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. <template>
  2. <div class="context">
  3. <div class="panel">
  4. <h5>课程管理</h5>
  5. </div>
  6. <div class="change">
  7. <el-button type="primary" @click="addLesson">新增课程</el-button>
  8. <el-button @click="lessonStudenChange">增删课程会员</el-button>
  9. <el-button @click="delList">删除</el-button>
  10. <el-button @click="query">刷新</el-button>
  11. </div>
  12. <div class="table">
  13. <el-table
  14. :data="tableData"
  15. border
  16. is-horizontal-resize
  17. :default-sort="{prop: 'date', order: 'descending'}"
  18. element-loading-background="rgba(0, 0, 0, 0.8)"
  19. @selection-change="handleSelectionChange"
  20. >
  21. <el-table-column
  22. type="selection"
  23. width="55">
  24. </el-table-column>
  25. <el-table-column
  26. type="index"
  27. label="序号"
  28. width="50">
  29. </el-table-column>
  30. <el-table-column
  31. prop="ClassSelf.ClassName"
  32. label="课程名称"
  33. >
  34. </el-table-column>
  35. <el-table-column
  36. prop="ClassSelf.ClassType"
  37. label="是否通用"
  38. width="110"
  39. align="center"
  40. sortable
  41. >
  42. <template slot-scope="scope">
  43. <span v-if="scope.row.ClassSelf.ClassType == 1">是</span>
  44. <span v-if="scope.row.ClassSelf.ClassType == 0">否</span>
  45. </template>
  46. </el-table-column>
  47. <el-table-column
  48. prop="ClassSelf.ShopId"
  49. label="课程类型"
  50. width="110"
  51. align="center"
  52. sortable
  53. >
  54. <template slot-scope="scope">
  55. <span v-if="scope.row.ClassSelf.ShopId != 0">占用课时</span>
  56. <span v-if="scope.row.ClassSelf.ShopId == 0">不占课时</span>
  57. </template>
  58. </el-table-column>
  59. <el-table-column
  60. prop="ClassSelf.ConsumeHour"
  61. label="消耗课时"
  62. sortable
  63. >
  64. </el-table-column>
  65. <el-table-column
  66. prop="ClassSelf.TopLimit"
  67. label="建议上课人数"
  68. sortable
  69. >
  70. </el-table-column>
  71. <el-table-column
  72. prop="ClassSelf.WxVisible"
  73. label="微信可见"
  74. >
  75. <template slot-scope="scope">
  76. <el-switch
  77. v-model="scope.row.ClassSelf.WxVisible"
  78. :active-value="1"
  79. :inactive-value="0"
  80. active-color="#409EFF"
  81. inactive-color="#D9D9D9"
  82. @change=changeWechat($event,scope.row.ClassSelf)
  83. >
  84. </el-switch>
  85. </template>
  86. </el-table-column>
  87. <el-table-column
  88. prop="ClassSelf.ClassColor"
  89. label="课程颜色"
  90. width="110"
  91. >
  92. <template slot-scope="scope">
  93. <el-color-picker v-model="scope.row.ClassSelf.ClassColor"
  94. @change="changeColor(scope.row.ClassSelf.ClassColor,scope.row.ClassSelf)"></el-color-picker>
  95. </template>
  96. </el-table-column>
  97. <el-table-column
  98. prop="ClassSelf.Memo"
  99. label="备注">
  100. <template slot-scope="scope">
  101. <el-popover
  102. placement="top"
  103. title="标题"
  104. width="200"
  105. trigger="hover"
  106. :content="scope.row.ClassSelf.Memo">
  107. <span slot="reference"
  108. v-if="scope.row.ClassSelf.Memo.length > 6">{{scope.row.ClassSelf.Memo.substr(0,6)}} ....</span>
  109. </el-popover>
  110. <span v-if="scope.row.ClassSelf.Memo.length <= 6">{{scope.row.ClassSelf.Memo}}</span>
  111. </template>
  112. </el-table-column>
  113. <el-table-column
  114. prop="ClassSelf.ClassId"
  115. label="操作"
  116. >
  117. <template slot-scope="scope">
  118. <el-button type="text" @click="editLesson(scope.row.ClassSelf)">编辑</el-button>
  119. <el-button type="text" @click="Lessonmember(scope.row.Userlist)">课程会员</el-button>
  120. </template>
  121. </el-table-column>
  122. </el-table>
  123. <br>
  124. <el-pagination
  125. background
  126. :total="pageination.total"
  127. :page-size="pageination.pageItem"
  128. @current-change="pageChange"
  129. ></el-pagination>
  130. </div>
  131. <el-dialog :title="dialogTitle" :visible.sync="dialogLesson" width="1200px">
  132. <div>
  133. <div class="pull-left">
  134. <el-form ref="form" :model="form" label-width="160px">
  135. <el-form-item label="课程名称">
  136. <el-input v-model="form.ClassName"></el-input>
  137. </el-form-item>
  138. <el-form-item label="消耗课时">
  139. <el-input-number v-model="form.ConsumeHour" :min="0" :max="99999"
  140. label="(天)"></el-input-number>
  141. </el-form-item>
  142. <el-form-item label="建议上课人数">
  143. <el-input-number v-model="form.TopLimit" :min="0" :max="99999"
  144. label="(天)"></el-input-number>
  145. </el-form-item>
  146. <el-form-item label="微信可见">
  147. <el-switch
  148. v-model="form.wxVisible"
  149. :active-value="1"
  150. :inactive-value="0"
  151. active-color="#409EFF"
  152. inactive-color="#D9D9D9">
  153. </el-switch>
  154. </el-form-item>
  155. <el-form-item label="是否占课时">
  156. <el-switch
  157. v-model="form.classType"
  158. :active-value="1"
  159. :inactive-value="0"
  160. active-color="#409EFF"
  161. inactive-color="#D9D9D9">
  162. </el-switch>
  163. </el-form-item>
  164. <el-form-item label="是否通用">
  165. <el-switch
  166. v-model="form.allUse"
  167. :active-value="0"
  168. :inactive-value="1"
  169. active-color="#409EFF"
  170. inactive-color="#D9D9D9">
  171. </el-switch>
  172. </el-form-item>
  173. <el-form-item label="课程颜色">
  174. <el-color-picker v-model="form.ClassColor"></el-color-picker>
  175. </el-form-item>
  176. <el-form-item label="备注">
  177. <el-input v-model="form.Memo"></el-input>
  178. </el-form-item>
  179. </el-form>
  180. </div>
  181. <div class="pull-right">
  182. <el-form ref="form" :model="form" label-width="160px">
  183. <el-form-item label="课程会员人数">
  184. <el-transfer filterable v-model="form.dialogValue" :data="form.dialogdata"
  185. :titles="['全部会员','已选会员']"></el-transfer>
  186. </el-form-item>
  187. </el-form>
  188. </div>
  189. </div>
  190. <div class="dialogFooter">
  191. <el-button type="primary" size="small" v-if="form.btnType == 0" @click="confirmAddLesson">确定</el-button>
  192. <el-button type="primary" size="small" v-if="form.btnType == 1" @click="confirmEditLesson">确定
  193. </el-button>
  194. <el-button size="small" @click="dialogLesson = false">取消</el-button>
  195. </div>
  196. </el-dialog>
  197. <el-dialog title="增删课程会员" :visible.sync="dialogVisible" width="650px">
  198. <div class="dialogTitle">
  199. <span>基础功能</span>
  200. </div>
  201. <div>
  202. <el-transfer filterable v-model="dialogValue" :data="form.dialogdata"
  203. :titles="['会员列表', '已添加会员']"></el-transfer>
  204. </div>
  205. <div class="dialogFooter">
  206. <el-button type="primary" size="small" @click="cofirmClassVipuserEdit">确定</el-button>
  207. <el-button @click=" dialogVisible = false" size="small">取消</el-button>
  208. </div>
  209. </el-dialog>
  210. <el-dialog title="课程会员" :visible.sync="dialogTableVisible" style="overflow-y: scroll">
  211. <el-table :data="gridData">
  212. <el-table-column property="Name" label="姓名" width="200"></el-table-column>
  213. <el-table-column property="Phone" label="手机"></el-table-column>
  214. <el-table-column property="VipType" label="会员类型">
  215. <template slot-scope="scope">
  216. <span v-if="scope.row.VipType == 1">年费会员</span>
  217. <span v-if="scope.row.VipType == 2">充值会员</span>
  218. </template>
  219. </el-table-column>
  220. <el-table-column property="ExpTime" label="有效期" :formatter="filterFmtDate"></el-table-column>
  221. </el-table>
  222. </el-dialog>
  223. </div>
  224. </template>
  225. <script>
  226. import Global from '../Global.js'
  227. import {
  228. ClassAdd,
  229. ClassEdit,
  230. ClassListQuery,
  231. ClassColorEdit,
  232. ClassStatusEdit,
  233. VipUserListQuery,
  234. ClassVisibleStatusEdit,
  235. ClassVipuserQuery,
  236. ClassVipuserEdit,
  237. testTable,
  238. testSelect
  239. } from "../api/getApiRes";
  240. let qs = require('qs');
  241. export default {
  242. data() {
  243. return {
  244. dialogLesson: false,//新增课程
  245. dialogVisible: false,
  246. dialogTableVisible: false,
  247. dialogTitle: '',
  248. dialogdata: [],
  249. gridData: [],
  250. dialogValue: [],
  251. allTableData: [],
  252. // panel 配置项目
  253. panel: {
  254. usercode: '',
  255. username: '',
  256. compname: '',
  257. keyword: '',
  258. USERCODE: '',
  259. taskstatus: 99,
  260. tableData: [],
  261. allTableData: [],
  262. draw: 1,
  263. start: 0,
  264. recordsTotal: 0,
  265. limit: '10',
  266. multipleSort: false,
  267. loading: false,
  268. fileList: [],
  269. multipleSelection: [],
  270. detectedmac: '',
  271. options: [
  272. {value: 99, label: '全部'},
  273. {value: 1, label: '进行中'},
  274. {value: 2, label: '已完成'},
  275. ],
  276. time1: globalBt(),
  277. },
  278. form: {
  279. ClassName: "",
  280. ConsumeHour: 0,
  281. TopLimit: 0,
  282. wxVisible: 1,
  283. classType: 1,
  284. ClassColor: "#ffffff",
  285. teacherId: "",
  286. classId: "",
  287. allUse: "",
  288. Memo: "",
  289. dialogdata: [],//穿梭待选
  290. dialogValue: [],//穿梭已选
  291. },
  292. multipleSelection: [],
  293. pageination: {
  294. pageItem: 100,
  295. pageoptions: pageOptions(),
  296. total: 100,
  297. pageIndex: 1,
  298. },
  299. tableData: []
  300. }
  301. },
  302. mounted() {
  303. this.panelSelect();
  304. this.getTableQuery();
  305. },
  306. methods: {
  307. // 课程会员增删
  308. cofirmClassVipuserEdit() {
  309. let that = this;
  310. let userlist = that.dialogValue.toString();
  311. let param = {
  312. token: localStorage.token,
  313. classId: this.form.classId,
  314. userlist: userlist,
  315. };
  316. let postdata = qs.stringify(param);
  317. ClassVipuserEdit(postdata).then(res => {
  318. let json = res;
  319. if (json.Code == 0) {
  320. that.$message({
  321. showClose: true,
  322. message: '接口修改成功!',
  323. type: 'success'
  324. });
  325. that.dialogVisible = false
  326. that.getTableQuery();
  327. } else {
  328. that.$message.error(json.Memo);
  329. }
  330. })
  331. },
  332. // 确认添加课程
  333. confirmAddLesson() {
  334. let that = this;
  335. // checkNum
  336. if (!that.form.ClassName) {
  337. this.$message.error('错了哦,课程名称不能为空');
  338. return false
  339. }
  340. if (that.form.ClassName.length > 20) {
  341. this.$message.error('错了哦,课程名称字数超过20个字');
  342. return false
  343. }
  344. if (that.form.Memo) {
  345. if (that.form.Memo.length > 200) {
  346. this.$message.error('错了哦,备注字数超过200个字');
  347. return false
  348. }
  349. }
  350. let userlist = that.form.dialogValue.toString();
  351. let param = {
  352. token: localStorage.token,
  353. shopId: localStorage.shopId,
  354. className: that.form.ClassName,
  355. consumeHour: that.form.ConsumeHour,
  356. topLimit: that.form.TopLimit,
  357. classType: that.form.classType,
  358. wxVisible: that.form.wxVisible,
  359. classColor: that.form.ClassColor,
  360. userlist: userlist,
  361. teacherId: 0,//预留
  362. memo: that.form.Memo,
  363. };
  364. let postdata = qs.stringify(param);
  365. ClassAdd(postdata).then(res => {
  366. let json = res;
  367. if (json.Code == 0) {
  368. // 关闭弹窗
  369. that.dialogLesson = false;
  370. // 重载列表
  371. that.getTableQuery();
  372. that.$message({
  373. showClose: true,
  374. message: '添加课程成功!',
  375. type: 'success'
  376. });
  377. } else {
  378. that.$message.error(json.Memo);
  379. }
  380. })
  381. },
  382. confirmEditLesson() {
  383. let that = this;
  384. // checkNum
  385. if (!that.form.ClassName) {
  386. this.$message.error('错了哦,课程名称不能为空');
  387. return false
  388. }
  389. if (that.form.ClassName.length > 20) {
  390. this.$message.error('错了哦,课程名称字数超过20个字');
  391. return false
  392. }
  393. if (that.form.Memo) {
  394. if (that.form.Memo.length > 200) {
  395. this.$message.error('错了哦,备注字数超过200个字');
  396. return false
  397. }
  398. }
  399. let teacherId = that.form.dialogValue ? that.form.dialogValue.toString() : '';
  400. // 通用是0,非通用是shopid
  401. let shopId = that.form.allUse == 0 ? 0 : localStorage.ShopId;
  402. let param = {
  403. token: localStorage.token,
  404. shopId: shopId,
  405. classId: that.form.classId,
  406. className: that.form.ClassName,
  407. consumeHour: that.form.ConsumeHour,
  408. topLimit: that.form.TopLimit,
  409. classType: that.form.classType,
  410. wxVisible: that.form.wxVisible,
  411. classColor: that.form.ClassColor,
  412. teacherId: teacherId,
  413. memo: that.form.Memo,
  414. };
  415. let postdata = qs.stringify(param);
  416. ClassEdit(postdata).then(res => {
  417. let json = res;
  418. if (json.Code == 0) {
  419. // 关闭弹窗
  420. that.dialogLesson = false;
  421. // 重载列表
  422. that.getTableQuery();
  423. that.$message({
  424. showClose: true,
  425. message: '会员课程调整成功!',
  426. type: 'success'
  427. });
  428. } else {
  429. that.$message.error(json.Memo);
  430. }
  431. })
  432. },
  433. // 新增课程
  434. addLesson() {
  435. this.form.btnType = 0; //新增
  436. // clear
  437. this.form.ClassName = '';
  438. this.form.ConsumeHour = 0;
  439. this.form.TopLimit = 0;
  440. this.form.wxVisible = 1;
  441. this.form.ClassColor = "#ffffff";
  442. this.form.Memo = "";
  443. this.form.dialogValue = [];
  444. this.dialogLesson = true;
  445. this.dialogTitle = '新增课程'
  446. this.panelSelect();
  447. },
  448. // 改色
  449. changeColor(c, row) {
  450. let that = this;
  451. let param = {
  452. token: localStorage.token,
  453. classId: row.ClassId,//
  454. classColor: c,//
  455. };
  456. let postdata = qs.stringify(param);
  457. ClassColorEdit(postdata).then(res => {
  458. let json = res;
  459. if (json.Code == 0) {
  460. that.$message({
  461. showClose: true,
  462. message: '课程颜色已编辑',
  463. type: 'success'
  464. });
  465. // 重载列表
  466. that.getTableQuery();
  467. } else {
  468. that.$message.error(json.Memo);
  469. }
  470. })
  471. },
  472. // 删除
  473. delList() {
  474. let that = this;
  475. // checkNum
  476. if (!this.multipleSelection.length) {
  477. that.$message({
  478. showClose: true,
  479. message: '错了哦,需要先选中至少一条记录',
  480. type: 'error'
  481. });
  482. return false
  483. }
  484. if (this.multipleSelection.length != 1) {
  485. that.$message({
  486. showClose: true,
  487. message: '错了哦,只能选中一条记录',
  488. type: 'error'
  489. });
  490. return false
  491. }
  492. let row = that.multipleSelection[0];
  493. console.log(row);
  494. let param = {
  495. token: localStorage.token,
  496. classId: row.ClassSelf.ClassId,
  497. status: 9,//0禁用1启用9删除
  498. };
  499. let postdata = qs.stringify(param);
  500. this.$confirm('此操作将永久删除该课程, 是否继续?', '提示', {
  501. confirmButtonText: '确定',
  502. cancelButtonText: '取消',
  503. type: 'warning'
  504. }).then(() => {
  505. ClassStatusEdit(postdata).then(res => {
  506. let json = res;
  507. if (json.Code == 0) {
  508. that.$message({
  509. showClose: true,
  510. message: '选中的课程已删除!',
  511. type: 'success'
  512. });
  513. // 重载列表
  514. that.getTableQuery();
  515. } else {
  516. that.$message.error(json.Memo);
  517. }
  518. });
  519. }).catch(() => {
  520. this.$message({
  521. type: 'info',
  522. message: '已取消删除'
  523. });
  524. });
  525. },
  526. // 加载选项
  527. panelSelect() {
  528. let that = this;
  529. let param = {
  530. token: localStorage.token,
  531. vipType: '',
  532. start: 1,
  533. expDay: '',
  534. tableMax: 9999,
  535. };
  536. let postdata = qs.stringify(param);
  537. VipUserListQuery(postdata).then(res => {
  538. let json = res;
  539. if (json.Code == 0) {
  540. // that.dialogdata = json.Rs;
  541. that.form.dialogdata = turnResToOption(json.Rs)
  542. } else {
  543. that.$message.error(json.Memo);
  544. }
  545. })
  546. },
  547. // 微信可见与否
  548. changeWechat(e, row) {
  549. let that = this;
  550. let param = {
  551. token: localStorage.token,
  552. classId: row.ClassId,//
  553. wxVisible: e,//
  554. };
  555. let postdata = qs.stringify(param);
  556. ClassVisibleStatusEdit(postdata).then(res => {
  557. let json = res;
  558. let text = parseInt(e) == 1 ? '可见' : '不可见';
  559. if (json.Code == 0) {
  560. that.$message({
  561. showClose: true,
  562. message: '当前用户微信已' + text,
  563. type: 'success'
  564. });
  565. // 重载列表
  566. that.getTableQuery();
  567. } else {
  568. that.$message.error(json.Memo);
  569. }
  570. })
  571. },
  572. // 增删会员课程
  573. lessonStudenChange() {
  574. if (!this.multipleSelection.length) {
  575. this.$message({
  576. showClose: true,
  577. message: '错了哦,需要先选中至少一条记录',
  578. type: 'error'
  579. });
  580. return false
  581. }
  582. if (this.multipleSelection.length != 1) {
  583. this.$message({
  584. showClose: true,
  585. message: '错了哦,只能选中一条记录',
  586. type: 'error'
  587. });
  588. return false
  589. }
  590. this.panelSelect();
  591. let row = this.multipleSelection[0];
  592. let userArrary = [];
  593. row.Userlist.map(function (item) {
  594. userArrary.push(item.Id)
  595. })
  596. this.form.classId = row.ClassSelf.ClassId;
  597. this.dialogValue = userArrary;
  598. this.dialogVisible = true
  599. // 读取左侧会员列表
  600. },
  601. handleSelectionChange(val) {
  602. this.multipleSelection = val;
  603. },
  604. clearForm() {
  605. // clear
  606. this.form.ClassName = '';
  607. this.form.ConsumeHour = 0;
  608. this.form.TopLimit = 0;
  609. this.form.wxVisible = 1;
  610. this.form.ClassColor = '';
  611. this.form.Memo = '';
  612. },
  613. // 编辑
  614. editLesson(row) {
  615. let that = this;
  616. this.clearForm();
  617. this.form.btnType = 1; //编辑
  618. this.form.ClassName = row.ClassName;
  619. this.form.ConsumeHour = row.ConsumeHour;
  620. this.form.TopLimit = row.TopLimit;
  621. this.form.wxVisible = row.WxVisible;
  622. this.form.ClassColor = row.ClassColor;
  623. this.form.Memo = row.Memo;
  624. this.form.dialogValue = row.teacherId;
  625. this.form.classId = row.ClassId
  626. this.form.ShopId = row.ShopId;
  627. this.form.allUse = row.ShopId;
  628. this.dialogLesson = true
  629. this.dialogTitle = '编辑课程'
  630. },
  631. Lessonmember(Userlist) {
  632. this.dialogTableVisible = true;
  633. this.gridData = Userlist;
  634. },
  635. // 查询按钮
  636. query() {
  637. this.getTableQuery();
  638. this.$message.success('查询完毕');
  639. },
  640. // 页面数据查询
  641. getTableQuery() {
  642. let that = this;
  643. that.loading = true;
  644. let param = {
  645. token: localStorage.token,
  646. supregionid: 0,//
  647. regionid: this.panel.regionid,//
  648. comid: 1,//
  649. tagname: that.panel.tagname,//标签名
  650. start: 1,//
  651. tableMax: 9999,//
  652. };
  653. let postdata = qs.stringify(param);
  654. ClassListQuery(postdata).then(res => {
  655. let json = res;
  656. if (json.Code == 0) {
  657. that.loading = false;
  658. if (json.Rs) {
  659. that.allTableData = json.Rs;
  660. that.recordsTotal = json.Rs.length;
  661. } else {
  662. that.allTableData = [];
  663. that.recordsTotal = 0;
  664. }
  665. // 设置分页数据
  666. that.setPaginations();
  667. } else {
  668. that.$message.error(json.Memo);
  669. }
  670. })
  671. },
  672. // 设置分页数据
  673. setPaginations() {
  674. // 分页属性
  675. let that = this;
  676. that.pageination.total = that.recordsTotal;
  677. // 默认分页
  678. that.tableData = that.allTableData.filter((item, index) => {
  679. return index < that.pageination.pageItem;
  680. });
  681. },
  682. // 每页显示数量
  683. handleSizeChange() {
  684. let that = this;
  685. that.tableData = that.allTableData.filter((item, index) => {
  686. return index < that.pageination.pageItem;
  687. });
  688. that.draw = that.pageination.pageItem;
  689. that.getTableQuery();
  690. },
  691. // 翻页
  692. pageChange(pageIndex) {
  693. let that = this;
  694. // 获取当前页
  695. let index = that.pageination.pageItem * (pageIndex - 1);
  696. // 数据总数
  697. let nums = that.pageination.pageItem * pageIndex;
  698. // 容器
  699. let tables = [];
  700. for (var i = index; i < nums; i++) {
  701. if (that.allTableData[i]) {
  702. tables.push(that.allTableData[i])
  703. }
  704. this.tableData = tables;
  705. }
  706. that.start = index * that.draw;
  707. that.getTableQuery();
  708. },
  709. // 过滤时间
  710. filterFmtDate(value, row, column) {
  711. let that = this;
  712. return nonTfmtDate(column, 11);
  713. },
  714. },
  715. }
  716. </script>
  717. <style scoped>
  718. @import "../assets/css/panel.css";
  719. .context {
  720. height: 770px;
  721. overflow-y: scroll;
  722. display: block;
  723. margin: 0 auto;
  724. background-color: #fff !important;
  725. padding: 30px;
  726. }
  727. .panel-body {
  728. padding: 20px;
  729. background: #F0F2F5;
  730. }
  731. .change {
  732. width: 100%;
  733. overflow: hidden;
  734. display: block;
  735. margin: 0 auto;
  736. padding-top: 10px;
  737. padding-bottom: 10px;
  738. }
  739. .change button {
  740. float: left;
  741. }
  742. .change button.pull-right {
  743. float: right;
  744. }
  745. .dialogTitle {
  746. width: 100%;
  747. overflow: hidden;
  748. display: block;
  749. margin: 0 auto;
  750. color: #000000;
  751. font-size: 18px;
  752. text-align: center;
  753. }
  754. .dialogTitle span {
  755. width: 169px;
  756. height: 40px;
  757. line-height: 40px;
  758. text-align: center;
  759. color: #fff;
  760. background: #3799FF;
  761. border-radius: 250px;
  762. font-size: 18px;
  763. overflow: hidden;
  764. display: block;
  765. margin: 0 auto;
  766. margin-bottom: 30px;
  767. }
  768. .dialogTitle em {
  769. float: none;
  770. font-style: normal;
  771. color: #3799FF;
  772. margin: 0;
  773. }
  774. /deep/ .el-transfer-panel__item .el-checkbox__input {
  775. left: 40px;
  776. }
  777. .dialogFooter {
  778. width: 90%;
  779. overflow: hidden;
  780. display: block;
  781. margin: 0 auto;
  782. margin-top: 10px;
  783. }
  784. .dialogFooter button {
  785. float: right;
  786. margin-left: 10px;
  787. }
  788. .pull-left {
  789. width: 30%;
  790. float: left;
  791. }
  792. .pull-right {
  793. width: 70%;
  794. float: right;
  795. }
  796. /deep/ .el-transfer-panel__item .el-checkbox__input {
  797. left: 15px;
  798. }
  799. </style>