order.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div class='app-container'>
  3. <el-form v-if="isCookie" label-position="top">
  4. <el-form-item label="申请查询">
  5. <el-input v-model="data.form.mobile" placeholder="请输入需要查询的手机号" />
  6. </el-form-item>
  7. <el-form-item>
  8. <el-button type="primary" @click="getList">查询</el-button>
  9. </el-form-item>
  10. </el-form>
  11. <div v-else class="list" v-for="item in data.tableData" :key="item.id">
  12. <div class="header between">
  13. <span>快递单号:{{ item.logisticsCode }}</span>
  14. <span>{{ proxy.selectDictLabel(applyTypeOptions, item.type) }}</span>
  15. </div>
  16. <el-descriptions class="main" :column="1">
  17. <el-descriptions-item label="姓名:">{{ item.name }}</el-descriptions-item>
  18. <el-descriptions-item label="产品型号:">{{ item.goodsName }}</el-descriptions-item>
  19. <el-descriptions-item label="电话号码:">{{ item.mobile }}</el-descriptions-item>
  20. </el-descriptions>
  21. <div class="footer between">
  22. <span>填写时间:{{ item.createTime }}</span>
  23. <span>{{ proxy.selectDictLabel(repairStatusOptions, item.status) }}</span>
  24. </div>
  25. </div>
  26. </div>
  27. </template>
  28. <script setup>
  29. import { list } from "@/api/mobile/order"
  30. import { useCommon } from "@/hooks/index"
  31. const { applyTypeOptions, repairStatusOptions } = useCommon()
  32. const { proxy } = getCurrentInstance()
  33. document.title = '申请查询'
  34. const data = reactive({
  35. form: {},
  36. tableData: []
  37. })
  38. // 是否输入手机号
  39. const isCookie = ref(true)
  40. // 遮罩层
  41. const loading = ref(false)
  42. // 列表
  43. const getList = () => {
  44. loading.value = true
  45. list(data.form.mobile).then(res => {
  46. if (res.code === 0) {
  47. data.tableData = res.data
  48. loading.value = false
  49. isCookie.value = false
  50. sessionStorage.setItem('mobile', data.form.mobile)
  51. }
  52. })
  53. }
  54. onMounted(() => {
  55. data.form.mobile = sessionStorage.getItem('mobile')
  56. isCookie.value = data.form.mobile ? false : true
  57. if(!isCookie.value){
  58. getList()
  59. }
  60. })
  61. </script>
  62. <style lang="scss" scoped>
  63. .list {
  64. border-radius: 8px;
  65. overflow: hidden;
  66. margin-bottom: 15px;
  67. border: 1px solid #d0d0d0;
  68. }
  69. .header {
  70. background-color: #000;
  71. color: #FFF;
  72. padding: 8px 10px;
  73. font-size: 16px;
  74. }
  75. .main {
  76. padding: 8px 10px 0;
  77. }
  78. .footer {
  79. padding: 12px 10px;
  80. border-top: 1px solid #d0d0d0;
  81. font-size: 14px;
  82. }
  83. .between {
  84. display: flex;
  85. justify-content: space-between;
  86. }
  87. </style>