add.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <view class="bg-f9 warehouse-add">
  3. <header-bar title="仓库维护"></header-bar>
  4. <view class="example">
  5. <!-- 基础用法,不包含校验规则 -->
  6. <uni-forms label-position="top" :modelValue="form" ref="form" :rules="rules">
  7. <uni-forms-item label="仓库名称" required name="name">
  8. <uni-easyinput v-model="form.name" placeholder="请输入姓名" />
  9. </uni-forms-item>
  10. <uni-forms-item label="仓库类型" required name="type">
  11. <uni-data-select v-model="form.type" :localdata="types"></uni-data-select>
  12. </uni-forms-item>
  13. <uni-forms-item label="仓库说明" name="remarks">
  14. <uni-easyinput type="textarea" v-model="form.remarks" placeholder="请输入自我介绍" />
  15. </uni-forms-item>
  16. </uni-forms>
  17. <button class="submit" @click="submitForm">提交</button>
  18. </view>
  19. </view>
  20. </template>
  21. <script>
  22. import headerBar from '../../../components/header-bar/index.vue'
  23. import Vue from 'vue'
  24. export default {
  25. components: {
  26. headerBar
  27. },
  28. data() {
  29. return {
  30. form: {
  31. name: '',
  32. type: null,
  33. remarks: null,
  34. },
  35. types: [{
  36. text: '普通仓库',
  37. value: '1'
  38. }, {
  39. text: '成品仓',
  40. value: '2'
  41. }, {
  42. text: '原料仓',
  43. value: '3'
  44. }, {
  45. text: '辅料仓',
  46. value: '4'
  47. }, {
  48. text: '配件仓',
  49. value: '5'
  50. }, {
  51. text: '处置仓',
  52. value: '6'
  53. }],
  54. rules: {
  55. // 对name字段进行必填验证
  56. name: {
  57. rules: [{
  58. required: true,
  59. errorMessage: '请输入仓库名称',
  60. }, ]
  61. },
  62. // 对email字段进行必填验证
  63. type: {
  64. rules: [{
  65. required: true,
  66. errorMessage: '请选择仓库类型',
  67. }, ]
  68. }
  69. },
  70. submitType:'add'
  71. }
  72. },
  73. onLoad(e) {
  74. if(e.id) {
  75. this.form.id = e.id
  76. this.form.remarks = e.remarks
  77. this.form.type = e.type
  78. this.form.name = e.name
  79. this.submitType = 'edit'
  80. }
  81. console.log(this.form)
  82. },
  83. methods: {
  84. submitForm() {
  85. const v = this
  86. this.$refs.form.validate().then(res => {
  87. uni.showLoading({
  88. title: '加载中'
  89. });
  90. v.$post('/api/basics/warehouse/' + this.submitType, v.form).then(res => {
  91. if (res.code === 200) {
  92. uni.showToast({
  93. title: this.submitType == 'add' ? '添加成功' : '修改成功',
  94. duration: 1000,
  95. icon: 'success'
  96. })
  97. }
  98. uni.hideLoading()
  99. let pages = getCurrentPages(); // 获取页面栈
  100. let prePage = pages[pages.length - 2]; //获取上一页
  101. prePage.$vm.needRefresh = true; // 需要刷新
  102. setTimeout(() => {
  103. uni.navigateBack(1)
  104. }, 1000)
  105. })
  106. }).catch(err => {
  107. console.log('表单错误信息:', err);
  108. })
  109. },
  110. },
  111. }
  112. </script>
  113. <style lang="less">
  114. .warehouse-add {}
  115. </style>