酒店预订平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

694 lines
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"></div>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="total_amount" label="附加项目" min-width="130">
  46. <template slot-scope="scope">
  47. <div v-html="scope.row.item"></div>
  48. </template>
  49. </el-table-column>
  50. <el-table-column prop="create_time" label="创建时间" min-width="80"></el-table-column>
  51. <el-table-column prop="update_time" label="更新时间" min-width="80"></el-table-column>
  52. <el-table-column label="操作" min-width="180">
  53. <template slot-scope="scope">
  54. <el-button-group>
  55. <el-button type="primary" size="mini" @click="edit(scope.row)" icon="el-icon-edit">编辑</el-button>
  56. <el-button type="success" size="mini" @click="editOrderDivShow(scope.row)" icon="el-icon-share">订单</el-button>
  57. <el-button type="danger" size="mini" icon="el-icon-delete" @click="delAll(scope.row.id)">删除</el-button>
  58. </el-button-group>
  59. </template>
  60. </el-table-column>
  61. </el-table>
  62. <el-pagination
  63. :page-size="search.pageSize"
  64. :pager-count="11"
  65. layout="total, sizes, prev, pager, next, jumper"
  66. :total="total"
  67. :current-page="search.pageNum"
  68. :page-sizes="[10, 20, 30, 40, 50]"
  69. @size-change="sizeChange"
  70. @current-change="getData"
  71. @prev-click="getData"
  72. @next-click="getData"
  73. ></el-pagination>
  74. </div>
  75. <transition name="bounce" v-if="editShow">
  76. <el-dialog title="付款单详情" :visible.sync="editShow" width="90%" top="15px">
  77. <el-form ref="form" label-width="100px" style="width: 100%;padding-bottom: 20px">
  78. <div style="display: flex;width: 100%">
  79. <el-form-item v-if="editType" label="付款单ID:" style="width: 80%">
  80. <div v-html="editData.id"></div>
  81. </el-form-item>
  82. </div>
  83. <div>
  84. <el-form-item label="付款单名称:" style="width: 80%">
  85. <el-input v-model="editData.name" style="width: 120px;" placeholder="请输入内容"></el-input>
  86. </el-form-item>
  87. </div>
  88. <div>
  89. <el-form-item v-if="editType" label="付款单状态:" style="width: 80%">
  90. <el-radio-group v-model="editData.status" size="mini" disabled>
  91. <el-radio-button label="0">未付款</el-radio-button>
  92. <el-radio-button label="1">付款中</el-radio-button>
  93. <el-radio-button label="2">已付款</el-radio-button>
  94. </el-radio-group>
  95. </el-form-item>
  96. </div>
  97. <div>
  98. <el-button type="primary" @click="editDoing()" >保存</el-button>
  99. </div>
  100. </el-form>
  101. </el-dialog>
  102. </transition>
  103. <transition name="bounce" v-if="editOrderShow">
  104. <el-dialog title="详情" :visible.sync="editOrderShow" width="100%" top="15px">
  105. <el-form ref="form" label-width="100px" style="width: 100%;padding-bottom: 10px">
  106. <div style="display: flex;width: 100%">
  107. <el-form-item label="付款单ID:" style="width: 80%">
  108. <div v-html="editOrder.id"></div>
  109. </el-form-item>
  110. <el-form-item label="付款单名称:" style="width: 80%">
  111. <div v-html="editOrder.name"></div>
  112. </el-form-item>
  113. <el-form-item label="付款单状态:" style="width: 80%">
  114. <el-radio-group v-model="editOrder.status" size="mini" disabled>
  115. <el-radio-button label="0">未付款</el-radio-button>
  116. <el-radio-button label="1">付款中</el-radio-button>
  117. <el-radio-button label="2">已付款</el-radio-button>
  118. </el-radio-group>
  119. </el-form-item>
  120. </div>
  121. </el-form>
  122. <div>
  123. <div class="header-search" style="width: 100%;margin-bottom: 10px">
  124. <span>子订单ID:</span>
  125. <el-input v-model="orderMainListSearch.sub_order_id" style="width: 120px;" placeholder="请输入内容"></el-input>
  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>用户名</span>
  136. <el-input v-model="orderMainListSearch.customer_name" style="width: 120px;" placeholder="请输入内容" clearable></el-input>
  137. </el-input>
  138. <span>确认单状态:</span>
  139. <el-select v-model="orderMainListSearch.confirm_status" style="width: 120px;" placeholder="请选择" clearable>
  140. <el-option
  141. v-for="item in confirmStatusList"
  142. :key="item.id"
  143. :label="item.name"
  144. :value="item.id">
  145. </el-option>
  146. </el-select>
  147. <span>付款单状态</span>
  148. <el-select v-model="orderMainListSearch.inPayment" style="width: 120px;" placeholder="请选择" clearable>
  149. <el-option
  150. v-for="item in inPaymentList"
  151. :key="item.id"
  152. :label="item.name"
  153. :value="item.id">
  154. </el-option>
  155. </el-select>
  156. <span>供应商:</span>
  157. <el-select v-model="orderMainListSearch.supplier_id" style="width: 120px;" placeholder="请选择" clearable>
  158. <el-option
  159. v-for="item in supplierList"
  160. :key="item.id"
  161. :label="item.name"
  162. :value="item.id">
  163. </el-option>
  164. </el-select>
  165. </div>
  166. <div class="header-search" style="width: 100%;margin-bottom: 10px">
  167. <span>主订单ID:</span>
  168. <el-input v-model="orderMainListSearch.order_id" style="width: 120px;" placeholder="请输入内容"></el-input>
  169. <span>成本</span>
  170. <el-input-number v-model="orderMainListSearch.startMoney" style="width: 170px;" placeholder="请输入内容" clearable></el-input-number>
  171. ~
  172. <el-input-number v-model="orderMainListSearch.endMoney" style="width: 170px;" 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. "sub_order_id":"",
  307. "prod_type":"hotel",
  308. "supplier_id":"",
  309. "inPayment":"",
  310. "confirm_status":"",
  311. "customer_name":"",
  312. "startMoney":"",
  313. "endMoney":"",
  314. "startTime":"",
  315. "endTime":"",
  316. "pageNum":1,
  317. "pageSize":10,
  318. "item_id":"",
  319. "hotel_id":"",
  320. "room_id":"",
  321. "plan_id":""
  322. },
  323. orderMainTotal:0,
  324. orderMainList:[],
  325. inPaymentList:[
  326. {id:1,name:"在此付款单中"},
  327. {id:2,name:"不在此付款单中"},
  328. {id:3,name:"不在任何付款单中"}
  329. ],
  330. //1、未发单/ 2已发单、3已确认、4已取消
  331. confirmStatusList:[
  332. {id:1,name:"未发单"},
  333. {id:2,name:"已发单"},
  334. {id:3,name:"已确认"},
  335. {id:4,name:"已取消"}
  336. ],
  337. prodTypeList:[
  338. {id:"hotel",name:"酒店"},
  339. {id:"item",name:"附加项目"}
  340. ],
  341. supplierList:[],
  342. multipleSelection: [],
  343. hotelList:[],
  344. itemList:[]
  345. }
  346. },
  347. created() {
  348. this.getAdminUser();
  349. this.getSupplierList();
  350. this.getData(1)
  351. this.getHotelList()
  352. this.getItemList()
  353. },
  354. watch: {
  355. "orderMainListSearch.prod_type" : function (newVal,oldVal){
  356. this.getOrderMainData(1)
  357. }
  358. },
  359. methods: {
  360. getProdTypeName(info){
  361. for (let i = 0; i < this.prodTypeList.length; i++) {
  362. if (this.prodTypeList[i].id == info.prod_type) {
  363. return this.prodTypeList[i].name
  364. }
  365. }
  366. return "-"
  367. },
  368. getHotelList(){
  369. axios.post("/hotel.php/cf_hotel_info/getHotelList", this.search).then((response) => {
  370. console.log(response)
  371. let data = response.data;
  372. this.hotelList = data.list;
  373. }).catch(function (error) {
  374. console.log(error);
  375. });
  376. },
  377. getItemList(){
  378. axios.post("/hotel.php/cf_item/getList", this.search).then((response) => {
  379. console.log(response)
  380. let data = response.data;
  381. this.itemList = data.list;
  382. }).catch(function (error) {
  383. console.log(error);
  384. });
  385. },
  386. checkSelect(row,index){
  387. if (this.editOrder.status != 0) {
  388. return false;
  389. }
  390. if (row.payment_order_id ==0) {
  391. return true;
  392. }
  393. return false;
  394. },
  395. handleSelectionChange(val) {
  396. this.multipleSelection = val;
  397. },
  398. getSupplierList(){
  399. axios.post("/hotel.php/cf_suplier_info/getList", this.search).then((response) => {
  400. console.log(response)
  401. let data = response.data;
  402. this.supplierList = data.list;
  403. }).catch(function (error) {
  404. console.log(error);
  405. });
  406. },
  407. getStatusName(info) {
  408. for (let i = 0; i < this.status.length; i++) {
  409. if (this.status[i].id == info.status) {
  410. return this.status[i].value
  411. }
  412. }
  413. return "-"
  414. },
  415. getUserName(info) {
  416. for (let i = 0; i < this.userList.length; i++) {
  417. if (this.userList[i].id == info.create_id) {
  418. return this.userList[i].name
  419. }
  420. }
  421. return "-"
  422. },
  423. confirmStatusName(info){
  424. for (let i = 0; i < this.confirmStatusList.length; i++) {
  425. if (this.confirmStatusList[i].id == info.confirm_status) {
  426. return this.confirmStatusList[i].name
  427. }
  428. }
  429. return "-"
  430. },
  431. sizeChange(pageSize) {
  432. this.search.pageSize = pageSize;
  433. this.getData(this.search.pageNum)
  434. },
  435. sizeOrderMainChange(pageSize) {
  436. this.orderMainListSearch.pageSize = pageSize;
  437. this.getOrderMainData(this.orderMainListSearch.pageNum)
  438. },
  439. //獲取列表
  440. getData(page) {
  441. this.search.pageNum = page;
  442. axios.post("/hotel.php/payment_order/getList", this.search).then((response) => {
  443. let data = response.data;
  444. console.log(this.tableData);
  445. if (data.flag) {
  446. this.tableData = data.data.list;
  447. this.total = data.data.total;
  448. console.log(this.tableData);
  449. } else {
  450. this.$message.error(response.msg);
  451. }
  452. }).catch(function (error) {
  453. console.log(error);
  454. });
  455. },
  456. getAdminUser() {
  457. axios.post("/hotel.php/auth/admin/getList", this.search).then((response) => {
  458. this.userList = response.data.list;
  459. }).catch(function (error) {
  460. console.log(error);
  461. });
  462. },
  463. edit(info) {
  464. if (info == null) {
  465. this.editType = false;
  466. this.editData = {
  467. name: ""
  468. }
  469. } else {
  470. this.editType = true;
  471. this.editData = {
  472. id:info.id,
  473. name: info.name,
  474. status:info.status
  475. }
  476. }
  477. this.editShow = true;
  478. },
  479. editDoing(){
  480. axios.post("/hotel.php/payment_order/save", this.editData).then( (response)=> {
  481. let data = response.data;
  482. console.log(this.tableData);
  483. if (data.flag) {
  484. this.$message({
  485. message: '保存成功!',
  486. type: 'success'
  487. });
  488. this.editShow = false;
  489. this.getData(1);
  490. } else {
  491. this.$message.error(data.msg);
  492. }
  493. }).catch(function (error) {
  494. this.$message.error("保存失败");
  495. console.log(error);
  496. });
  497. },
  498. setStatus(info){
  499. this.$confirm('确定修改状态?', '提示', {
  500. confirmButtonText: '确定',
  501. cancelButtonText: '取消',
  502. type: 'warning'
  503. }).then(() => {
  504. axios.post("/hotel.php/payment_order/setStatus", info).then( (response)=> {
  505. let data = response.data;
  506. if (data.flag) {
  507. this.$message({
  508. message: '设置成功!',
  509. type: 'success'
  510. });
  511. } else {
  512. this.$message.error(data.msg);
  513. this.getData(this.search.pageNum)
  514. }
  515. }).catch(function (error) {
  516. this.$message.error("保存失败");
  517. console.log(error);
  518. this.getData(this.search.pageNum)
  519. });
  520. }).catch(() => {
  521. this.$message({
  522. type: 'info',
  523. message: '已取消'
  524. });
  525. this.getData(this.search.pageNum)
  526. })
  527. },
  528. editOrderDivShow(info){
  529. console.log(info);
  530. this.editOrder = info;
  531. this.orderMainListSearch.payment_order_id = info.id;
  532. this.orderMainList=[];
  533. this.getOrderMainData(1);
  534. this.editOrderShow = true;
  535. },
  536. getOrderMainData(page){
  537. this.orderMainListSearch.pageNum = page;
  538. axios.post("/hotel.php/payment_order/getSubOrderList", this.orderMainListSearch).then((response) => {
  539. let data = response.data;
  540. console.log(this.tableData);
  541. if (data.flag) {
  542. this.orderMainList = data.data.list;
  543. this.orderMainTotal = data.data.total;
  544. console.log(this.orderMainList);
  545. } else {
  546. this.$message.error(data.msg);
  547. }
  548. }).catch(function (error) {
  549. console.log(error);
  550. });
  551. },
  552. addOrderInfo(info){
  553. let param = {
  554. hotel_id:[],
  555. item_id:[],
  556. id:this.editOrder.id
  557. }
  558. if (info.prod_type=='hotel') {
  559. param.hotel_id.push(info.id)
  560. }else{
  561. param.item_id.push(info.id)
  562. }
  563. this.addOrderMain(param)
  564. },
  565. addOrderMain(param){
  566. axios.post("/hotel.php/payment_order/addOrderMain", param).then((response) => {
  567. let data = response.data;
  568. if (data.flag) {
  569. this.$message({
  570. message: '添加成功!',
  571. type: 'success'
  572. });
  573. this.getOrderMainData(this.orderMainListSearch.pageNum)
  574. this.getData(this.search.pageNum)
  575. } else {
  576. this.$message.error(data.msg);
  577. }
  578. }).catch(function (error) {
  579. console.log(error);
  580. });
  581. },
  582. addOrderAll(){
  583. let param = {
  584. hotel_id:[],
  585. item_id:[],
  586. id:this.editOrder.id
  587. }
  588. let length = this.multipleSelection.length;
  589. for (var k = 0; k < length; k++) {
  590. if (this.multipleSelection[k].prod_type=='hotel'){
  591. param.hotel_id.push(this.multipleSelection[k].id)
  592. }else{
  593. param.item_id.push(this.multipleSelection[k].id)
  594. }
  595. }
  596. this.addOrderMain(param);
  597. },
  598. removeOrderMain(info){
  599. let param = {
  600. hotel_id:[],
  601. item_id:[],
  602. id:this.editOrder.id
  603. }
  604. if (info.prod_type=='hotel') {
  605. param.hotel_id.push(info.id)
  606. }else{
  607. param.item_id.push(info.id)
  608. }
  609. axios.post("/hotel.php/payment_order/removeOrderMain", param).then((response) => {
  610. let data = response.data;
  611. if (data.flag) {
  612. this.$message({
  613. message: '移除成功!',
  614. type: 'success'
  615. });
  616. this.getOrderMainData(this.orderMainListSearch.pageNum)
  617. this.getData(this.search.pageNum)
  618. } else {
  619. this.$message.error(data.msg);
  620. }
  621. }).catch(function (error) {
  622. console.log(error);
  623. });
  624. },
  625. delAll(id){
  626. let param = {
  627. id:id
  628. }
  629. this.$confirm('确定删除采购单?', '提示', {
  630. confirmButtonText: '确定',
  631. cancelButtonText: '取消',
  632. type: 'warning'
  633. }).then(() => {
  634. axios.post("/hotel.php/payment_order/delAll", param).then((response) => {
  635. let data = response.data;
  636. if (data.flag) {
  637. this.$message({
  638. message: '移除成功!',
  639. type: 'success'
  640. });
  641. this.getData(this.search.pageNum)
  642. } else {
  643. this.$message.error(data.msg);
  644. }
  645. }).catch(function (error) {
  646. console.log(error);
  647. });
  648. }).catch(() => {
  649. this.$message({
  650. type: 'info',
  651. message: '已取消'
  652. });
  653. });
  654. }
  655. }
  656. })
  657. </script>
  658. <style lang="scss" scoped>
  659. .el-table thead {
  660. background-color: #5a5e66 !important;
  661. }
  662. .header-search {
  663. font-size: 14px;
  664. font-weight: 900;
  665. }
  666. body {
  667. background-color: white;
  668. }
  669. .table {
  670. width: 100%;
  671. font-size: 12px;
  672. margin-top: 12px;
  673. background-color: white;
  674. }
  675. .el-form-item{
  676. margin-bottom: 5px !important;
  677. }
  678. </style>
  679. </html>