OrderList.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  1. <template>
  2. <div class="my-share personal-info">
  3. <div class="common-title-box">
  4. <h2>订单管理</h2>
  5. <div class="btn-box">
  6. <el-button type="primary" size="small" @click="handInvoice"
  7. >申请发票</el-button
  8. >
  9. </div>
  10. </div>
  11. <el-table
  12. :data="orderList"
  13. @sort-change="handleSort"
  14. :default-sort="dataSort"
  15. v-loading="tableLoading"
  16. :max-height="tableHeight"
  17. @selection-change="handleSelectionChange"
  18. >
  19. <el-table-column type="selection" width="40" fixed> </el-table-column>
  20. <el-table-column
  21. type="index"
  22. label="#"
  23. width="48"
  24. :index="(pageNumber - 1) * pageSize + 1"
  25. >
  26. </el-table-column>
  27. <el-table-column prop="sn" label="交易单号" width="200">
  28. </el-table-column>
  29. <el-table-column
  30. prop="pay_time"
  31. label="交易时间"
  32. width="180"
  33. sortable="custom"
  34. >
  35. <template slot-scope="scope">
  36. {{ scope.row.pay_time ? scope.row.pay_time.substring(0, 16) : "-" }}
  37. </template>
  38. </el-table-column>
  39. <el-table-column prop="name" label="购买商品" min-width="220">
  40. </el-table-column>
  41. <el-table-column label="类型" width="72">
  42. <template slot-scope="scope" v-if="scope.row.goods_type >= 0">
  43. <span
  44. class="items-type"
  45. :style="{
  46. background: typeList[scope.row.goods_type]
  47. ? typeList[scope.row.goods_type].bg
  48. : '',
  49. color: typeList[scope.row.goods_type]
  50. ? typeList[scope.row.goods_type].color
  51. : '',
  52. }"
  53. >{{
  54. typeList[scope.row.goods_type]
  55. ? typeList[scope.row.goods_type].text
  56. : "-"
  57. }}</span
  58. >
  59. </template>
  60. </el-table-column>
  61. <el-table-column prop="goods_study_phase_name" label="学段" width="64">
  62. </el-table-column>
  63. <el-table-column prop="study" label="价格" width="154">
  64. <template slot-scope="scope">
  65. <span class="currectPrice"
  66. >¥{{
  67. scope.row.hasOwnProperty("goods_price_discount")
  68. ? scope.row.goods_price_discount
  69. : scope.row.goods_price | cutMoneyFiter
  70. }}</span
  71. >
  72. <span
  73. class="oldPrice"
  74. v-if="
  75. scope.row.hasOwnProperty('goods_price_discount') &&
  76. scope.row.goods_price_discount !== scope.row.goods_price
  77. "
  78. >(¥{{ scope.row.goods_price | cutMoneyFiter }})</span
  79. >
  80. </template>
  81. </el-table-column>
  82. <el-table-column label="兑换码" width="194">
  83. <template slot-scope="scope">
  84. <template v-if="scope.row.is_use_discount_code == 'false'">
  85. </template>
  86. <template v-else>
  87. <template v-if="scope.row.discount_code">
  88. <span class="code" :id="'copy-' + scope.row.discount_code">{{
  89. scope.row.discount_code
  90. }}</span>
  91. <svg-icon
  92. icon-class="copy"
  93. class="copy"
  94. @click="CopyToClipboard('copy-' + scope.row.discount_code)"
  95. ></svg-icon>
  96. </template>
  97. <template v-else>-</template>
  98. </template>
  99. </template>
  100. </el-table-column>
  101. <el-table-column label="支付金额" width="96">
  102. <template slot-scope="scope">
  103. <span>¥{{ scope.row.order_amount | cutMoneyFiter }}</span>
  104. </template>
  105. </el-table-column>
  106. <el-table-column prop="pay_type_name" label="支付渠道" width="104">
  107. </el-table-column>
  108. <el-table-column prop="status" label="交易状态" width="112">
  109. <template slot-scope="scope">
  110. <div class="status-box">
  111. <span
  112. :style="{ background: statusList[scope.row.order_status].bg }"
  113. ></span>
  114. <b
  115. :style="{ color: statusList[scope.row.order_status].textColor }"
  116. >{{ scope.row.order_status_name }}</b
  117. >
  118. </div>
  119. </template>
  120. </el-table-column>
  121. <el-table-column prop="status" label="退款申请状态" width="112">
  122. <template
  123. slot-scope="scope"
  124. v-if="scope.row.is_has_refund_apply === 'true'"
  125. >
  126. <div class="status-box">
  127. <span
  128. :style="{
  129. background: refundStatusList[scope.row.refund_apply_status].bg,
  130. }"
  131. ></span>
  132. <b
  133. :style="{
  134. color:
  135. refundStatusList[scope.row.refund_apply_status].textColor,
  136. }"
  137. >{{ refundStatusList[scope.row.refund_apply_status].text }}</b
  138. >
  139. </div>
  140. </template>
  141. </el-table-column>
  142. <el-table-column
  143. prop="refund_apply_submit_time"
  144. label="退款申请时间"
  145. width="165"
  146. >
  147. </el-table-column>
  148. <el-table-column prop="refund_amount" label="退款金额" width="100">
  149. <template slot-scope="scope" v-if="scope.row.refund_apply_status === 2">
  150. <span>¥{{ scope.row.refund_amount | cutMoneyFiter }}</span>
  151. </template>
  152. </el-table-column>
  153. <el-table-column prop="status" label="操作" width="140" fixed="right">
  154. <template slot-scope="scope">
  155. <template
  156. v-if="
  157. scope.row.is_use_discount_code == 'false' &&
  158. scope.row.order_status === 1
  159. "
  160. >
  161. <a class="apply" @click="handleApply(scope.row, scope.$index)"
  162. >申请退款</a
  163. >
  164. </template>
  165. <template
  166. v-if="
  167. scope.row.order_status === 1 ||
  168. scope.row.order_status === 2 ||
  169. (scope.row.order_status === 3 &&
  170. scope.row.order_amount !== scope.row.refund_amount)
  171. "
  172. >
  173. <a class="apply" @click="handleToShlef">去查看</a>
  174. </template>
  175. <!-- <template v-if="scope.row.operate==='3'">
  176. <a class="order-detail"><svg-icon icon-class="question-line"></svg-icon>详情</a>
  177. </template>
  178. <template v-if="scope.row.operate==='4'">
  179. <a class="order-detail"><svg-icon icon-class="question-line"></svg-icon>详情</a>
  180. <a class="apply">申请退款</a>
  181. </template> -->
  182. </template>
  183. </el-table-column>
  184. </el-table>
  185. <el-pagination
  186. background
  187. @size-change="handleSizeChange"
  188. @current-change="handleCurrentChange"
  189. :current-page="pageNumber"
  190. :page-sizes="[10, 20, 30, 40, 50]"
  191. :page-size="pageSize"
  192. layout="total, prev, pager, next, sizes, jumper"
  193. :total="total_count"
  194. >
  195. </el-pagination>
  196. <div
  197. class="kefu-box"
  198. v-if="kefuShow"
  199. @mouseover="kefuCode = true"
  200. @mouseleave="kefuCode = false"
  201. >
  202. <div v-if="kefuCode" style="background: #ffffff">
  203. <img src="../../../assets/21st-kefu-code.jpg" />
  204. <span>扫一扫,添加客服微信</span>
  205. </div>
  206. <div v-else>
  207. <img class="kefu-img" src="../../../assets/kefu.png" />
  208. <span style="color: #ff3333; font-weight: bold; font-size: 16px"
  209. >客服咨询入口</span
  210. >
  211. </div>
  212. </div>
  213. <el-dialog
  214. title="发票信息"
  215. :visible.sync="dialogVisible"
  216. width="700px"
  217. class="invoice-dialog"
  218. >
  219. <el-form :model="invoiceForm" ref="ruleForm" label-width="90px">
  220. <el-form-item label="创建模式" prop="create_model">
  221. <el-radio-group v-model="invoiceForm.create_model">
  222. <el-radio :label="0">多个订单合并申请一张汇总发票</el-radio>
  223. <el-radio :label="1">每个订单申请一张发票</el-radio>
  224. </el-radio-group>
  225. </el-form-item>
  226. <el-form-item label="发票类型" prop="invoice_type">
  227. <el-radio-group
  228. v-model="invoiceForm.invoice_type"
  229. @change="handleChangeType"
  230. >
  231. <el-radio :label="0">普通发票</el-radio>
  232. <el-radio :label="1">专用发票</el-radio>
  233. </el-radio-group>
  234. </el-form-item>
  235. <el-form-item label="抬头类型" prop="invoice_type">
  236. <el-radio-group
  237. v-model="invoiceForm.invoice_object"
  238. :disabled="disabled"
  239. >
  240. <el-radio :label="0">个人</el-radio>
  241. <el-radio :label="1">企业</el-radio>
  242. </el-radio-group>
  243. </el-form-item>
  244. <el-form-item label="抬头名称" prop="buyer_info_mc">
  245. <el-input
  246. v-model="invoiceForm.buyer_info_mc"
  247. placeholder="必填"
  248. @blur="handleTrim('invoiceForm', 'buyer_info_mc')"
  249. ></el-input>
  250. </el-form-item>
  251. <template v-if="invoiceForm.invoice_object === 1">
  252. <el-form-item label="单位税号" prop="buyer_info_sh">
  253. <el-input
  254. v-model="invoiceForm.buyer_info_sh"
  255. placeholder="必填"
  256. @blur="handleTrim('invoiceForm', 'buyer_info_sh')"
  257. ></el-input>
  258. </el-form-item>
  259. <el-form-item label="注册地址" prop="buyer_info_dz">
  260. <el-input
  261. v-model="invoiceForm.buyer_info_dz"
  262. :placeholder="invoiceForm.invoice_type === 0 ? '选填' : '必填'"
  263. @blur="handleTrim('invoiceForm', 'buyer_info_dz')"
  264. ></el-input>
  265. </el-form-item>
  266. <el-form-item label="注册电话" prop="buyer_info_dh">
  267. <el-input
  268. v-model="invoiceForm.buyer_info_dh"
  269. :placeholder="invoiceForm.invoice_type === 0 ? '选填' : '必填'"
  270. @blur="handleTrim('invoiceForm', 'buyer_info_dh')"
  271. ></el-input>
  272. </el-form-item>
  273. <el-form-item label="开户银行" prop="buyer_info_khh">
  274. <el-input
  275. v-model="invoiceForm.buyer_info_khh"
  276. :placeholder="invoiceForm.invoice_type === 0 ? '选填' : '必填'"
  277. @blur="handleTrim('invoiceForm', 'buyer_info_khh')"
  278. ></el-input>
  279. </el-form-item>
  280. <el-form-item label="银行账号" prop="buyer_info_zh">
  281. <el-input
  282. v-model="invoiceForm.buyer_info_zh"
  283. :placeholder="invoiceForm.invoice_type === 0 ? '选填' : '必填'"
  284. @blur="handleTrim('invoiceForm', 'buyer_info_zh')"
  285. ></el-input>
  286. </el-form-item>
  287. </template>
  288. <template v-else>
  289. <el-form-item label="身份证号" prop="buyer_info_sfzh">
  290. <el-input
  291. v-model="invoiceForm.buyer_info_sfzh"
  292. placeholder="必填"
  293. @blur="handleTrim('invoiceForm', 'buyer_info_sfzh')"
  294. ></el-input>
  295. </el-form-item>
  296. </template>
  297. </el-form>
  298. <span slot="footer" class="dialog-footer">
  299. <el-button size="small" @click="dialogVisible = false">取 消</el-button>
  300. <el-button
  301. size="small"
  302. type="primary"
  303. @click="handleSureInvoice"
  304. :loading="invoiceLoading"
  305. >确 定</el-button
  306. >
  307. </span>
  308. </el-dialog>
  309. </div>
  310. </template>
  311. <script>
  312. //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  313. //例如:import 《组件名称》from ‘《组件路径》';
  314. import { cutMoneyFiter } from "@/utils/defined";
  315. import { getLogin } from "@/api/ajax";
  316. export default {
  317. //import引入的组件需要注入到对象中才能使用
  318. components: {},
  319. props: [],
  320. filters: {
  321. cutMoneyFiter,
  322. },
  323. data() {
  324. //这里存放数据
  325. return {
  326. pageSize: 10,
  327. pageNumber: 1,
  328. statusList: {
  329. 1: {
  330. text: "支付成功",
  331. bg: "#00B42A",
  332. textColor: "#1D2129",
  333. },
  334. 2: {
  335. text: "兑换成功",
  336. bg: "#165DFF",
  337. textColor: "#1D2129",
  338. },
  339. 4: {
  340. text: "已退款",
  341. textColor: "#0FC6C2",
  342. bg: "#0FC6C2",
  343. },
  344. 5: {
  345. text: "支付失败",
  346. bg: "#EF21DA",
  347. textColor: "#EF21DA",
  348. },
  349. 3: {
  350. text: "已撤回",
  351. bg: "#FF7D00",
  352. textColor: "#1D2129",
  353. },
  354. 0: {
  355. text: "未支付",
  356. bg: "#F53F3F",
  357. textColor: "#F53F3F",
  358. },
  359. },
  360. refundStatusList: {
  361. 2: {
  362. text: "审核通过",
  363. bg: "#00B42A",
  364. textColor: "#1D2129",
  365. },
  366. 0: {
  367. text: "待审核",
  368. bg: "#165DFF",
  369. textColor: "#1D2129",
  370. },
  371. 1: {
  372. text: "驳回",
  373. bg: "#FF7D00",
  374. textColor: "#1D2129",
  375. },
  376. },
  377. typeList: {
  378. 2: {
  379. text: "报纸",
  380. color: "#165DFF",
  381. bg: "#E8F7FF",
  382. },
  383. 4: {
  384. text: "画刊",
  385. color: "#F53F3F",
  386. bg: "#FFECE8",
  387. },
  388. 3: {
  389. text: "精读",
  390. color: "#0FC6C2",
  391. bg: "#E8FFFB",
  392. },
  393. 0: {
  394. text: "课程",
  395. color: "#722ED1",
  396. bg: "#F5E8FF",
  397. },
  398. 1: {
  399. text: "课程",
  400. color: "#722ED1",
  401. bg: "#F5E8FF",
  402. },
  403. // '5':{
  404. // text:'报纸专辑',
  405. // color:'#165DFF',
  406. // bg:'#E8F7FF'
  407. // },
  408. // '6':{
  409. // text:'画刊专辑',
  410. // color:'#F53F3F',
  411. // bg:'#FFECE8'
  412. // }
  413. },
  414. orderList: [],
  415. total_count: 0,
  416. dataSort: {
  417. prop: "pay_time",
  418. order: "descending",
  419. },
  420. tableLoading: false,
  421. tableHeight: "", // 表格高度
  422. kefuShow: true, // 是否显示客服
  423. kefuCode: false, // 显示客服二维码
  424. multipleSelection: [], // 选中的id
  425. invoiceForm: {
  426. create_model: 0,
  427. invoice_type: 0,
  428. invoice_object: 0,
  429. buyer_info_mc: "",
  430. buyer_info_sh: "",
  431. buyer_info_dz: "",
  432. buyer_info_dh: "",
  433. buyer_info_zh: "",
  434. buyer_info_khh: "",
  435. buyer_info_sfzh: "",
  436. },
  437. dialogVisible: false,
  438. disabled: false,
  439. invoiceLoading: false,
  440. };
  441. },
  442. //计算属性 类似于data概念
  443. computed: {},
  444. //监控data中数据变化
  445. watch: {},
  446. //方法集合
  447. methods: {
  448. handleChangeType(val) {
  449. if (val === 1) {
  450. this.disabled = true;
  451. this.invoiceForm.invoice_object = 1;
  452. } else {
  453. this.disabled = false;
  454. }
  455. },
  456. //计算table高度(动态设置table高度)
  457. getTableHeight() {
  458. let tableH = 260; //距离页面下方的高度
  459. let tableHeightDetil = window.innerHeight - tableH;
  460. if (tableHeightDetil <= 300) {
  461. this.tableHeight = 300;
  462. } else {
  463. this.tableHeight = window.innerHeight - tableH;
  464. }
  465. },
  466. handleSort(value) {
  467. let dataSort = {
  468. prop: value.prop,
  469. order: value.order,
  470. };
  471. this.dataSort = dataSort;
  472. this.getList();
  473. },
  474. handleSizeChange(val) {
  475. this.pageSize = val;
  476. this.pageNumber = 1;
  477. this.getList();
  478. },
  479. handleCurrentChange(val) {
  480. this.pageNumber = val;
  481. this.getList();
  482. },
  483. CopyToClipboard(element) {
  484. var doc = document,
  485. text = doc.getElementById(element),
  486. range,
  487. selection;
  488. if (doc.body.createTextRange) {
  489. range = doc.body.createTextRange();
  490. range.moveToElementText(text);
  491. range.select();
  492. } else if (window.getSelection) {
  493. selection = window.getSelection();
  494. range = doc.createRange();
  495. range.selectNodeContents(text);
  496. selection.removeAllRanges();
  497. selection.addRange(range);
  498. }
  499. document.execCommand("copy");
  500. this.$message({
  501. message: "复制成功",
  502. type: "success",
  503. });
  504. window.getSelection().removeAllRanges();
  505. },
  506. getList() {
  507. this.tableLoading = true;
  508. let MethodName = "/ShopServer/Client/OrderManager/PageQueryMyOrderList";
  509. let order_column_list = [];
  510. if (this.dataSort != {}) {
  511. if (this.dataSort.order == "descending") {
  512. order_column_list = [this.dataSort.prop + ":desc"];
  513. } else if (this.dataSort.order == "ascending") {
  514. // 升序不传值
  515. order_column_list = [this.dataSort.prop];
  516. }
  517. } else {
  518. order_column_list = ["pay_time:desc"];
  519. }
  520. let data = {
  521. page_capacity: this.pageSize,
  522. cur_page: this.pageNumber,
  523. order_column_list: order_column_list,
  524. pay_status: 1,
  525. };
  526. getLogin(MethodName, data)
  527. .then((res) => {
  528. this.tableLoading = false;
  529. if (res.status === 1) {
  530. this.orderList = res.order_list;
  531. this.total_count = res.total_count;
  532. }
  533. })
  534. .catch(() => {
  535. this.tableLoading = false;
  536. });
  537. },
  538. // 申请退款
  539. handleApply(obj, index) {
  540. let data = {
  541. order_id: obj.id,
  542. };
  543. getLogin(
  544. "/ShopServer/Client/OrderManager/CheckOrderIsCanSubmitRefundApply",
  545. data
  546. ).then((res) => {
  547. if (res.status === 1) {
  548. if (res.is_can_submit_refund_apply === "true") {
  549. this.$confirm("确定申请退款吗?", "提示", {
  550. confirmButtonText: "确定",
  551. cancelButtonText: "取消",
  552. type: "warning",
  553. })
  554. .then(() => {
  555. let Mname =
  556. "/ShopServer/Client/OrderManager/SubmitOrderRefundApply";
  557. getLogin(Mname, data).then((res) => {
  558. if (res.status === 1) {
  559. this.$message({
  560. type: "success",
  561. message: "申请成功!",
  562. });
  563. this.getList();
  564. }
  565. });
  566. })
  567. .catch(() => {});
  568. } else {
  569. this.$confirm(res.cannot_submit_reason, "不可退款原因", {
  570. confirmButtonText: "确定",
  571. showCancelButton: false,
  572. type: "warning",
  573. });
  574. }
  575. }
  576. });
  577. },
  578. handleToShlef() {
  579. this.$router.push({ path: "/bookShelf" });
  580. },
  581. handInvoice() {
  582. if (this.multipleSelection.length === 0) {
  583. this.$message.warning("请先选择需要开票的订单");
  584. return;
  585. }
  586. this.dialogVisible = true;
  587. },
  588. // 复选框
  589. handleSelectionChange(val) {
  590. // this.multipleSelection = [];
  591. val.forEach((item) => {
  592. this.multipleSelection.push(item.id);
  593. });
  594. console.log(this.multipleSelection);
  595. },
  596. // 去掉前后空格
  597. handleTrim(form, fild) {
  598. this[form][fild] = this[form][fild].trim();
  599. },
  600. // 确定开票
  601. handleSureInvoice() {
  602. if (!this.invoiceForm.buyer_info_mc) {
  603. this.$message.warning("请输入抬头名称");
  604. return;
  605. }
  606. if (this.invoiceForm.invoice_object === 0) {
  607. if (!this.invoiceForm.buyer_info_sfzh) {
  608. this.$message.warning("请输入身份证号");
  609. return;
  610. }
  611. } else {
  612. if (!this.invoiceForm.buyer_info_sh) {
  613. this.$message.warning("请输入单位税号");
  614. return;
  615. }
  616. if (this.invoiceForm.invoice_type === 1) {
  617. if (!this.invoiceForm.buyer_info_dz) {
  618. this.$message.warning("请输入注册地址");
  619. return;
  620. } else if (!this.invoiceForm.buyer_info_dh) {
  621. this.$message.warning("请输入注册电话");
  622. return;
  623. } else if (!this.invoiceForm.buyer_info_khh) {
  624. this.$message.warning("请输入开户银行");
  625. return;
  626. } else if (!this.invoiceForm.buyer_info_zh) {
  627. this.$message.warning("请输入银行账号");
  628. return;
  629. }
  630. }
  631. }
  632. let MethodName = "/ShopServer/Client/OrderManager/SubmitInvoiceApply";
  633. let data = {
  634. order_id_list: this.multipleSelection,
  635. create_model: this.invoiceForm.create_model,
  636. invoice_type: this.invoiceForm.invoice_type,
  637. invoice_object: this.invoiceForm.invoice_object,
  638. buyer_info_mc: this.invoiceForm.buyer_info_mc,
  639. buyer_info_sh: this.invoiceForm.buyer_info_sh,
  640. buyer_info_dz:
  641. this.invoiceForm.invoice_object === 1
  642. ? this.invoiceForm.buyer_info_dz
  643. : "",
  644. buyer_info_dh:
  645. this.invoiceForm.invoice_object === 1
  646. ? this.invoiceForm.buyer_info_dh
  647. : "",
  648. buyer_info_zh:
  649. this.invoiceForm.invoice_object === 1
  650. ? this.invoiceForm.buyer_info_zh
  651. : "",
  652. buyer_info_khh:
  653. this.invoiceForm.invoice_object === 1
  654. ? this.invoiceForm.buyer_info_khh
  655. : "",
  656. buyer_info_sfzh:
  657. this.invoiceForm.invoice_object === 1
  658. ? ""
  659. : this.invoiceForm.buyer_info_sfzh,
  660. };
  661. getLogin(MethodName, data)
  662. .then((res) => {
  663. this.invoiceLoading = false;
  664. if (res.status === 1) {
  665. this.$message.success("申请成功,稍后请到发票管理查看");
  666. this.dialogVisible = false;
  667. this.multipleSelection = [];
  668. this.invoiceForm = {
  669. create_model: 0,
  670. invoice_type: 0,
  671. invoice_object: 0,
  672. buyer_info_mc: "",
  673. buyer_info_sh: "",
  674. buyer_info_dz: "",
  675. buyer_info_dh: "",
  676. buyer_info_zh: "",
  677. buyer_info_khh: "",
  678. buyer_info_sfzh: "",
  679. };
  680. }
  681. })
  682. .catch(() => {
  683. this.invoiceLoading = false;
  684. });
  685. },
  686. },
  687. //生命周期 - 创建完成(可以访问当前this实例)
  688. created() {
  689. this.getTableHeight();
  690. this.getList();
  691. },
  692. //生命周期 - 挂载完成(可以访问DOM元素)
  693. mounted() {},
  694. //生命周期-创建之前
  695. beforeCreated() {},
  696. //生命周期-挂载之前
  697. beforeMount() {},
  698. //生命周期-更新之前
  699. beforUpdate() {},
  700. //生命周期-更新之后
  701. updated() {},
  702. //生命周期-销毁之前
  703. beforeDestory() {},
  704. //生命周期-销毁完成
  705. destoryed() {},
  706. //如果页面有keep-alive缓存功能,这个函数会触发
  707. activated() {},
  708. };
  709. </script>
  710. <style lang="scss" scoped>
  711. /* @import url(); 引入css类 */
  712. .my-share {
  713. background: #ffffff;
  714. border-radius: 4px;
  715. padding: 24px;
  716. h2 {
  717. font-weight: 500;
  718. font-size: 20px;
  719. line-height: 28px;
  720. color: #1d2129;
  721. margin: 0;
  722. }
  723. .el-table {
  724. margin: 24px 0;
  725. max-width: 100%;
  726. }
  727. .el-pagination {
  728. text-align: right;
  729. }
  730. .status-box {
  731. display: flex;
  732. align-items: center;
  733. span {
  734. width: 6px;
  735. height: 6px;
  736. border-radius: 3px;
  737. margin-right: 8px;
  738. margin-top: 2px;
  739. }
  740. b {
  741. font-weight: 400;
  742. font-size: 14px;
  743. line-height: 22px;
  744. color: #1d2129;
  745. }
  746. }
  747. .order-detail {
  748. color: #165dff;
  749. margin-right: 8px;
  750. }
  751. .apply {
  752. font-size: 14px;
  753. line-height: 22px;
  754. color: #165dff;
  755. margin-right: 10px;
  756. font-weight: 500;
  757. }
  758. .items-type {
  759. padding: 1px 8px;
  760. font-weight: 500;
  761. font-size: 14px;
  762. line-height: 22px;
  763. border-radius: 2px;
  764. }
  765. .oldPrice {
  766. color: #86909c;
  767. margin-left: 8px;
  768. }
  769. .code {
  770. color: #175dff;
  771. }
  772. .copy {
  773. color: #c9cdd4;
  774. margin-left: 8px;
  775. cursor: pointer;
  776. }
  777. .kefu-box {
  778. position: fixed;
  779. right: 0;
  780. bottom: 300px;
  781. z-index: 3;
  782. text-align: center;
  783. cursor: pointer;
  784. img {
  785. width: 150px;
  786. }
  787. .kefu-img {
  788. width: 70px;
  789. }
  790. span {
  791. display: block;
  792. text-align: center;
  793. font-size: 12px;
  794. line-height: 1.4;
  795. }
  796. }
  797. }
  798. .common-title-box {
  799. display: flex;
  800. justify-content: space-between;
  801. }
  802. :deep .el-table-column--selection .cell {
  803. padding: 0 10px !important;
  804. }
  805. :deep .el-form-item {
  806. margin-bottom: 10px;
  807. }
  808. </style>