purchaseInAdd.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <template>
  2. <view class="bg-f9 warehouse-add">
  3. <header-bar :title="submitType === 'add' ? '采购入库' : '采购入库'"></header-bar>
  4. <view class="common-list-box" style="margin-bottom: 20rpx;">
  5. <view class="text">
  6. <view class="text-list" >
  7. <span class="label">
  8. 采购单号
  9. </span>
  10. <span class="value">
  11. 11
  12. </span>
  13. </view>
  14. <view class="text-list" >
  15. <span class="label">
  16. 物品名称
  17. </span>
  18. <span class="value">
  19. 11
  20. </span>
  21. </view>
  22. <view class="text-list" >
  23. <span class="label">
  24. 待入库
  25. </span>
  26. <span class="value">
  27. 11
  28. </span>
  29. </view>
  30. </view>
  31. </view>
  32. <view class="example">
  33. <!-- 基础用法,不包含校验规则 -->
  34. <uni-forms label-position="top" :modelValue="form" ref="form" :rules="rules">
  35. <uni-forms-item label="仓库名称" required name="type">
  36. <uni-data-select v-model="form.type" :localdata="types"></uni-data-select>
  37. </uni-forms-item>
  38. <uni-forms-item label="本次入库" required name="unit">
  39. <uni-easyinput v-model="form.unit" placeholder="请输入" />
  40. </uni-forms-item>
  41. <uni-forms-item label="仓库说明" name="introduce">
  42. <uni-easyinput type="textarea" v-model="form.introduce" placeholder="请输入自我介绍" />
  43. </uni-forms-item>
  44. </uni-forms>
  45. <button class="submit" @click="submitForm">提交</button>
  46. </view>
  47. </view>
  48. </template>
  49. <script>
  50. import headerBar from '../../../components/header-bar/index.vue'
  51. import Vue from 'vue'
  52. export default {
  53. components: {
  54. headerBar
  55. },
  56. data() {
  57. return {
  58. form: {
  59. name: '',
  60. type: null,
  61. classifyId: null,
  62. code: null,
  63. unit: null,
  64. introduce: null,
  65. },
  66. types: [{
  67. text: '半成品',
  68. value: '0'
  69. }, {
  70. text: '成品',
  71. value: '1'
  72. }],
  73. rules: {
  74. // 对name字段进行必填验证
  75. name: {
  76. rules: [{
  77. required: true,
  78. errorMessage: '请输入产品名称',
  79. }, ]
  80. },
  81. // 对email字段进行必填验证
  82. type: {
  83. rules: [{
  84. required: true,
  85. errorMessage: '请选择产品类型',
  86. }, ]
  87. },
  88. unit: {
  89. rules: [{
  90. required: true,
  91. errorMessage: '请输入产品单位',
  92. }, ]
  93. },
  94. classifyId: {
  95. rules: [{
  96. required: true,
  97. errorMessage: '请选择产品分类',
  98. }, ]
  99. },
  100. },
  101. submitType: 'add',
  102. treeData: [],
  103. }
  104. },
  105. onLoad(e) {
  106. if (e.id) {
  107. this.form.id = e.id
  108. this.form.remarks = e.remarks
  109. this.form.type = e.type
  110. this.form.name = e.name
  111. this.submitType = 'edit'
  112. }
  113. this.getTree()
  114. },
  115. methods: {
  116. treeChange() {},
  117. getTree() {
  118. const v = this
  119. v.$post('/api/basics//classify/tree', {
  120. type: 1
  121. }).then(res => {
  122. if (res.code === 200) {
  123. v.treeData = res.data
  124. }
  125. })
  126. },
  127. submitForm() {
  128. const v = this
  129. this.$refs.form.validate().then(res => {
  130. uni.showLoading({
  131. title: '加载中'
  132. });
  133. v.$post('/api/basics/product/' + this.submitType, v.form).then(res => {
  134. if (res.code === 200) {
  135. uni.showToast({
  136. title: this.submitType == 'add' ? '添加成功' : '修改成功',
  137. duration: 1000,
  138. icon: 'success'
  139. })
  140. }
  141. uni.hideLoading()
  142. let pages = getCurrentPages(); // 获取页面栈
  143. let prePage = pages[pages.length - 2]; //获取上一页
  144. prePage.$vm.needRefresh = true; // 需要刷新
  145. setTimeout(() => {
  146. uni.navigateBack(1)
  147. }, 1000)
  148. })
  149. }).catch(err => {
  150. console.log('表单错误信息:', err);
  151. })
  152. },
  153. },
  154. }
  155. </script>
  156. <style lang="less">
  157. .warehouse-add {}
  158. </style>