transfer-affair-edit.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <view>
  3. <uni-section title='单据信息' type='line' :strong="true" class="bg-white"/>
  4. <view class="my-1 bg-white">
  5. <list-input title="调出仓库(名称)">
  6. <picker class="height-100 text-right form-item-input flex align-center justify-end" :value='defaultCkIndex' :range='defaultCkList' range-key='CKMC' @change="onChangeCK('自',$event)">
  7. <view v-if='defaultCkList.length > 0'>
  8. {{defaultCkList[defaultCkIndex].CKMC}}
  9. </view>
  10. <view v-else>--</view>
  11. </picker>
  12. </list-input>
  13. <list-input title="调出库位(号)">
  14. <picker class="height-100 text-right form-item-input flex align-center justify-end" :value='defaultKwIndex' :range='defaultKwList' range-key='KWH' @change="onChangeKW('自',$event)">
  15. <view v-if='defaultKwList.length > 0'>
  16. {{defaultKwList[defaultKwIndex].KWH}}
  17. </view>
  18. <view v-else>--</view>
  19. </picker>
  20. </list-input>
  21. </view>
  22. <view class="my-1 bg-white">
  23. <list-input title="调入仓库(名称)">
  24. <picker class="height-100 text-right form-item-input flex align-center justify-end" :value='toCkIndex' :range='toCkList' range-key='CKMC' @change="onChangeCK('至',$event)">
  25. <view v-if='toCkList.length > 0'>
  26. {{toCkList[toCkIndex].CKMC}}
  27. </view>
  28. <view v-else>--</view>
  29. </picker>
  30. </list-input>
  31. <list-input title="调入库位(号)">
  32. <picker class="height-100 text-right form-item-input flex align-center justify-end" :value='toKwIndex' :range='toKwList' range-key='KWH' @change="onChangeKW('至',$event)">
  33. <view v-if='toKwList.length > 0'>
  34. {{toKwList[toKwIndex].KWH}}
  35. </view>
  36. <view v-else>--</view>
  37. </picker>
  38. </list-input>
  39. </view>
  40. <table-list :list="list"></table-list>
  41. <btn-save @save='onSave' :disabledOk="disabledSubmit" back/>
  42. </view>
  43. </template>
  44. <script>
  45. import uniSection from "@/components/uni-ui/uni-section/uni-section.vue"
  46. import listInput from "@/components/common/list-input.vue"
  47. import tableList from "@/components/common/table-list.vue"
  48. import btnSave from "@/components/common/btn-save.vue"
  49. import {mapGetters} from "vuex"
  50. import {queryDepartStorageLocation,savePartmenttransfer,queryDefaultStorage} from "@/api/api.js"
  51. const headData=[{key:'itemno',dataIndex:"itemno",title:"物品号",},
  52. {key:'itemnum',dataIndex:"itemnum",title:"调拨数量",},]
  53. export default {
  54. components:{
  55. uniSection,
  56. listInput,
  57. tableList,
  58. btnSave
  59. },
  60. data () {
  61. return {
  62. defaultCkList:[], // 默认(自仓库)
  63. defaultCkIndex:0, // 自仓库索引
  64. defaultKwIndex:0, // 自库位索引
  65. toCkIndex:0, // 至仓库索引
  66. toCkList:[], // 至仓库列表
  67. toKwIndex:0, // 至库位索引
  68. list:{ // 表格
  69. head:headData,
  70. body:[]
  71. },
  72. }
  73. },
  74. computed:{
  75. ...mapGetters(['disabledSubmit']),
  76. // 自库位列表
  77. defaultKwList () {
  78. if (this.defaultCkList.length > 0) {
  79. return this.defaultCkList[this.defaultCkIndex].storageloca
  80. }
  81. return []
  82. },
  83. // 至库位列表
  84. toKwList () {
  85. if (this.toCkList.length > 0) {
  86. return this.toCkList[this.toCkIndex].storageloca
  87. }
  88. return []
  89. }
  90. },
  91. onLoad (e) {
  92. if (e.list) {
  93. this.list.body=JSON.parse(e.list)
  94. }
  95. this.initPage()
  96. },
  97. onPageScroll(res) {
  98. uni.$emit('onPageScroll',res);
  99. },
  100. methods:{
  101. // 初始化页面
  102. async initPage () {
  103. this._queryDepartStorageLocation()
  104. this._queryDefaultStorage()
  105. },
  106. //获取默认仓库
  107. async _queryDefaultStorage () {
  108. const resdata=await queryDefaultStorage()
  109. this.defaultCkList=resdata
  110. return resdata
  111. },
  112. //保存接口
  113. async _savePartmenttransfer () {
  114. let items=[]
  115. this.list.body.forEach(item=>{
  116. items.push({"WPH":item.itemno,"SL":item.itemnum})
  117. })
  118. const reqdata={
  119. "CKHOUT":this.defaultCkList[this.defaultCkIndex].CKH, //调出仓库
  120. "KWHOUT":this.defaultKwList[this.defaultKwIndex].KWH, //调出库位号
  121. "CKHIN":this.toCkList[this.toCkIndex].CKH, //调入仓库
  122. "KWHIN":this.toKwList[this.toKwIndex].KWH, //调入库位号
  123. "items": items
  124. }
  125. console.log(reqdata)
  126. const resdata=await savePartmenttransfer(reqdata)
  127. return resdata
  128. },
  129. // 获取仓库
  130. async _queryDepartStorageLocation () {
  131. const resdata=await queryDepartStorageLocation()
  132. this.toCkList=resdata
  133. },
  134. // 改变仓库
  135. onChangeCK (key,event) {
  136. const value=event.detail.value
  137. switch (key) {
  138. case "自":
  139. this.defaultCkIndex=value
  140. break;
  141. case "至":
  142. this.toCkIndex=value
  143. break;
  144. }
  145. },
  146. // 改变库位
  147. onChangeKW (key,event) {
  148. const value=event.detail.value
  149. switch (key) {
  150. case "自":
  151. this.defaultKwIndex=value
  152. break;
  153. case "至":
  154. this.toKwIndex=value
  155. break;
  156. }
  157. },
  158. // 提交
  159. onSave () {
  160. uni.showModal({
  161. title:"确认保存吗?",
  162. success:async res=>{
  163. if (res.confirm) {
  164. await this._savePartmenttransfer()
  165. uni.showToast({
  166. title:"保存成功"
  167. })
  168. uni.reLaunch({
  169. url:"/pages/index/index"
  170. })
  171. }
  172. }
  173. })
  174. }
  175. }
  176. }
  177. </script>
  178. <style>
  179. </style>