酒店预订平台
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.
 
 
 
 
 
 

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