酒店预订平台
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

693 líneas
31 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <!-- import CSS -->
  6. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  7. </head>
  8. <body>
  9. <div id="app" class="table">
  10. <div>
  11. <div class="header-search">
  12. <span>名称:</span>
  13. <el-input v-model="search.name" style="width: 120px;" placeholder="请输入内容"></el-input>
  14. <span>状态</span>
  15. <el-select v-model="search.status" placeholder="请选择" clearable>
  16. <el-option
  17. v-for="item in status"
  18. :key="item.id"
  19. :label="item.value"
  20. :value="item.id">
  21. </el-option>
  22. </el-select>
  23. <el-button type="primary" icon="el-icon-search" @click="getData(1)">搜索</el-button>
  24. <el-button type="primary" icon="el-icon-plus" @click="edit(null)">新增付款单</el-button>
  25. </div>
  26. <el-table ref="multipleTable" :data="tableData" border tooltip-effect="dark"
  27. style="font-size:12px;width: 100%;margin-top: 12px">
  28. <el-table-column prop="create_id" label="创建人" min-width="70" :formatter="getUserName"></el-table-column>
  29. <el-table-column prop="id" label="付款单号" min-width="50"></el-table-column>
  30. <el-table-column prop="name" label="付款单名称" min-width="120"></el-table-column>
  31. <el-table-column prop="status" label="付款单状态" :formatter="getStatusName" min-width="150">
  32. <template slot-scope="scope">
  33. <el-radio-group v-model="scope.row.status" size="mini" @change="setStatus(scope.row)">
  34. <el-radio-button label="0">未付款</el-radio-button>
  35. <el-radio-button label="1">付款中</el-radio-button>
  36. <el-radio-button label="2">已付款</el-radio-button>
  37. </el-radio-group>
  38. </template>
  39. </el-table-column>
  40. <el-table-column prop="order_ids" label="订单" min-width="130">
  41. <template slot-scope="scope">
  42. <div v-html="'酒店:'+scope.row.hotel_ids"></div>
  43. <div v-html="'附加项目:'+scope.row.item_ids"></div>
  44. </template>
  45. </el-table-column>
  46. <el-table-column prop="total_amount" label="金额" min-width="130">
  47. <template slot-scope="scope">
  48. <div v-html="'酒店:'+scope.row.hotel_amount"></div>
  49. <div v-html="'附加项目:'+scope.row.item_amount"></div>
  50. </template>
  51. </el-table-column>
  52. <el-table-column prop="create_time" label="创建时间" min-width="80"></el-table-column>
  53. <el-table-column prop="update_time" label="更新时间" min-width="80"></el-table-column>
  54. <el-table-column label="操作" min-width="180">
  55. <template slot-scope="scope">
  56. <el-button-group>
  57. <el-button type="primary" size="mini" @click="edit(scope.row)" icon="el-icon-edit">编辑</el-button>
  58. <el-button type="success" size="mini" @click="editOrderDivShow(scope.row)" icon="el-icon-share">订单</el-button>
  59. <el-button type="danger" size="mini" icon="el-icon-delete" @click="delAll(scope.row.id)">删除</el-button>
  60. </el-button-group>
  61. </template>
  62. </el-table-column>
  63. </el-table>
  64. <el-pagination
  65. :page-size="search.pageSize"
  66. :pager-count="11"
  67. layout="total, sizes, prev, pager, next, jumper"
  68. :total="total"
  69. :current-page="search.pageNum"
  70. :page-sizes="[10, 20, 30, 40, 50]"
  71. @size-change="sizeChange"
  72. @current-change="getData"
  73. @prev-click="getData"
  74. @next-click="getData"
  75. ></el-pagination>
  76. </div>
  77. <transition name="bounce" v-if="editShow">
  78. <el-dialog title="付款单详情" :visible.sync="editShow" width="90%" top="15px">
  79. <el-form ref="form" label-width="100px" style="width: 100%;padding-bottom: 20px">
  80. <div style="display: flex;width: 100%">
  81. <el-form-item v-if="editType" label="付款单ID:" style="width: 80%">
  82. <div v-html="editData.id"></div>
  83. </el-form-item>
  84. </div>
  85. <div>
  86. <el-form-item label="付款单名称:" style="width: 80%">
  87. <el-input v-model="editData.name" style="width: 120px;" placeholder="请输入内容"></el-input>
  88. </el-form-item>
  89. </div>
  90. <div>
  91. <el-form-item v-if="editType" label="付款单状态:" style="width: 80%">
  92. <el-radio-group v-model="editData.status" size="mini">
  93. <el-radio-button label="0">未付款</el-radio-button>
  94. <el-radio-button label="1">付款中</el-radio-button>
  95. <el-radio-button label="2">已付款</el-radio-button>
  96. </el-radio-group>
  97. </el-form-item>
  98. </div>
  99. <div>
  100. <el-button type="primary" @click="editDoing()" >保存</el-button>
  101. </div>
  102. </el-form>
  103. </el-dialog>
  104. </transition>
  105. <transition name="bounce" v-if="editOrderShow">
  106. <el-dialog title="详情" :visible.sync="editOrderShow" width="100%" top="15px">
  107. <el-form ref="form" label-width="100px" style="width: 100%;padding-bottom: 10px">
  108. <div style="display: flex;width: 100%">
  109. <el-form-item label="付款单ID:" style="width: 80%">
  110. <div v-html="editOrder.id"></div>
  111. </el-form-item>
  112. <el-form-item label="付款单名称:" style="width: 80%">
  113. <div v-html="editOrder.name"></div>
  114. </el-form-item>
  115. <el-form-item label="付款单状态:" style="width: 80%">
  116. <el-radio-group v-model="editOrder.status" size="mini" disabled>
  117. <el-radio-button label="0">未付款</el-radio-button>
  118. <el-radio-button label="1">付款中</el-radio-button>
  119. <el-radio-button label="2">已付款</el-radio-button>
  120. </el-radio-group>
  121. </el-form-item>
  122. </div>
  123. </el-form>
  124. <div>
  125. <div class="header-search" style="width: 100%;margin-bottom: 10px">
  126. <span>订单类型:</span>
  127. <el-select v-model="orderMainListSearch.prod_type" style="width: 120px;" placeholder="请选择" >
  128. <el-option
  129. v-for="item in prodTypeList"
  130. :key="item.id"
  131. :label="item.name"
  132. :value="item.id">
  133. </el-option>
  134. </el-select>
  135. <span>子订单ID:</span>
  136. <el-input v-model="orderMainListSearch.order_id" style="width: 120px;" placeholder="请输入内容"></el-input>
  137. <span>用户名</span>
  138. <el-input v-model="orderMainListSearch.customer_name" style="width: 120px;" placeholder="请输入内容" clearable></el-input>
  139. </el-input>
  140. <span>确认单状态:</span>
  141. <el-select v-model="orderMainListSearch.confirm_status" style="width: 120px;" placeholder="请选择" clearable>
  142. <el-option
  143. v-for="item in confirmStatusList"
  144. :key="item.id"
  145. :label="item.name"
  146. :value="item.id">
  147. </el-option>
  148. </el-select>
  149. <span>付款单状态</span>
  150. <el-select v-model="orderMainListSearch.inPayment" style="width: 120px;" placeholder="请选择" clearable>
  151. <el-option
  152. v-for="item in inPaymentList"
  153. :key="item.id"
  154. :label="item.name"
  155. :value="item.id">
  156. </el-option>
  157. </el-select>
  158. <span>供应商:</span>
  159. <el-select v-model="orderMainListSearch.supplier_id" style="width: 120px;" placeholder="请选择" clearable>
  160. <el-option
  161. v-for="item in supplierList"
  162. :key="item.id"
  163. :label="item.name"
  164. :value="item.id">
  165. </el-option>
  166. </el-select>
  167. </div>
  168. <div class="header-search" style="width: 100%;margin-bottom: 10px">
  169. <span>成本</span>
  170. <el-input-number v-model="orderMainListSearch.startMoney" style="width: 120px;" placeholder="请输入内容" clearable></el-input-number>
  171. ~
  172. <el-input-number v-model="orderMainListSearch.endMoney" style="width: 120px;" placeholder="请输入内容" clearable></el-input-number>
  173. <span>时间</span>
  174. <el-date-picker
  175. style="width: 120px;"
  176. v-model="orderMainListSearch.startTime"
  177. type="date"
  178. value-format="yyyy-MM-dd"
  179. placeholder="选择日期">
  180. </el-date-picker>
  181. ~
  182. <el-date-picker
  183. style="width: 120px;"
  184. v-model="orderMainListSearch.endTime"
  185. value-format="yyyy-MM-dd"
  186. type="date"
  187. placeholder="选择日期">
  188. </el-date-picker>
  189. <span>附加项目</span>
  190. <el-select v-model="orderMainListSearch.item_id" style="width: 120px;" placeholder="请选择" clearable>
  191. <el-option
  192. v-for="item in itemList"
  193. :key="item.id"
  194. :label="item.name"
  195. :value="item.id">
  196. </el-option>
  197. </el-select>
  198. <span>酒店</span>
  199. <el-select v-model="orderMainListSearch.hotel_id" style="width: 120px;" placeholder="请选择" clearable>
  200. <el-option
  201. v-for="item in hotelList"
  202. :key="item.id"
  203. :label="item.name"
  204. :value="item.id">
  205. </el-option>
  206. </el-select>
  207. <el-button type="primary" icon="el-icon-search" @click="getOrderMainData(1)">搜索</el-button>
  208. </div>
  209. <div>
  210. <el-table ref="multipleTable" :data="orderMainList" border tooltip-effect="dark" style="font-size:12px;width: 100%;margin-top: 12px" @selection-change="handleSelectionChange">
  211. <el-table-column type="selection" width="30" :selectable="checkSelect"></el-table-column>
  212. <el-table-column prop="order_id" label="主订单ID" min-width="20" ></el-table-column>
  213. <el-table-column prop="id" label="子订单ID" min-width="20" ></el-table-column>
  214. <el-table-column label="订单类型" min-width="30" :formatter="getProdTypeName" ></el-table-column>
  215. <el-table-column prop="supplier_name" label="供应商" min-width="40" ></el-table-column>
  216. <el-table-column prop="trade_order_number" label="第三方订单号" min-width="40" ></el-table-column>
  217. <el-table-column prop="hotel_name" label="酒店/附加项目" min-width="60" ></el-table-column>
  218. <el-table-column prop="room_name" label="房型/附加项目" min-width="60" ></el-table-column>
  219. <el-table-column prop="plan_name" label="价格方案/计价单位" min-width="40" ></el-table-column>
  220. <el-table-column prop="check_in_date" label="时间" min-width="40" >
  221. <template slot-scope="scope">
  222. <div v-html="scope.row.check_in_date"></div>
  223. <div v-html="scope.row.check_out_date"></div>
  224. </template>
  225. </el-table-column>
  226. <el-table-column prop="count" label="数量" min-width="20" ></el-table-column>
  227. <el-table-column prop="customer_name" label="出游人姓名" min-width="40" ></el-table-column>
  228. <el-table-column prop="total_cost" label="总成本" min-width="40" ></el-table-column>
  229. <el-table-column label="发单状态" min-width="30" :formatter="confirmStatusName"></el-table-column>
  230. <el-table-column prop="create_time" label="子订单生成时间" min-width="60" ></el-table-column>
  231. <el-table-column prop="payment_order_name" label="付款单" min-width="40" >
  232. <template slot-scope="scope">
  233. <div v-html="scope.row.payment_order_id"></div>
  234. <div v-html="scope.row.payment_order_name"></div>
  235. </template>
  236. </el-table-column>
  237. <el-table-column label="操作" >
  238. <template slot-scope="scope">
  239. <el-button-group>
  240. <el-button type="primary" size="mini" v-if="scope.row.payment_order_id==0 && editOrder.status==0" @click="addOrderInfo(scope.row)" icon="el-icon-edit">添加</el-button>
  241. <el-button type="danger" size="mini" v-if="scope.row.payment_order_id==editOrder.id && editOrder.status==0" @click="removeOrderMain(scope.row)" icon="el-icon-delete">移除</el-button>
  242. </el-button-group>
  243. </template>
  244. </el-table-column>
  245. </el-table>
  246. <div style="margin-top: 5px">
  247. <el-button type="primary" icon="el-icon-circle-plus" @click="addOrderAll()" :disabled="multipleSelection.length==0">添加到采购单</el-button>
  248. </div>
  249. <el-pagination
  250. :page-size="orderMainListSearch.pageSize"
  251. :pager-count="11"
  252. layout="total, sizes, prev, pager, next, jumper"
  253. :total="orderMainTotal"
  254. :current-page="orderMainListSearch.pageNum"
  255. :page-sizes="[10, 20, 30, 40, 50]"
  256. @size-change="sizeOrderMainChange"
  257. @current-change="getOrderMainData"
  258. @prev-click="getOrderMainData"
  259. @next-click="getOrderMainData"
  260. ></el-pagination>
  261. </div>
  262. </div>
  263. </el-dialog>
  264. </transition>
  265. </div>
  266. </body>
  267. <!-- import Vue before Element -->
  268. <script src="/assets/js/vue/vue.js"></script>
  269. <!-- import JavaScript -->
  270. <script src="/assets/js/vue/index.js"></script>
  271. <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  272. <script>
  273. new Vue({
  274. el: '#app',
  275. data: function () {
  276. return {
  277. search: {
  278. name: "",
  279. status: "all",
  280. pageSize: 10,
  281. pageNum: 1
  282. },
  283. status: [
  284. {"id": "all", "value": "请选择"},
  285. {"id": 0, 'value': "未付款"},
  286. {"id": 1, 'value': "付款中"},
  287. {"id": 2, 'value': "已付款"}
  288. ],
  289. total: 0,
  290. tableData: [],
  291. userList: [],
  292. info: {
  293. id: null,
  294. name: "",
  295. status: 0,
  296. list: []
  297. },
  298. editShow: false,
  299. editType: false,
  300. editData: {},
  301. editOrderShow:false,
  302. editOrder:{},
  303. orderMainListSearch:{
  304. "payment_order_id":"",
  305. "order_id":"",
  306. "prod_type":"hotel",
  307. "supplier_id":"",
  308. "inPayment":"",
  309. "confirm_status":"",
  310. "customer_name":"",
  311. "startMoney":"",
  312. "endMoney":"",
  313. "startTime":"",
  314. "endTime":"",
  315. "pageNum":1,
  316. "pageSize":10,
  317. "item_id":"",
  318. "hotel_id":"",
  319. "room_id":"",
  320. "plan_id":""
  321. },
  322. orderMainTotal:0,
  323. orderMainList:[],
  324. inPaymentList:[
  325. {id:1,name:"在此付款单中"},
  326. {id:2,name:"不在此付款单中"},
  327. {id:3,name:"不在任何付款单中"}
  328. ],
  329. //1、未发单/ 2已发单、3已确认、4已取消
  330. confirmStatusList:[
  331. {id:1,name:"未发单"},
  332. {id:2,name:"已发单"},
  333. {id:3,name:"已确认"},
  334. {id:4,name:"已取消"}
  335. ],
  336. prodTypeList:[
  337. {id:"hotel",name:"酒店"},
  338. {id:"item",name:"附加项目"}
  339. ],
  340. supplierList:[],
  341. multipleSelection: [],
  342. hotelList:[],
  343. itemList:[]
  344. }
  345. },
  346. created() {
  347. this.getAdminUser();
  348. this.getSupplierList();
  349. this.getData(1)
  350. this.getHotelList()
  351. this.getItemList()
  352. },
  353. watch: {
  354. "orderMainListSearch.prod_type" : function (newVal,oldVal){
  355. this.getOrderMainData(1)
  356. }
  357. },
  358. methods: {
  359. getProdTypeName(info){
  360. for (let i = 0; i < this.prodTypeList.length; i++) {
  361. if (this.prodTypeList[i].id == info.prod_type) {
  362. return this.prodTypeList[i].name
  363. }
  364. }
  365. return "-"
  366. },
  367. getHotelList(){
  368. axios.post("/hotel.php/cf_hotel_info/getHotelList", this.search).then((response) => {
  369. console.log(response)
  370. let data = response.data;
  371. this.hotelList = data.list;
  372. }).catch(function (error) {
  373. console.log(error);
  374. });
  375. },
  376. getItemList(){
  377. axios.post("/hotel.php/cf_item/getList", this.search).then((response) => {
  378. console.log(response)
  379. let data = response.data;
  380. this.itemList = data.list;
  381. }).catch(function (error) {
  382. console.log(error);
  383. });
  384. },
  385. checkSelect(row,index){
  386. if (this.editOrder.status != 0) {
  387. return false;
  388. }
  389. if (row.payment_order_id ==0) {
  390. return true;
  391. }
  392. return false;
  393. },
  394. handleSelectionChange(val) {
  395. this.multipleSelection = val;
  396. },
  397. getSupplierList(){
  398. axios.post("/hotel.php/cf_suplier_info/getList", this.search).then((response) => {
  399. console.log(response)
  400. let data = response.data;
  401. this.supplierList = data.list;
  402. }).catch(function (error) {
  403. console.log(error);
  404. });
  405. },
  406. getStatusName(info) {
  407. for (let i = 0; i < this.status.length; i++) {
  408. if (this.status[i].id == info.status) {
  409. return this.status[i].value
  410. }
  411. }
  412. return "-"
  413. },
  414. getUserName(info) {
  415. for (let i = 0; i < this.userList.length; i++) {
  416. if (this.userList[i].id == info.create_id) {
  417. return this.userList[i].name
  418. }
  419. }
  420. return "-"
  421. },
  422. confirmStatusName(info){
  423. for (let i = 0; i < this.confirmStatusList.length; i++) {
  424. if (this.confirmStatusList[i].id == info.confirm_status) {
  425. return this.confirmStatusList[i].name
  426. }
  427. }
  428. return "-"
  429. },
  430. sizeChange(pageSize) {
  431. this.search.pageSize = pageSize;
  432. this.getData(this.search.pageNum)
  433. },
  434. sizeOrderMainChange(pageSize) {
  435. this.orderMainListSearch.pageSize = pageSize;
  436. this.getOrderMainData(this.orderMainListSearch.pageNum)
  437. },
  438. //獲取列表
  439. getData(page) {
  440. this.search.pageNum = page;
  441. axios.post("/hotel.php/payment_order/getList", this.search).then((response) => {
  442. let data = response.data;
  443. console.log(this.tableData);
  444. if (data.flag) {
  445. this.tableData = data.data.list;
  446. this.total = data.data.total;
  447. console.log(this.tableData);
  448. } else {
  449. this.$message.error(response.msg);
  450. }
  451. }).catch(function (error) {
  452. console.log(error);
  453. });
  454. },
  455. getAdminUser() {
  456. axios.post("/hotel.php/auth/admin/getList", this.search).then((response) => {
  457. this.userList = response.data.list;
  458. }).catch(function (error) {
  459. console.log(error);
  460. });
  461. },
  462. edit(info) {
  463. if (info == null) {
  464. this.editType = false;
  465. this.editData = {
  466. name: ""
  467. }
  468. } else {
  469. this.editType = true;
  470. this.editData = {
  471. id:info.id,
  472. name: info.name,
  473. status:info.status
  474. }
  475. }
  476. this.editShow = true;
  477. },
  478. editDoing(){
  479. axios.post("/hotel.php/payment_order/save", this.editData).then( (response)=> {
  480. let data = response.data;
  481. console.log(this.tableData);
  482. if (data.flag) {
  483. this.$message({
  484. message: '保存成功!',
  485. type: 'success'
  486. });
  487. this.editShow = false;
  488. this.getData(1);
  489. } else {
  490. this.$message.error(data.msg);
  491. }
  492. }).catch(function (error) {
  493. this.$message.error("保存失败");
  494. console.log(error);
  495. });
  496. },
  497. setStatus(info){
  498. this.$confirm('确定修改状态?', '提示', {
  499. confirmButtonText: '确定',
  500. cancelButtonText: '取消',
  501. type: 'warning'
  502. }).then(() => {
  503. axios.post("/hotel.php/payment_order/setStatus", info).then( (response)=> {
  504. let data = response.data;
  505. if (data.flag) {
  506. this.$message({
  507. message: '设置成功!',
  508. type: 'success'
  509. });
  510. } else {
  511. this.$message.error(data.msg);
  512. this.getData(this.search.pageNum)
  513. }
  514. }).catch(function (error) {
  515. this.$message.error("保存失败");
  516. console.log(error);
  517. this.getData(this.search.pageNum)
  518. });
  519. }).catch(() => {
  520. this.$message({
  521. type: 'info',
  522. message: '已取消'
  523. });
  524. this.getData(this.search.pageNum)
  525. })
  526. },
  527. editOrderDivShow(info){
  528. console.log(info);
  529. this.editOrder = info;
  530. this.orderMainListSearch.payment_order_id = info.id;
  531. this.orderMainList=[];
  532. this.getOrderMainData(1);
  533. this.editOrderShow = true;
  534. },
  535. getOrderMainData(page){
  536. this.orderMainListSearch.pageNum = page;
  537. axios.post("/hotel.php/payment_order/getSubOrderList", this.orderMainListSearch).then((response) => {
  538. let data = response.data;
  539. console.log(this.tableData);
  540. if (data.flag) {
  541. this.orderMainList = data.data.list;
  542. this.orderMainTotal = data.data.total;
  543. console.log(this.orderMainList);
  544. } else {
  545. this.$message.error(data.msg);
  546. }
  547. }).catch(function (error) {
  548. console.log(error);
  549. });
  550. },
  551. addOrderInfo(info){
  552. let param = {
  553. hotel_id:[],
  554. item_id:[],
  555. id:this.editOrder.id
  556. }
  557. if (info.prod_type=='hotel') {
  558. param.hotel_id.push(info.id)
  559. }else{
  560. param.item_id.push(info.id)
  561. }
  562. this.addOrderMain(param)
  563. },
  564. addOrderMain(param){
  565. axios.post("/hotel.php/payment_order/addOrderMain", param).then((response) => {
  566. let data = response.data;
  567. if (data.flag) {
  568. this.$message({
  569. message: '添加成功!',
  570. type: 'success'
  571. });
  572. this.getOrderMainData(this.orderMainListSearch.pageNum)
  573. this.getData(this.search.pageNum)
  574. } else {
  575. this.$message.error(data.msg);
  576. }
  577. }).catch(function (error) {
  578. console.log(error);
  579. });
  580. },
  581. addOrderAll(){
  582. let param = {
  583. hotel_id:[],
  584. item_id:[],
  585. id:this.editOrder.id
  586. }
  587. let length = this.multipleSelection.length;
  588. for (var k = 0; k < length; k++) {
  589. if (this.multipleSelection[k].prod_type=='hotel'){
  590. param.hotel_id.push(this.multipleSelection[k].id)
  591. }else{
  592. param.item_id.push(this.multipleSelection[k].id)
  593. }
  594. }
  595. this.addOrderMain(param);
  596. },
  597. removeOrderMain(info){
  598. let param = {
  599. hotel_id:[],
  600. item_id:[],
  601. id:this.editOrder.id
  602. }
  603. if (info.prod_type=='hotel') {
  604. param.hotel_id.push(info.id)
  605. }else{
  606. param.item_id.push(info.id)
  607. }
  608. axios.post("/hotel.php/payment_order/removeOrderMain", param).then((response) => {
  609. let data = response.data;
  610. if (data.flag) {
  611. this.$message({
  612. message: '移除成功!',
  613. type: 'success'
  614. });
  615. this.getOrderMainData(this.orderMainListSearch.pageNum)
  616. this.getData(this.search.pageNum)
  617. } else {
  618. this.$message.error(data.msg);
  619. }
  620. }).catch(function (error) {
  621. console.log(error);
  622. });
  623. },
  624. delAll(id){
  625. let param = {
  626. id:id
  627. }
  628. this.$confirm('确定删除采购单?', '提示', {
  629. confirmButtonText: '确定',
  630. cancelButtonText: '取消',
  631. type: 'warning'
  632. }).then(() => {
  633. axios.post("/hotel.php/payment_order/delAll", param).then((response) => {
  634. let data = response.data;
  635. if (data.flag) {
  636. this.$message({
  637. message: '移除成功!',
  638. type: 'success'
  639. });
  640. this.getData(this.search.pageNum)
  641. } else {
  642. this.$message.error(data.msg);
  643. }
  644. }).catch(function (error) {
  645. console.log(error);
  646. });
  647. }).catch(() => {
  648. this.$message({
  649. type: 'info',
  650. message: '已取消'
  651. });
  652. });
  653. }
  654. }
  655. })
  656. </script>
  657. <style lang="scss" scoped>
  658. .el-table thead {
  659. background-color: #5a5e66 !important;
  660. }
  661. .header-search {
  662. font-size: 14px;
  663. font-weight: 900;
  664. }
  665. body {
  666. background-color: white;
  667. }
  668. .table {
  669. width: 100%;
  670. font-size: 12px;
  671. margin-top: 12px;
  672. background-color: white;
  673. }
  674. .el-form-item{
  675. margin-bottom: 5px !important;
  676. }
  677. </style>
  678. </html>