company_name.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. // components/company_name/company_name.js
  2. const app = getApp();
  3. Component({
  4. options: {
  5. addGlobalClass: true
  6. },
  7. observers: {
  8. 'globalData.changeCompanyName': function (value) {
  9. // 当globalData.someData发生变化时,这个函数会被调用
  10. //console.log(`globalData.changeCompanyName changed to: ${value}`);
  11. debugger
  12. this.setData({
  13. userInfo: wx.getStorageSync('userInfo'),
  14. company: wx.getStorageSync('company'),
  15. changeCompanyName: app.globalData.changeCompanyName,
  16. companyName: wx.getStorageSync('companyName') || '',
  17. ownerCodeList: wx.getStorageSync('ownerCodeList') || [],
  18. virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [],
  19. virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [],
  20. selectCompanyName: wx.getStorageSync('selectCompanyName') || '',
  21. virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '',
  22. })
  23. this.init();
  24. },
  25. },
  26. lifetimes: {
  27. attached: function () {
  28. let that = this;
  29. this.setData({
  30. userInfo: wx.getStorageSync('userInfo'),
  31. company: wx.getStorageSync('company'),
  32. changeCompanyName: app.globalData.changeCompanyName,
  33. companyName: wx.getStorageSync('companyName') || '',
  34. ownerCodeList: wx.getStorageSync('ownerCodeList') || [],
  35. virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [],
  36. virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [],
  37. selectCompanyName: wx.getStorageSync('selectCompanyName') || '',
  38. virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '',
  39. });
  40. app.watch("changeCompanyName", (n, v) => {
  41. this.setData({
  42. userInfo: wx.getStorageSync('userInfo'),
  43. company: wx.getStorageSync('company'),
  44. changeCompanyName: app.globalData.changeCompanyName,
  45. companyName: wx.getStorageSync('companyName') || '',
  46. ownerCodeList: wx.getStorageSync('ownerCodeList') || [],
  47. virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [],
  48. virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [],
  49. selectCompanyName: wx.getStorageSync('selectCompanyName') || '',
  50. virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '',
  51. });
  52. if (app.globalData.changeCompanyName) {
  53. that.init();
  54. }
  55. })
  56. },
  57. },
  58. /**
  59. * 组件的属性列表
  60. */
  61. properties: {
  62. },
  63. /**
  64. * 组件的初始数据
  65. */
  66. data: {
  67. companyName: wx.getStorageSync('companyName') || '',
  68. ownerCodeList: wx.getStorageSync('ownerCodeList') || [],
  69. virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [],
  70. virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [],
  71. virtualInventoryId: wx.getStorageSync('virtualInventoryId') || 0,
  72. selectCompanyName: wx.getStorageSync('selectCompanyName') || '',
  73. virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '',
  74. },
  75. /**
  76. * 组件的方法列表
  77. */
  78. methods: {
  79. async init(selected) {
  80. let company = await app.ajax.get({
  81. url: `/admin/bxdClientCompany/${this.data.company.companyId}`,
  82. data: {}
  83. });
  84. wx.setStorageSync('company', company.data.data);
  85. wx.setStorageSync('ownerCodeList', wx.getStorageSync('userInfo').companyName.split(","));
  86. this.setData({
  87. company: company.data.data,
  88. ownerCodeList: wx.getStorageSync('userInfo').companyName.split(",")
  89. })
  90. this.popUp();
  91. if (this.data.selectCompanyName) {
  92. await this.getVirtualInventoryList(true);
  93. }
  94. },
  95. handleDisagree(e) {
  96. this.triggerEvent("nok")
  97. this.disPopUp()
  98. },
  99. handleAgree(e) {
  100. //console.log("ok")
  101. this.triggerEvent("ok")
  102. this.disPopUp()
  103. },
  104. popUp() {
  105. this.setData({
  106. changeCompanyName: false,
  107. })
  108. //console.log("changeCompanyName", this.data.changeCompanyName);
  109. this.setData({
  110. changeCompanyName: true
  111. })
  112. //console.log("changeCompanyName", this.data.changeCompanyName);
  113. },
  114. disPopUp() {
  115. app.globalData.changeCompanyName = false;
  116. this.setData({
  117. changeCompanyName: false
  118. })
  119. },
  120. setCompanyName(e) {
  121. //console.log(e)
  122. this.setData({
  123. selectCompanyName: this.data.ownerCodeList[Number(e.detail.value)]
  124. })
  125. this.getVirtualInventoryList();
  126. },
  127. async changeCompany() {
  128. this.setData({
  129. ownerCodeList: wx.getStorageSync('userInfo').companyName.split(","),
  130. changeCompanyName: true,
  131. });
  132. },
  133. async getVirtualInventoryList(selected) {
  134. let companyId = this.data.company.companyId;
  135. let selectCompanyName = this.data.selectCompanyName;
  136. let {
  137. data
  138. } = await app.ajax.get({
  139. url: `/admin/bxdVirtualInventory/page?companyId=${companyId}&companyName=${selectCompanyName}&current=1&size=10000`,
  140. noCompany: true
  141. });
  142. let virtualInventoryList = data.data.records.map(v => {
  143. v.children = [{
  144. virtualInventoryName: '一级'
  145. }].concat(v.children);
  146. return v;
  147. });
  148. if (selected) {
  149. let virtualInventoryValue = this.data.virtualInventoryValue;
  150. // if (!virtualInventoryValue || virtualInventoryValue.length == 0) {
  151. // virtualInventoryValue = [0, 0];
  152. // }
  153. this.setData({
  154. virtualInventoryList: [
  155. virtualInventoryList,
  156. virtualInventoryList[virtualInventoryValue.length > 0 ? virtualInventoryValue[0] : 0].children
  157. ]
  158. });
  159. return;
  160. }
  161. this.setData({
  162. virtualInventoryValue: [0, 0],
  163. virtualInventoryList: [
  164. virtualInventoryList,
  165. virtualInventoryList[0].children
  166. ]
  167. })
  168. },
  169. setVirtualInventoryId(e) {
  170. //console.log(e)
  171. let virtualInventoryList = this.data.virtualInventoryList;
  172. let virtualInventoryName = virtualInventoryList[0][e.detail.value[0]].virtualInventoryName;
  173. let virtualInventoryId = virtualInventoryList[0][e.detail.value[0]].virtualInventoryId;
  174. if (virtualInventoryList[1][e.detail.value[1]].virtualInventoryId) {
  175. virtualInventoryName += "/" + virtualInventoryList[1][e.detail.value[1]].virtualInventoryName;
  176. virtualInventoryId = virtualInventoryList[1][e.detail.value[1]].virtualInventoryId;
  177. }
  178. this.setData({
  179. virtualInventoryValue: e.detail.value,
  180. virtualInventoryName,
  181. virtualInventoryId
  182. });
  183. },
  184. setVirtualInventoryChildren(e) {
  185. let virtualInventoryValue = this.data.virtualInventoryValue;
  186. let virtualInventoryList = this.data.virtualInventoryList;
  187. virtualInventoryValue[e.detail.column] = e.detail.value;
  188. if (e.detail.column == 0) {
  189. virtualInventoryValue[1] = 0;
  190. }
  191. this.setData({
  192. virtualInventoryValue
  193. });
  194. if (e.detail.column == 0) {
  195. virtualInventoryList[1] = virtualInventoryList[e.detail.column][e.detail.value].children;
  196. this.setData({
  197. virtualInventoryList
  198. });
  199. }
  200. },
  201. selectConfirm() {
  202. if (!this.data.selectCompanyName) {
  203. wx.showToast({
  204. title: '请选择货主',
  205. icon: 'error'
  206. });
  207. return;
  208. }
  209. if (!this.data.virtualInventoryName || !this.data.virtualInventoryId) {
  210. wx.showToast({
  211. title: '请选择成本中心',
  212. icon: 'error'
  213. });
  214. return;
  215. }
  216. this.goHome();
  217. },
  218. goHome() {
  219. wx.setStorageSync('companyName', this.data.selectCompanyName);
  220. wx.setStorageSync('selectCompanyName', this.data.selectCompanyName);
  221. wx.setStorageSync('virtualInventoryId', this.data.virtualInventoryId);
  222. wx.setStorageSync('virtualInventoryName', this.data.virtualInventoryName);
  223. wx.setStorageSync('virtualInventoryValue', this.data.virtualInventoryValue);
  224. app.globalData.logout = false;
  225. wx.setStorageSync('logout', false);
  226. wx.showToast({
  227. title: '成功',
  228. icon: "success"
  229. });
  230. this.disPopUp();
  231. setTimeout(() => {
  232. wx.switchTab({
  233. url: '/pages/index/index',
  234. })
  235. }, 1000)
  236. },
  237. }
  238. })