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

index.html 31 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694
  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" ></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. }
  347. },
  348. created() {
  349. this.getAdminUser();
  350. this.getSupplierList();
  351. this.getData(1)
  352. this.getHotelList()
  353. this.getItemList()
  354. },
  355. watch: {
  356. "orderMainListSearch.prod_type" : function (newVal,oldVal){
  357. this.getOrderMainData(1)
  358. }
  359. },
  360. methods: {
  361. getProdTypeName(info){
  362. for (let i = 0; i < this.prodTypeList.length; i++) {
  363. if (this.prodTypeList[i].id == info.prod_type) {
  364. return this.prodTypeList[i].name
  365. }
  366. }
  367. return "-"
  368. },
  369. getHotelList(){
  370. axios.post("/hotel.php/cf_hotel_info/getHotelList", this.search).then((response) => {
  371. console.log(response)
  372. let data = response.data;
  373. this.hotelList = data.list;
  374. }).catch(function (error) {
  375. console.log(error);
  376. });
  377. },
  378. getItemList(){
  379. axios.post("/hotel.php/cf_item/getList", this.search).then((response) => {
  380. console.log(response)
  381. let data = response.data;
  382. this.itemList = data.list;
  383. }).catch(function (error) {
  384. console.log(error);
  385. });
  386. },
  387. checkSelect(row,index){
  388. if (this.editOrder.status != 0) {
  389. return false;
  390. }
  391. if (row.payment_order_id ==0) {
  392. return true;
  393. }
  394. return false;
  395. },
  396. handleSelectionChange(val) {
  397. this.multipleSelection = val;
  398. },
  399. getSupplierList(){
  400. axios.post("/hotel.php/cf_suplier_info/getList", this.search).then((response) => {
  401. console.log(response)
  402. let data = response.data;
  403. this.supplierList = data.list;
  404. }).catch(function (error) {
  405. console.log(error);
  406. });
  407. },
  408. getStatusName(info) {
  409. for (let i = 0; i < this.status.length; i++) {
  410. if (this.status[i].id == info.status) {
  411. return this.status[i].value
  412. }
  413. }
  414. return "-"
  415. },
  416. getUserName(info) {
  417. for (let i = 0; i < this.userList.length; i++) {
  418. if (this.userList[i].id == info.create_id) {
  419. return this.userList[i].name
  420. }
  421. }
  422. return "-"
  423. },
  424. confirmStatusName(info){
  425. for (let i = 0; i < this.confirmStatusList.length; i++) {
  426. if (this.confirmStatusList[i].id == info.confirm_status) {
  427. return this.confirmStatusList[i].name
  428. }
  429. }
  430. return "-"
  431. },
  432. sizeChange(pageSize) {
  433. this.search.pageSize = pageSize;
  434. this.getData(this.search.pageNum)
  435. },
  436. sizeOrderMainChange(pageSize) {
  437. this.orderMainListSearch.pageSize = pageSize;
  438. this.getOrderMainData(this.orderMainListSearch.pageNum)
  439. },
  440. //獲取列表
  441. getData(page) {
  442. this.search.pageNum = page;
  443. axios.post("/hotel.php/payment_order/getList", this.search).then((response) => {
  444. let data = response.data;
  445. console.log(this.tableData);
  446. if (data.flag) {
  447. this.tableData = data.data.list;
  448. this.total = data.data.total;
  449. console.log(this.tableData);
  450. } else {
  451. this.$message.error(response.msg);
  452. }
  453. }).catch(function (error) {
  454. console.log(error);
  455. });
  456. },
  457. getAdminUser() {
  458. axios.post("/hotel.php/auth/admin/getList", this.search).then((response) => {
  459. this.userList = response.data.list;
  460. }).catch(function (error) {
  461. console.log(error);
  462. });
  463. },
  464. edit(info) {
  465. if (info == null) {
  466. this.editType = false;
  467. this.editData = {
  468. name: ""
  469. }
  470. } else {
  471. this.editType = true;
  472. this.editData = {
  473. id:info.id,
  474. name: info.name,
  475. status:info.status
  476. }
  477. }
  478. this.editShow = true;
  479. },
  480. editDoing(){
  481. axios.post("/hotel.php/payment_order/save", this.editData).then( (response)=> {
  482. let data = response.data;
  483. console.log(this.tableData);
  484. if (data.flag) {
  485. this.$message({
  486. message: '保存成功!',
  487. type: 'success'
  488. });
  489. this.editShow = false;
  490. this.getData(1);
  491. } else {
  492. this.$message.error(data.msg);
  493. }
  494. }).catch(function (error) {
  495. this.$message.error("保存失败");
  496. console.log(error);
  497. });
  498. },
  499. setStatus(info){
  500. this.$confirm('确定修改状态?', '提示', {
  501. confirmButtonText: '确定',
  502. cancelButtonText: '取消',
  503. type: 'warning'
  504. }).then(() => {
  505. axios.post("/hotel.php/payment_order/setStatus", info).then( (response)=> {
  506. let data = response.data;
  507. if (data.flag) {
  508. this.$message({
  509. message: '设置成功!',
  510. type: 'success'
  511. });
  512. } else {
  513. this.$message.error(data.msg);
  514. this.getData(this.search.pageNum)
  515. }
  516. }).catch(function (error) {
  517. this.$message.error("保存失败");
  518. console.log(error);
  519. this.getData(this.search.pageNum)
  520. });
  521. }).catch(() => {
  522. this.$message({
  523. type: 'info',
  524. message: '已取消'
  525. });
  526. this.getData(this.search.pageNum)
  527. })
  528. },
  529. editOrderDivShow(info){
  530. console.log(info);
  531. this.editOrder = info;
  532. this.orderMainListSearch.payment_order_id = info.id;
  533. this.orderMainList=[];
  534. this.getOrderMainData(1);
  535. this.editOrderShow = true;
  536. },
  537. getOrderMainData(page){
  538. this.orderMainListSearch.pageNum = page;
  539. axios.post("/hotel.php/payment_order/getSubOrderList", this.orderMainListSearch).then((response) => {
  540. let data = response.data;
  541. console.log(this.tableData);
  542. if (data.flag) {
  543. this.orderMainList = data.data.list;
  544. this.orderMainTotal = data.data.total;
  545. console.log(this.orderMainList);
  546. } else {
  547. this.$message.error(data.msg);
  548. }
  549. }).catch(function (error) {
  550. console.log(error);
  551. });
  552. },
  553. addOrderInfo(info){
  554. let param = {
  555. hotel_id:[],
  556. item_id:[],
  557. id:this.editOrder.id
  558. }
  559. if (info.prod_type=='hotel') {
  560. param.hotel_id.push(info.id)
  561. }else{
  562. param.item_id.push(info.id)
  563. }
  564. this.addOrderMain(param)
  565. },
  566. addOrderMain(param){
  567. axios.post("/hotel.php/payment_order/addOrderMain", param).then((response) => {
  568. let data = response.data;
  569. if (data.flag) {
  570. this.$message({
  571. message: '添加成功!',
  572. type: 'success'
  573. });
  574. this.getOrderMainData(this.orderMainListSearch.pageNum)
  575. this.getData(this.search.pageNum)
  576. } else {
  577. this.$message.error(data.msg);
  578. }
  579. }).catch(function (error) {
  580. console.log(error);
  581. });
  582. },
  583. addOrderAll(){
  584. let param = {
  585. hotel_id:[],
  586. item_id:[],
  587. id:this.editOrder.id
  588. }
  589. let length = this.multipleSelection.length;
  590. for (var k = 0; k < length; k++) {
  591. if (this.multipleSelection[k].prod_type=='hotel'){
  592. param.hotel_id.push(this.multipleSelection[k].id)
  593. }else{
  594. param.item_id.push(this.multipleSelection[k].id)
  595. }
  596. }
  597. this.addOrderMain(param);
  598. },
  599. removeOrderMain(info){
  600. let param = {
  601. hotel_id:[],
  602. item_id:[],
  603. id:this.editOrder.id
  604. }
  605. if (info.prod_type=='hotel') {
  606. param.hotel_id.push(info.id)
  607. }else{
  608. param.item_id.push(info.id)
  609. }
  610. axios.post("/hotel.php/payment_order/removeOrderMain", param).then((response) => {
  611. let data = response.data;
  612. if (data.flag) {
  613. this.$message({
  614. message: '移除成功!',
  615. type: 'success'
  616. });
  617. this.getOrderMainData(this.orderMainListSearch.pageNum)
  618. this.getData(this.search.pageNum)
  619. } else {
  620. this.$message.error(data.msg);
  621. }
  622. }).catch(function (error) {
  623. console.log(error);
  624. });
  625. },
  626. delAll(id){
  627. let param = {
  628. id:id
  629. }
  630. this.$confirm('确定删除采购单?', '提示', {
  631. confirmButtonText: '确定',
  632. cancelButtonText: '取消',
  633. type: 'warning'
  634. }).then(() => {
  635. axios.post("/hotel.php/payment_order/delAll", param).then((response) => {
  636. let data = response.data;
  637. if (data.flag) {
  638. this.$message({
  639. message: '移除成功!',
  640. type: 'success'
  641. });
  642. this.getData(this.search.pageNum)
  643. } else {
  644. this.$message.error(data.msg);
  645. }
  646. }).catch(function (error) {
  647. console.log(error);
  648. });
  649. }).catch(() => {
  650. this.$message({
  651. type: 'info',
  652. message: '已取消'
  653. });
  654. });
  655. }
  656. }
  657. })
  658. </script>
  659. <style lang="scss" scoped>
  660. .el-table thead {
  661. background-color: #5a5e66 !important;
  662. }
  663. .header-search {
  664. font-size: 14px;
  665. font-weight: 900;
  666. }
  667. body {
  668. background-color: white;
  669. }
  670. .table {
  671. width: 100%;
  672. font-size: 12px;
  673. margin-top: 12px;
  674. background-color: white;
  675. }
  676. .el-form-item{
  677. margin-bottom: 5px !important;
  678. }
  679. </style>
  680. </html>