Lesson.vue 31 KB

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