baggageStory.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <div class="baggageStory">
  3. <div class="table">
  4. <el-table height="400" :data="storyTable" border style="width: 100%">
  5. <el-table-column prop="luggageDescribe" label="行李服务记录">
  6. </el-table-column>
  7. <el-table-column prop="createtime" label="行李创建时间">
  8. </el-table-column>
  9. </el-table>
  10. </div>
  11. <div class="content t30">
  12. <el-form ref="form" :model="form" label-width="70px">
  13. <el-form-item label="输入备注">
  14. <el-input type="textarea" clearable v-model="form.desc"></el-input>
  15. </el-form-item>
  16. </el-form>
  17. </div>
  18. <div class="right t30">
  19. <el-button size="medium" class="r24" type="primary" @click="onStoryCheck">确定</el-button>
  20. <el-button size="medium" @click="storyFlag = false">取消</el-button>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import { parseTime } from '@/utils'
  26. import { getToken } from '@/utils/auth'
  27. import { Query, newData } from '@/api/webApi'
  28. export default {
  29. name: 'BaggageStory',
  30. props: {
  31. bagID: {
  32. type: Number || String,
  33. default: 0
  34. }
  35. },
  36. data () {
  37. return {
  38. storyFlag: false,
  39. storyTable: [],
  40. form: {
  41. desc: ''
  42. },
  43. storyId: ''
  44. }
  45. },
  46. mounted () {
  47. this.storyId = this.bagID || ''
  48. if (this.storyId) {
  49. this.queryStoryCheck()
  50. }
  51. },
  52. methods: {
  53. async onStoryCheck () {
  54. if (!this.storyId) return
  55. const params = {
  56. serviceId: SERVICE_ID.advancedStoryId,
  57. dataContent: {
  58. luggageID: this.storyId,
  59. luggageDescribe: this.form.desc,
  60. user_id: getToken('userid')
  61. },
  62. event: '1'
  63. }
  64. const { code } = await newData(params)
  65. if (code == 0) {
  66. const item = {
  67. luggageDescribe: this.form.desc,
  68. createtime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
  69. }
  70. this.storyTable.push(item)
  71. this.$message.success('操作成功')
  72. this.form.desc = ''
  73. }
  74. else this.$message.success('操作失败')
  75. },
  76. async queryStoryCheck () {
  77. this.storyTable = []
  78. const params = {
  79. serviceId: SERVICE_ID.advancedStoryId,
  80. dataContent: {
  81. luggageID: this.storyId,
  82. },
  83. event: '0'
  84. }
  85. const { code, returnData } = await Query(params)
  86. if (code == 0 && returnData?.length) {
  87. const ndatas = [...returnData]
  88. ndatas.forEach(item => item.createtime = parseTime(item.createtime.replace('T', ' '), '{y}-{m}-{d} {h}:{i}:{s}'))
  89. this.storyTable = ndatas
  90. }
  91. },
  92. }
  93. }
  94. </script>
  95. <style lang="scss" scoped>
  96. .baggageStory {
  97. padding: 20px;
  98. }
  99. </style>