Dispatching.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. <template>
  2. <div>
  3. <Toptitle title="派工">
  4. <Button @click="goBack" type="primary" ghost style="margin-right:10px;"
  5. >返回</Button
  6. >
  7. <Button
  8. @click="handleGoPage"
  9. type="primary"
  10. ghost
  11. style="margin-right:10px;"
  12. >派工单查询</Button
  13. >
  14. <Button
  15. @click="handleDispatchConfirm"
  16. type="primary"
  17. style="margin-right:10px;"
  18. >确认派工</Button
  19. >
  20. </Toptitle>
  21. <div class="main">
  22. <Form style='display:flex;margin:15px 0;flex-wrap:wrap' :label-width='100'>
  23. <FormItem label='订单编号:' >
  24. <Select style="width:200px" v-model="searchData.order_no" filterable @on-change='orderNoChange' clearable>
  25. <Option :value="item" :label="item" v-for="(item,index) in orderList" :key="index"></Option>
  26. </Select>
  27. </FormItem>
  28. <FormItem label='项目名称:' >
  29. <Select style="width:200px" v-model="searchData.residential_name" filterable @on-change='residentialNameChange' clearable>
  30. <Option :value="item" :label="item" v-for="(item,index) in projectList" :key="index"></Option>
  31. </Select>
  32. </FormItem>
  33. <FormItem label='图号:'>
  34. <Select style="width:200px" v-model="searchData.url_number" multiple filterable :disabled='show'>
  35. <Option :value="item" :label="item" v-for="(item,index) in urlNumberList" :key="index"></Option>
  36. </Select>
  37. </FormItem>
  38. <FormItem>
  39. <Button type="primary" @click="initData">搜索</Button>
  40. </FormItem>
  41. </Form>
  42. <div class="header">
  43. <Tabs v-model="currencyTag" @on-click="handleProcedureChange">
  44. <TabPane
  45. v-for="item in basicsProcedureList"
  46. :key="item.id"
  47. :label="item.title"
  48. :name="item.id + ''"
  49. />
  50. <div slot="extra" style="width:250px;line-height:40px;font-size:12px">
  51. <label style="width:130px">批量设置班组:</label>
  52. <Select v-model="group" size='small' style="z-index:99;position: fixed;width:150px;margin-top: 6px;margin-left:10px" @on-change='change_NK'> <Option :value="_item.id" :label="_item.nickname" v-for="_item in groupList" :key="_item.id">
  53. </Option> </Select>
  54. </div>
  55. </Tabs>
  56. </div>
  57. <div class="content">
  58. <Table
  59. :columns="tableColumns"
  60. border
  61. max-height="700"
  62. @on-selection-change="handleSelectionChange"
  63. :data="tableData"
  64. ref="y_table"
  65. >
  66. <template slot="slotGroup" slot-scope="{ row, index }">
  67. <Select
  68. v-model="row.employee_id"
  69. size="small"
  70. @on-change="
  71. (e) =>
  72. handleGroupSelect(
  73. e,
  74. tableData[index],
  75. index,
  76. tableData[index].employee_id
  77. )
  78. "
  79. clearable
  80. style="width: 150px"
  81. >
  82. <Option
  83. v-for="sitem in groupList"
  84. :key="sitem.id"
  85. :label="sitem.nickname"
  86. :value="sitem.id"
  87. >
  88. </Option>
  89. </Select>
  90. </template>
  91. <template slot="slotSet" slot-scope="{ row, index }">
  92. <a style="margin:0 5px" @click="handleSet(row, index)">详情</a>
  93. <!-- <a style="margin:0 5px" @click="handleDispatchConfirm(row, index)"
  94. >派工</a
  95. > -->
  96. </template>
  97. </Table>
  98. </div>
  99. </div>
  100. <div class="pageSlotStyle">
  101. <Page :page-size-opts="[10, 20, 30, 40,100,1000]"
  102. @on-page-size-change='changeSize'
  103. @on-change='changePage'
  104. :current='page_index'
  105. show-total
  106. :total="total"
  107. show-sizer
  108. :page-size='page_size' />
  109. </div>
  110. <Modal v-model="showModal" title="确认派工">
  111. <Form :label-width="85" ref="forms" :model="dispatchInfo">
  112. <FormItem label="选择时间">
  113. <DatePicker
  114. :options="options"
  115. style="width:100%;"
  116. v-model="dispatchTime"
  117. clearable
  118. type="daterange"
  119. split-panels
  120. placeholder="请选择日期"
  121. ></DatePicker>
  122. </FormItem>
  123. <FormItem label="点工单形式">
  124. <RadioGroup v-model="dispatchInfo.work_type">
  125. <Radio :label="1">是</Radio>
  126. <Radio :label="0">否</Radio>
  127. </RadioGroup>
  128. </FormItem>
  129. <FormItem label="日薪" v-if="dispatchInfo.work_type == 1">
  130. <Input v-model="dispatchInfo.user_salary">
  131. <span slot="append">元</span>
  132. </Input>
  133. </FormItem>
  134. </Form>
  135. <div slot="footer">
  136. <Button @click="showModal = false">取消</Button>
  137. <Button type="primary" @click="handleDispatch(subArr, subUrl)"
  138. >确认</Button
  139. >
  140. </div>
  141. </Modal>
  142. <Modal v-model="showModalAll" title="全部派工">
  143. <Table
  144. :columns="modalTableColumns"
  145. border
  146. max-height="700"
  147. :data="modalTableData"
  148. >
  149. <template slot="slotGroup" slot-scope="{ row, index }">
  150. <Select
  151. v-model="row.employee_id"
  152. size="small"
  153. @on-change="
  154. (e) =>
  155. handleGroupSelect(
  156. e,
  157. modalTableData[index],
  158. index,
  159. modalTableData[index].employee_id
  160. )
  161. "
  162. clearable
  163. style="width: 120px"
  164. >
  165. <Option
  166. v-for="sitem in groupList"
  167. :key="sitem.id"
  168. :label="sitem.nickname"
  169. :value="sitem.id"
  170. >
  171. </Option>
  172. </Select>
  173. </template>
  174. </Table>
  175. <div slot="footer">
  176. <Button @click="showModalAll = false">取消</Button>
  177. <Button type="primary" @click="handleDispatchAllConfirm">确认</Button>
  178. </div>
  179. </Modal>
  180. </div>
  181. </template>
  182. <script>
  183. // 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  184. // 例如:import 《组件名称》 from '《组件路径》';
  185. export default {
  186. name: "",
  187. components: {},
  188. props: {},
  189. // import引入的组件需要注入到对象中才能使用
  190. data() {
  191. // 这里存放数据
  192. return {
  193. show:true,
  194. orderList:[],
  195. urlNumberList:[],
  196. projectList:[],
  197. tableColumns: [
  198. { title: '全选', type: 'selection', align: 'center', minWidth: 60 },
  199. { title: "工序", align: "center", key: "title", minWidth: 150 },
  200. { title: "部件总数", align: "center", key: "num", minWidth: 150 },
  201. {
  202. title: "班组",
  203. align: "center",
  204. key: "",
  205. minWidth: 150,
  206. slot: "slotGroup",
  207. },
  208. {
  209. title: "操作",
  210. align: "center",
  211. key: "",
  212. minWidth: 100,
  213. slot: "slotSet",
  214. },
  215. ],
  216. modalTableColumns: [
  217. { title: "工序", align: "center", key: "title", minWidth: 150 },
  218. { title: "部件总数", align: "center", key: "num", minWidth: 150 },
  219. {
  220. title: "班组",
  221. align: "center",
  222. key: "",
  223. minWidth: 150,
  224. slot: "slotGroup",
  225. },
  226. ],
  227. modalTableData: [{}],
  228. tableData: [{}],
  229. page_index: 1,
  230. page_size: 10,
  231. total: 0,
  232. group:'',
  233. basicsProcedureList: [],
  234. groupList: [],
  235. currencyTag: "1",
  236. dispatchTime: [],
  237. wood_select:[],
  238. wood_group:'',
  239. paint_select:[],
  240. paint_group:'',
  241. packing_select:[],
  242. packing_group:'',
  243. transit_select:[],
  244. transit_group:'',
  245. install_select:[],
  246. install_group:'',
  247. selected: [],
  248. searchData:{
  249. order_no:'',
  250. url_number:[],
  251. residential_name:''
  252. },
  253. showModal: false,
  254. showModalAll: false,
  255. options: {
  256. disabledDate(date) {
  257. return date && date.valueOf() < Date.now() - 86400000;
  258. },
  259. },
  260. dispatchInfo: {},
  261. subArr: [],
  262. subUrl: "",
  263. };
  264. },
  265. // 生命周期 - 创建完成(可以访问当前this实例)
  266. created() {
  267. // 获取工序分类列表
  268. this.axios({ method: "get", url: "/api/basics_procedure_index" })
  269. .then((res) => {
  270. (this.basicsProcedureList = res.data.data),
  271. (this.currencyTag =
  272. localStorage.getItem("dispatchTag") || this.currencyTag + "");
  273. })
  274. .catch((err) => {});
  275. //获取班组列表
  276. this.axios("/api/employee_list").then(
  277. (res) => (this.groupList = res.data)
  278. );
  279. },
  280. // 生命周期 - 挂载完成(可以访问DOM元素)
  281. mounted() {
  282. this.initData();
  283. this.axios({
  284. method: "post",
  285. url: "/api/order_produce_list",
  286. data: {
  287. basics_procedure_id:
  288. localStorage.getItem("dispatchTag") || this.currencyTag,
  289. page_index:this.page_index,
  290. page_size:this.page_size,
  291. },
  292. }).then(res=>{
  293. this.orderList = res.data.order_no;
  294. this.urlNumberList = res.data.url_number;
  295. this.projectList = res.data.residential_name;
  296. })
  297. },
  298. methods: {
  299. async residentialNameChange(val){
  300. await this.axios.get('/api/order_produce_order_no',{params:{residential_name:val}}).then(res=>{
  301. this.searchData.order_no = res.data.order_no
  302. })
  303. if(this.searchData.residential_name&&this.searchData.order_no){
  304. this.show = false;
  305. this.axios.get('/api/order_produce_url_number',{params:{...this.searchData}}).then(res=>{
  306. this.urlNumberList = res.data
  307. })
  308. }else{
  309. this.show = true;
  310. }
  311. },
  312. async orderNoChange(val){
  313. await this.axios.get('/api/order_produce_order_no',{params:{order_no:val}}).then(res=>{
  314. this.searchData.residential_name = res.data.residential_name
  315. })
  316. if(this.searchData.residential_name&&this.searchData.order_no){
  317. this.show = false;
  318. this.axios.get('/api/order_produce_url_number',{params:{...this.searchData}}).then(res=>{
  319. this.urlNumberList = res.data
  320. })
  321. }else{
  322. this.show =true;
  323. }
  324. },
  325. change_NK(row){
  326. if(row == null){
  327. return
  328. }else{
  329. if(this.currencyTag == 1){
  330. if(this.wood_select.length == 0){
  331. this.$Message.warning('请先选择工序!')
  332. }else{
  333. this.tableData.forEach(item=>{
  334. this.wood_select.forEach(_item=>{
  335. if(_item.id == item.id){
  336. item.employee_id = row;
  337. item._checked = true;
  338. _item.employee_id = row;
  339. }
  340. })
  341. })
  342. }
  343. }
  344. if(this.currencyTag == 2){
  345. if(this.paint_select.length == 0){
  346. this.$Message.warning('请先选择工序!')
  347. }else{
  348. this.tableData.forEach(item=>{
  349. this.paint_select.forEach(_item=>{
  350. if(_item.id == item.id){
  351. item.employee_id = row;
  352. item._checked = true;
  353. _item.employee_id = row;
  354. }
  355. })
  356. })
  357. }
  358. }
  359. if(this.currencyTag == 3){
  360. if(this.packing_select.length == 0){
  361. this.$Message.warning('请先选择工序!')
  362. }else{
  363. this.tableData.forEach(item=>{
  364. this.packing_select.forEach(_item=>{
  365. if(_item.id == item.id){
  366. item.employee_id = row;
  367. item._checked = true;
  368. _item.employee_id = row;
  369. }
  370. })
  371. })
  372. }
  373. }
  374. if(this.currencyTag == 4){
  375. if(this.transit_select.length == 0){
  376. this.$Message.warning('请先选择工序!')
  377. }else{
  378. this.tableData.forEach(item=>{
  379. this.transit_select.forEach(_item=>{
  380. if(_item.id == item.id){
  381. item.employee_id = row;
  382. item._checked = true;
  383. _item.employee_id = row;
  384. }
  385. })
  386. })
  387. }
  388. }
  389. if(this.currencyTag == 5){
  390. if(this.install_select.length == 0){
  391. this.$Message.warning('请先选择工序!')
  392. }else{
  393. this.tableData.forEach(item=>{
  394. this.install_select.forEach(_item=>{
  395. if(_item.id == item.id){
  396. item.employee_id = row;
  397. item._checked = true;
  398. _item.employee_id = row;
  399. }
  400. })
  401. })
  402. }
  403. }
  404. }
  405. },
  406. initData() {
  407. this.axios({
  408. method: "post",
  409. url: "/api/order_produce_list",
  410. data:{
  411. basics_procedure_id:
  412. localStorage.getItem("dispatchTag") || this.currencyTag,
  413. page_index:this.page_index,
  414. page_size:this.page_size,
  415. ...this.searchData
  416. },
  417. })
  418. .then((res) => {
  419. this.group = '';
  420. this.total = res.data.total;
  421. this.tableData = res.data.data;
  422. this.tableData.forEach((element) => {
  423. element.produce_id = element.id;
  424. element.employee_id ? "" : (element.employee_id = "");
  425. if(this.currencyTag == 1 ){
  426. this.wood_select.forEach(_item=>{
  427. if(_item.id == element.id){
  428. element._checked = true;
  429. element.employee_id = _item.employee_id;
  430. }
  431. })
  432. }
  433. if(this.currencyTag == 2 ){
  434. this.paint_select.forEach(_item=>{
  435. if(_item.id == element.id){
  436. element._checked = true;
  437. element.employee_id = _item.employee_id;
  438. }
  439. })
  440. }
  441. if(this.currencyTag == 3 ){
  442. this.packing_select.forEach(_item=>{
  443. if(_item.id == element.id){
  444. element._checked = true;
  445. element.employee_id = _item.employee_id;
  446. }
  447. })
  448. }
  449. if(this.currencyTag == 4 ){
  450. this.transit_select.forEach(_item=>{
  451. if(_item.id == element.id){
  452. element._checked = true;
  453. element.employee_id = _item.employee_id;
  454. }
  455. })
  456. }
  457. if(this.currencyTag == 5 ){
  458. this.install_select.forEach(_item=>{
  459. if(_item.id == element.id){
  460. element._checked = true;
  461. element.employee_id = _item.employee_id;
  462. }
  463. })
  464. }
  465. });
  466. this.$forceUpdate();
  467. })
  468. .catch((err) => {});
  469. },
  470. goBack() {
  471. this.$router.go(-1);
  472. },
  473. handleGoPage() {
  474. this.$router.push({ path: "/cms/Dispatching/DispatchedList" });
  475. },
  476. handleSet(row, index) {
  477. this.$router.push({
  478. path: "/cms/Dispatching/DispatchingDetail",
  479. query: {
  480. produce_id: row.id,
  481. },
  482. });
  483. },
  484. // handleDispatchConfirm(row, index) {
  485. // if (row.employee_id) {
  486. // this.selected = [row];
  487. // this.showModal = true;
  488. // this.subArr = JSON.parse(JSON.stringify(this.selected));
  489. // this.subUrl = "/api/order_produce_pull_all";
  490. // } else {
  491. // this.$Message.warning("请选择班组");
  492. // }
  493. // },
  494. handleDispatchConfirm() {
  495. if (this.wood_select.length!=0||this.paint_select.length!=0||this.packing_select.length!=0||this.transit_select.length!=0||this.install_select.length!=0) {
  496. this.showModal = true;
  497. this.subArr =[...this.wood_select,...this.paint_select,...this.packing_select,...this.transit_select,...this.install_select]
  498. this.subUrl = "/api/order_produce_pull_all";
  499. } else {
  500. this.$Message.warning("请选择班组");
  501. }
  502. },
  503. handleDispatch(target, url) {
  504. if (!this.dispatchTime[0]) {
  505. this.$Message.warning("请选择时间");
  506. } else {
  507. this.dispatchInfo.start_time = new Date(this.dispatchTime[0])
  508. .toLocaleDateString()
  509. .replace(/\//g, "-");
  510. this.dispatchInfo.end_time = new Date(this.dispatchTime[1])
  511. .toLocaleDateString()
  512. .replace(/\//g, "-");
  513. target.forEach((element) => {
  514. element.start_time = this.dispatchInfo.start_time;
  515. element.end_time = this.dispatchInfo.end_time;
  516. element.work_type = this.dispatchInfo.work_type;
  517. element.user_salary = this.dispatchInfo.user_salary || "";
  518. // element.order_no = this.searchData.order_no;
  519. // element.url_number = this.searchData.url_number;
  520. // element.residential_name = this.searchData.residential_name;
  521. });
  522. console.log(target);
  523. this.axios({
  524. method: "post",
  525. url,
  526. data: {
  527. ...target,
  528. ...this.searchData
  529. },
  530. })
  531. .then((res) => {
  532. if (res.code == 200) {
  533. this.showModal = false;
  534. this.$Message.success(res.msg || "操作成功");
  535. this.initData();
  536. this.dispatchInfo = {};
  537. this.dispatchTime = [];
  538. }
  539. })
  540. .catch((err) => {});
  541. }
  542. },
  543. handleDispatchAllConfirm() {
  544. let flag = true;
  545. this.modalTableData.forEach((element) => {
  546. if (!element.employee_id || element.employee_id <= 0) {
  547. flag = false;
  548. }
  549. });
  550. if (flag) {
  551. (this.showModalAll = false), (this.showModal = true);
  552. this.subArr = JSON.parse(JSON.stringify(this.modalTableData));
  553. this.subUrl = "/api/all_order_produce_pull";
  554. } else {
  555. this.$Message.warning("请选择班组");
  556. }
  557. },
  558. handleDispatchAllOpen() {
  559. this.axios
  560. .get("/api/get_all_order_produce", {
  561. params: {
  562. basics_procedure_id:
  563. localStorage.getItem("dispatchTag") | this.currencyTag,
  564. },
  565. })
  566. .then((res) => {
  567. if (res.code == 200) {
  568. this.modalTableData = res.data;
  569. this.modalTableData.forEach((element) => {
  570. element.produce_id = element.id;
  571. });
  572. this.showModalAll = true;
  573. }
  574. });
  575. },
  576. changePage(e) {
  577. this.page_index = e;
  578. this.initData();
  579. },
  580. changeSize(e) {
  581. this.page_size = e;
  582. this.initData();
  583. },
  584. handleProcedureChange(val) {
  585. this.selected = [];
  586. this.currencyTag = val;
  587. localStorage.setItem("dispatchTag", val);
  588. this.initData();
  589. this.page_index = 1;
  590. this.page_size = 10;
  591. },
  592. handleSelectionChange(selection) {
  593. try{
  594. if(this.currencyTag == 1){
  595. this.wood_select = selection;
  596. this.wood_select.forEach((item,index)=>{
  597. if(this.wood_select[index].id!=this.tableData[index].id){
  598. this.$Message.error('请按流程选择工序!');
  599. throw new Error();
  600. }
  601. })
  602. }
  603. if(this.currencyTag == 2){
  604. this.paint_select =selection;
  605. this.paint_select.forEach((item,index)=>{
  606. if(this.paint_select[index].id!=this.tableData[index].id){
  607. this.$Message.error('请按流程选择工序!');
  608. throw new Error();
  609. }
  610. })
  611. }
  612. if(this.currencyTag == 3){
  613. this.packing_select =selection;
  614. this.packing_select.forEach((item,index)=>{
  615. if(this.packing_select[index].id!=this.tableData[index].id){
  616. this.$Message.error('请按流程选择工序!');
  617. throw new Error();
  618. }
  619. })
  620. }
  621. if(this.currencyTag == 4){
  622. this.transit_select = selection;
  623. this.transit_select.forEach((item,index)=>{
  624. if(this.transit_select[index].id!=this.tableData[index].id){
  625. this.$Message.error('请按流程选择工序!');
  626. throw new Error();
  627. }
  628. })
  629. }
  630. if(this.currencyTag == 5){
  631. this.install_select = selection;
  632. this.install_select.forEach((item,index)=>{
  633. if(this.install_select[index].id!=this.tableData[index].id){
  634. this.$Message.error('请按流程选择工序!');
  635. throw new Error();
  636. }
  637. })
  638. }
  639. }catch(e){
  640. }
  641. },
  642. handleGroupSelect(e, row, index, value) {
  643. // if (this.selected.length > 0) {
  644. // this.selected.forEach(element => {
  645. // if (element.id == row.id) {
  646. // element.employee_id = value
  647. // }
  648. // });
  649. // }
  650. row.employee_id = e;
  651. if(this.currencyTag == 1){
  652. this.tableData.forEach(item=>{
  653. this.wood_select.forEach(_item=>{
  654. if(item.id == _item.id){
  655. item._checked = true;
  656. _item.employee_id = item.employee_id;
  657. }
  658. })
  659. })
  660. }
  661. if(this.currencyTag == 2){
  662. this.tableData.forEach(item=>{
  663. this.paint_select.forEach(_item=>{
  664. if(item.id == _item.id){
  665. item._checked = true;
  666. _item.employee_id = item.employee_id;
  667. }
  668. })
  669. })
  670. }
  671. if(this.currencyTag == 3){
  672. this.tableData.forEach(item=>{
  673. this.packing_select.forEach(_item=>{
  674. if(item.id == _item.id){
  675. item._checked = true;
  676. _item.employee_id = item.employee_id;
  677. }
  678. })
  679. })
  680. }
  681. if(this.currencyTag == 4){
  682. this.tableData.forEach(item=>{
  683. this.transit_select.forEach(_item=>{
  684. if(item.id == _item.id){
  685. item._checked = true;
  686. _item.employee_id = item.employee_id;
  687. }
  688. })
  689. })
  690. }
  691. if(this.currencyTag == 5){
  692. this.tableData.forEach(item=>{
  693. this.install_select.forEach(_item=>{
  694. if(item.id == _item.id){
  695. item._checked = true;
  696. _item.employee_id = item.employee_id;
  697. }
  698. })
  699. })
  700. }
  701. },
  702. },
  703. // 监听属性 类似于data概念
  704. computed: {},
  705. // 监控data中的数据变化
  706. watch: {},
  707. beforeCreate() {}, // 生命周期 - 创建之前
  708. beforeMount() {}, // 生命周期 - 挂载之前
  709. beforeUpdate() {}, // 生命周期 - 更新之前
  710. updated() {}, // 生命周期 - 更新之后
  711. beforeDestroy() {}, // 生命周期 - 销毁之前
  712. destroyed() {}, // 生命周期 - 销毁完成
  713. activated() {}, // 如果页面有keep-alive缓存功能,这个函数会触发
  714. };
  715. </script>
  716. <style lang="scss" scoped>
  717. .pageSlotStyle {
  718. display: flex;
  719. justify-content: center;
  720. margin-top: 50px;
  721. }
  722. /deep/ .ivu-table-wrapper {
  723. overflow: visible;
  724. }
  725. .main{
  726. height:600px;
  727. }
  728. </style>