OrderController.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. <?php
  2. namespace app\admin\controller;
  3. use think\exception\ValidateException;
  4. use app\model\Order;
  5. use app\model\OrderStaff;
  6. use app\model\OrderCount;
  7. use app\model\Store;
  8. use app\model\Express;
  9. use app\model\OrderHistory;
  10. use app\model\OrderExpress;
  11. use app\model\Technical;
  12. use app\model\MessageMp;
  13. use app\model\MessageMini;
  14. use app\model\Paymethod;
  15. use app\model\RegisterField;
  16. use app\model\Operatingcity;
  17. use app\model\OrderTuanzhang;
  18. use app\model\Goods;
  19. use app\model\QrcodeMod;
  20. use app\samos\wechat\MiniProgram;
  21. class OrderController extends Base
  22. {
  23. function index()
  24. {
  25. $status = input('post.status', '', 'serach_in');
  26. $query = $this->setSearch();
  27. $querycount = clone $query;
  28. $countdata['statuscount1'] = Order::statuscount(clone $querycount, 1);
  29. $countdata['statuscount2'] = Order::statuscount(clone $querycount, 2);
  30. $countdata['statuscount3'] = Order::statuscount(clone $querycount, 3);
  31. $countdata['statuscount4'] = Order::statuscount(clone $querycount, 4);
  32. $countdata['statuscount5'] = Order::statuscount(clone $querycount, 5);
  33. $countdata['statuscount6'] = Order::statuscount(clone $querycount, 6);
  34. $countdata['statuscount7'] = Order::statuscount(clone $querycount, 7);
  35. if (!empty($status)) {
  36. $query->where('order_status_id', $status);
  37. }
  38. $res = $query->order('id desc')
  39. ->paginate(getpage())
  40. ->toArray();
  41. foreach ($res['data'] as &$vo) {
  42. $vo = Order::conversion($vo);
  43. }
  44. $data['data'] = $res;
  45. $data['countdata'] = $countdata;
  46. return $this->json($data);
  47. }
  48. function setSearch()
  49. {
  50. $weid = weid();
  51. $path = input('post.path', '', 'serach_in');
  52. $keyword = input('post.keyword', '', 'serach_in');
  53. $deliverymode = input('post.deliverymode', '', 'serach_in');
  54. $uid = input('post.uid', '', 'intval');
  55. $create_time = input('post.create_time', '', 'serach_in');
  56. $query = Order::where(['weid' => $weid]);
  57. if (!empty($deliverymode)) {
  58. $query->where('deliverymode', $deliverymode);
  59. }
  60. if (!empty($uid)) {
  61. $query->where('uid', $uid);
  62. }
  63. if (!empty($this->sid)) {
  64. $query->where('sid', $this->sid);
  65. }
  66. if (!empty($this->ocid)) {
  67. $Operatingcitydata = Operatingcity::find($this->ocid);
  68. if ($Operatingcitydata) {
  69. $Operatingcitydata = $Operatingcitydata->toArray();
  70. if (empty($Operatingcitydata['areatype'])) {
  71. $Operatingcitydata['areatype'] = 3;
  72. }
  73. if ($Operatingcitydata['areatype'] == 3) {
  74. $query->where('shipping_district_name', $Operatingcitydata['district_name']);
  75. } elseif ($Operatingcitydata['areatype'] == 2) {
  76. $query->where('shipping_city_name', $Operatingcitydata['city_name']);
  77. } elseif ($Operatingcitydata['areatype'] == 1) {
  78. $query->where('shipping_province_name', $Operatingcitydata['province_name']);
  79. }
  80. } else {
  81. $query->where('shipping_city_name', '无');
  82. }
  83. }
  84. if (!empty($this->tzid)) {
  85. if (!empty($this->tzid)) {
  86. $query->where('sid', Store::getidbytzid($this->tzid));
  87. }
  88. }
  89. if ($path == '/order/service' || $path == '/order/storeservice') {
  90. $query->where('ptype', 2)->where('is_times', 0);
  91. } elseif ($path == '/order/timescard') {
  92. $query->where('ptype', 2)->where('is_times', 1);
  93. } elseif ($path == '/order/goods') {
  94. $query->where('ptype', 1)->where('is_times', 0);
  95. }
  96. $query->with(['member', 'orderGoods', 'paymethod']);
  97. if (!empty($create_time)) {
  98. $query->where('create_time', 'between', [strtotime($create_time[0]), strtotime($create_time[1])]);
  99. }
  100. if (!empty($keyword)) {
  101. $query->where('name|pay_subject|shipping_name|shipping_tel|shipping_province_name|shipping_city_name|shipping_district_name|shipping_address|order_num_alias', 'like', '%' . $keyword . '%');
  102. }
  103. return $query;
  104. }
  105. public function total()
  106. {
  107. $postdata = input('post.');
  108. $skumore = json_decode($postdata['skumore'], true);
  109. $Goods = new Goods;
  110. $buygoods = $Goods->cartGoods([
  111. 'id' => $postdata['goods_id'],
  112. 'sku' => $postdata['sku'],
  113. 'quantity' => $postdata['number'],
  114. 'is_skumore' => $postdata['is_skumore'],
  115. 'skumore' => $skumore
  116. ]);
  117. $data["amountTotle"] = $buygoods['total'];
  118. $data["amountTotle"] = round($data["amountTotle"], 2);
  119. return $this->json(['data' => $data]);
  120. }
  121. function add()
  122. {
  123. $msg = '添加成功';
  124. $postdata = input('post.');
  125. $ordermod = new Order;
  126. if (!empty($postdata['order_num_alias'])) {
  127. if (Order::where(['order_num_alias' => $postdata['order_num_alias']])->find()) {
  128. throw new ValidateException('订单编号已存在');
  129. } else {
  130. $order['order_num_alias'] = $postdata['order_num_alias'];
  131. }
  132. }
  133. $payment = 'offline_pay';
  134. $servicetime = input('post.servicetime', '', 'serach_in');
  135. if (!empty($servicetime)) {
  136. $servicetime = explode(' ', $servicetime);
  137. }
  138. if (empty($servicetime[1])) {
  139. $timetmp = explode('-', $servicetime[1]);
  140. }
  141. $order['begin_time'] = strtotime($servicetime[0] . ' ' . $timetmp[0]);
  142. $order['end_time'] = strtotime($servicetime[0] . ' ' . $timetmp[1]);
  143. $order['goods_id'] = $postdata['goods_id'];
  144. $order['total'] = $postdata['total'];
  145. $order['number'] = $postdata['number'];
  146. //支付方式
  147. if (!empty($payment)) {
  148. $order['payment_code'] = $payment;
  149. $paymentdata = Paymethod::where(['code' => $payment, 'weid' => weid()])->find();
  150. $order['pay_method_id'] = $paymentdata->id;
  151. }
  152. $area = $postdata['area'];
  153. $order['shipping_province_name'] = $area[0];
  154. $order['shipping_city_name'] = $area[1];
  155. $order['shipping_district_name'] = $area[2];
  156. $order['shipping_name'] = $postdata['shipping_name'];
  157. $order['shipping_tel'] = $postdata['shipping_tel'];
  158. $order['shipping_address'] = $postdata['shipping_address'];
  159. $order['remark'] = $postdata['remark'];
  160. //var_dump($order);
  161. $data = $ordermod->add_order($order);
  162. if (!empty($data['id'])) {
  163. $pay_time = time();
  164. Order::where(['id' => $data['id']])->update(['pay_time' => $pay_time]);
  165. $ordermod = new Order;
  166. $ordermod->pay_order(['order_num_alias' => $data['order_num_alias']]);
  167. }
  168. return $this->json(['msg' => $msg, 'data' => $data]);
  169. }
  170. function update()
  171. {
  172. $msg = '修改成功';
  173. $postdata = input('post.');
  174. $orderInfo = $postdata['orderInfo'];
  175. try {
  176. $order_history['order_status_id'] = $orderInfo['order_status_id'];
  177. $order_history['order_id'] = $orderInfo['id'];
  178. $order_history['remark'] = $postdata['words'];
  179. if (empty($order_history['remark'])) {
  180. $order_history['remark'] = '修改订单';
  181. }
  182. $order_history['notify'] = 1;
  183. OrderHistory::create($order_history);
  184. $orderup = $orderInfo;
  185. if (!empty($postdata['is_express'])) {
  186. $orderup['is_express'] = $postdata['is_express'];
  187. }
  188. $fieldsdata = RegisterField::fieldToData($postdata, 'pc')['data'];
  189. $orderup['customtext'] = $fieldsdata['customtext'];
  190. order::update($orderup);
  191. $orderup['uid'] = $orderInfo['uid'];
  192. OrderCount::createuserdata($orderup);
  193. } catch (\Exception $e) {
  194. throw new ValidateException($e->getMessage());
  195. }
  196. return $this->json(['msg' => $msg]);
  197. }
  198. public function delivery()
  199. {
  200. $msg = '操作成功';
  201. $orderid = input('post.id');
  202. $orderinfo = Order::find($orderid);
  203. if (!empty($orderinfo)) {
  204. Order::settlement($orderid);
  205. } else {
  206. $msg = '订单不存在';
  207. }
  208. return $this->json(['msg' => $msg]);
  209. }
  210. function staff()
  211. {
  212. $postdata = input('post.');
  213. $orderInfo = $postdata['orderInfo'];
  214. try {
  215. if (empty($this->sid)) {
  216. if (empty($orderInfo['sendto'])) {
  217. throw new ValidateException('请选择指派给');
  218. }
  219. //平台派单
  220. if ($orderInfo['sendto'] == 2) {
  221. if (empty($postdata['uuid'])) {
  222. throw new ValidateException('请选择师傅');
  223. }
  224. $order_staff['order_id'] = $orderInfo['id'];
  225. $order_staff['uuid'] = $postdata['uuid'];
  226. $order_staff['begin_time'] = $orderInfo['begin_time'];
  227. $order_staff['end_time'] = $orderInfo['end_time'];
  228. OrderStaff::addstaff($order_staff);
  229. MessageMini::sendMiniStaff($orderInfo);
  230. MessageMp::distribution($postdata['uuid'], $orderInfo);
  231. $orderup['sid'] = 0;
  232. $msg = '派单成功';
  233. } elseif ($orderInfo['sendto'] == 1) {
  234. if (empty($orderInfo['sid'])) {
  235. throw new ValidateException('请选择商家');
  236. }
  237. OrderStaff::where('order_id', $orderInfo['id'])->delete();
  238. $msg = '派单成功';
  239. $orderup['sid'] = $orderInfo['sid'];
  240. }
  241. } else {
  242. //商家派单
  243. $order_staff['order_id'] = $orderInfo['id'];
  244. $order_staff['uuid'] = $postdata['siduuid'];
  245. $order_staff['begin_time'] = $orderInfo['begin_time'];
  246. $order_staff['end_time'] = $orderInfo['end_time'];
  247. OrderStaff::addstaff($order_staff);
  248. MessageMini::sendMiniStaff($orderInfo);
  249. MessageMp::distribution($postdata['uuid'], $orderInfo);
  250. $msg = '派单成功';
  251. }
  252. if ($orderInfo['order_status_id'] == 2) {
  253. $order_history['order_status_id'] = 3;
  254. $orderup['order_status_id'] = 3;
  255. } else if ($orderInfo['order_status_id'] == 8) {
  256. $order_history['order_status_id'] = 9;
  257. $orderup['order_status_id'] = 9;
  258. }
  259. $order_history['order_id'] = $orderInfo['id'];
  260. $order_history['remark'] = '派单';
  261. $order_history['notify'] = 1;
  262. OrderHistory::create($order_history);
  263. $orderup['id'] = $orderInfo['id'];
  264. $orderup['sendto'] = $orderInfo['sendto'];
  265. order::update($orderup);
  266. $orderup['uid'] = $orderInfo['uid'];
  267. OrderCount::createuserdata($orderup);
  268. } catch (\Exception $e) {
  269. throw new ValidateException($e->getMessage());
  270. }
  271. return $this->json(['msg' => $msg]);
  272. }
  273. function send()
  274. {
  275. $postdata = input('post.');
  276. $orderInfo = $postdata['orderInfo'];
  277. if ($orderInfo['order_status_id'] == 2) {
  278. $order_history['order_status_id'] = 3;
  279. $orderup['order_status_id'] = 3;
  280. } else if ($orderInfo['order_status_id'] == 8) {
  281. $order_history['order_status_id'] = 9;
  282. $orderup['order_status_id'] = 9;
  283. }
  284. try {
  285. $order_history['order_id'] = $orderInfo['id'];
  286. $order_history['remark'] = $postdata['words'];
  287. $order_history['notify'] = 1;
  288. OrderHistory::create($order_history);
  289. $order_express['weid'] = weid();
  290. $order_express['order_id'] = $orderInfo['id'];
  291. $order_express['expressname'] = Express::getExname($postdata['express_code']);
  292. $order_express['express_code'] = $postdata['express_code'];
  293. $order_express['express_no'] = $postdata['express_no'];
  294. if (OrderExpress::where('order_id', $orderInfo['id'])->find()) {
  295. OrderExpress::where('order_id', $orderInfo['id'])->update($order_express);
  296. $msg = '修改物流信息成功';
  297. } else {
  298. OrderExpress::create($order_express);
  299. $msg = '发货成功';
  300. }
  301. $orderup['is_express'] = $postdata['is_express'];
  302. $orderup['id'] = $orderInfo['id'];
  303. order::update($orderup);
  304. $orderup['uid'] = $orderInfo['uid'];
  305. OrderCount::createuserdata($orderup);
  306. } catch (\Exception $e) {
  307. throw new ValidateException($e->getMessage());
  308. }
  309. return $this->json(['msg' => $msg]);
  310. }
  311. function getSendInfo()
  312. {
  313. $id = $this->request->post('id', '', 'serach_in');
  314. if (!$id) throw new ValidateException('参数错误');
  315. $orderInfo = Order::find($id);
  316. if ($orderInfo) {
  317. $orderInfo = $orderInfo->toArray();
  318. if ($orderInfo['deliverymode'] == 5) {
  319. $tuanzhang = OrderTuanzhang::getTuanzhang($orderInfo['id']);
  320. if (!empty($tuanzhang)) {
  321. $orderInfo['shipping_name'] = $tuanzhang['title'];
  322. $orderInfo['shipping_tel'] = $tuanzhang['tel'];
  323. $orderInfo['shipping_address'] = $tuanzhang['region_name'];
  324. }
  325. }
  326. }
  327. $data = OrderExpress::where('order_id', $id)->find();
  328. if ($data) {
  329. $data = $data->toArray();
  330. }
  331. $data['orderInfo'] = $orderInfo;
  332. $data['is_express'] = $orderInfo['is_express'];
  333. return $this->json(['data' => $data]);
  334. }
  335. function offlinepay()
  336. {
  337. $postdata = input('post.');
  338. $orderInfo = $postdata['orderInfo'];
  339. $id = $orderInfo['id'];
  340. $orderinfo = Order::where(['id' => $id])->find();
  341. if (!empty($orderinfo)) {
  342. $pay_time = time();
  343. Order::where(['id' => $id])->update(['pay_time' => $pay_time]);
  344. $ordermod = new Order;
  345. $ordermod->pay_order(['order_num_alias' => $orderinfo['order_num_alias']]);
  346. }
  347. return $this->json(['msg' => '操作成功']);
  348. }
  349. function getInfo()
  350. {
  351. $id = $this->request->post('id', '', 'serach_in');
  352. if (!$id) throw new ValidateException('参数错误');
  353. $data = Order::order_info($id);
  354. $data['sid'] = (int) $this->sid;
  355. $data['sidarray'] = Store::getpcarray();
  356. $data['technical'] = Technical::getpcarraydetailed($data['sid'], $data['orderInfo']['cate_ids'], $data['orderInfo']['shipping_city_name']);
  357. if ($data['orderInfo']['deliverymode'] == 5) {
  358. $tuanzhang = OrderTuanzhang::getTuanzhang($data['orderInfo']['id']);
  359. if (!empty($tuanzhang)) {
  360. $data['orderInfo']['shipping_name'] = $tuanzhang['title'];
  361. $data['orderInfo']['shipping_tel'] = $tuanzhang['tel'];
  362. $data['orderInfo']['shipping_address'] = $tuanzhang['region_name'];
  363. }
  364. }
  365. if ($data['orderInfo']['payment_code'] == 'offline_pay') {
  366. $data['offline_img'] = Order::getoffline($id);
  367. }
  368. if ($data['orderInfo']['sid'] == 0) {
  369. $data['orderInfo']['sid'] = '';
  370. }
  371. if (empty($data['orderInfo']['member'])) {
  372. $data['orderInfo']['member'] = [];
  373. }
  374. $data['is_express'] = 1;
  375. foreach ($data['goods'] as $gvo) {
  376. $data['goodsquantity'] = $data['goodsquantity'] + $gvo['quantity'];
  377. }
  378. $data['uuid'] = OrderStaff::getuuid($data['orderInfo']['id']);
  379. if ($data['sid']) {
  380. $data['siduuid'] = $data['uuid'];
  381. }
  382. $page = 'pagesA/my/myOrder/yuyueDetail?id=' . $data['orderInfo']['id'];
  383. $data['orderInfo']['qrcode'] = MiniProgram::getQrcode2($page);
  384. $customtext = iunserializer($data['orderInfo']['customtext']);
  385. $RegisterField = RegisterField::getinputField('complete');
  386. foreach ($RegisterField as &$vo) {
  387. if ($vo['is_sys'] == 1) {
  388. } else {
  389. $vo['fieldsvalue'] = $customtext[$vo['inputtype']][$vo['id']];
  390. }
  391. if ($vo['inputtype'] == 'pics') {
  392. $vo['fieldsvalue1'] = $vo['fieldsvalue'];
  393. if (empty($vo['fieldsvalue'])) {
  394. $vo['fieldsvalue'] = [];
  395. } else {
  396. $vo['fieldsvalue'] = setPicsView($vo['fieldsvalue']);
  397. }
  398. }
  399. }
  400. $data['fields'] = $RegisterField;
  401. return $this->json(['data' => $data]);
  402. }
  403. function delete()
  404. {
  405. return $this->del(new Order());
  406. }
  407. function getTechnical()
  408. {
  409. $sid = $this->request->post('sid', '', 'serach_in');
  410. $data['technical'] = Technical::getpcarray($this->sid);
  411. return $this->json(['data' => $data]);
  412. }
  413. function getExpress()
  414. {
  415. $data['expressArray'] = Express::getpcarray();
  416. return $this->json(['data' => $data]);
  417. }
  418. function dumpdata()
  419. {
  420. $datalist = [];
  421. $page = $this->request->post('page', 1, 'intval');
  422. $limit = config('my.dumpsize') ? config('my.dumpsize') : 1000;
  423. $query = $this->setSearch();
  424. $status = input('post.status', '', 'serach_in');
  425. if (!empty($status)) {
  426. $query->where('order_status_id', $status);
  427. }
  428. $count = $query->count();
  429. $res = $query->order('id desc')->limit(($page - 1) * $limit, $limit)->select()->toArray();
  430. //var_dump($query->getLastSql());
  431. $servicedumpField = [
  432. [
  433. 'fieldsmingcheng' => 'order_num_alias',
  434. 'viewmingcheng' => '订单号'
  435. ],
  436. [
  437. 'fieldsmingcheng' => 'pay_subject',
  438. 'viewmingcheng' => '预约服务'
  439. ],
  440. [
  441. 'fieldsmingcheng' => 'total',
  442. 'viewmingcheng' => '订单金额'
  443. ],
  444. [
  445. 'fieldsmingcheng' => 'sid',
  446. 'viewmingcheng' => '派单门店'
  447. ],
  448. [
  449. 'fieldsmingcheng' => 'staff',
  450. 'viewmingcheng' => '派单师傅'
  451. ],
  452. [
  453. 'fieldsmingcheng' => 'member_nickname',
  454. 'viewmingcheng' => '下单用户'
  455. ],
  456. [
  457. 'fieldsmingcheng' => 'shipping_name',
  458. 'viewmingcheng' => '联系人'
  459. ],
  460. [
  461. 'fieldsmingcheng' => 'shipping_tel',
  462. 'viewmingcheng' => '电 话'
  463. ],
  464. [
  465. 'fieldsmingcheng' => 'yue_time',
  466. 'viewmingcheng' => '预约时间'
  467. ], [
  468. 'fieldsmingcheng' => 'shipping_city_name',
  469. 'viewmingcheng' => '所在城市'
  470. ],
  471. [
  472. 'fieldsmingcheng' => 'shipping_address',
  473. 'viewmingcheng' => '详细地址'
  474. ],
  475. [
  476. 'fieldsmingcheng' => 'order_status',
  477. 'viewmingcheng' => '订单状态'
  478. ],
  479. [
  480. 'fieldsmingcheng' => 'payment_code_name',
  481. 'viewmingcheng' => '支付方式'
  482. ],
  483. [
  484. 'fieldsmingcheng' => 'pay_time',
  485. 'viewmingcheng' => '支付时间'
  486. ]
  487. ];
  488. $goodsdumpField = [
  489. [
  490. 'fieldsmingcheng' => 'order_num_alias',
  491. 'viewmingcheng' => '订单号'
  492. ],
  493. [
  494. 'fieldsmingcheng' => 'pay_subject',
  495. 'viewmingcheng' => '商品'
  496. ],
  497. [
  498. 'fieldsmingcheng' => 'total',
  499. 'viewmingcheng' => '订单金额'
  500. ],
  501. [
  502. 'fieldsmingcheng' => 'member_nickname',
  503. 'viewmingcheng' => '下单用户'
  504. ],
  505. [
  506. 'fieldsmingcheng' => 'order_status',
  507. 'viewmingcheng' => '订单状态'
  508. ],
  509. [
  510. 'fieldsmingcheng' => 'payment_code_name',
  511. 'viewmingcheng' => '支付方式'
  512. ],
  513. [
  514. 'fieldsmingcheng' => 'pay_time',
  515. 'viewmingcheng' => '支付时间'
  516. ],
  517. [
  518. 'fieldsmingcheng' => 'shipping_name',
  519. 'viewmingcheng' => '收货人'
  520. ],
  521. [
  522. 'fieldsmingcheng' => 'shipping_tel',
  523. 'viewmingcheng' => '电话'
  524. ],
  525. [
  526. 'fieldsmingcheng' => 'shipping_city_name',
  527. 'viewmingcheng' => '城市'
  528. ],
  529. [
  530. 'fieldsmingcheng' => 'shipping_address',
  531. 'viewmingcheng' => '地址'
  532. ],
  533. [
  534. 'fieldsmingcheng' => 'shipping_time',
  535. 'viewmingcheng' => '发货时间'
  536. ],
  537. [
  538. 'fieldsmingcheng' => 'shipping_express_id',
  539. 'viewmingcheng' => '快递公司'
  540. ],
  541. [
  542. 'fieldsmingcheng' => 'shipping_code',
  543. 'viewmingcheng' => '快递单号'
  544. ]
  545. ];
  546. if ($res[0]['ptype'] == 1) {
  547. $dumpField = $goodsdumpField;
  548. } elseif ($res[0]['ptype'] == 2) {
  549. $dumpField = $servicedumpField;
  550. }
  551. foreach ($res as $k => $vo) {
  552. $vo = Order::conversion($vo);
  553. foreach ($dumpField as $key => $fvo) {
  554. $datalist[$k][$key] = $vo[$fvo['fieldsmingcheng']];
  555. }
  556. }
  557. foreach ($dumpField as $key => $vo) {
  558. $data['header'][$key] = $vo['viewmingcheng'];
  559. }
  560. $data['percentage'] = ceil($page * 100 / ceil($count / $limit));
  561. $data['filename'] = '订单.' . config('my.dump_extension');
  562. $data['data'] = $datalist;
  563. return $this->json($data);
  564. }
  565. }