// components/company_name/company_name.js const app = getApp(); Component({ options: { addGlobalClass: true }, observers: { 'globalData.changeCompanyName': function (value) { // 当globalData.someData发生变化时,这个函数会被调用 //console.log(`globalData.changeCompanyName changed to: ${value}`); debugger this.setData({ userInfo: wx.getStorageSync('userInfo'), company: wx.getStorageSync('company'), changeCompanyName: app.globalData.changeCompanyName, companyName: wx.getStorageSync('companyName') || '', ownerCodeList: wx.getStorageSync('ownerCodeList') || [], virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [], virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [], selectCompanyName: wx.getStorageSync('selectCompanyName') || '', virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '', }) this.init(); }, }, lifetimes: { attached: function () { let that = this; this.setData({ userInfo: wx.getStorageSync('userInfo'), company: wx.getStorageSync('company'), changeCompanyName: app.globalData.changeCompanyName, companyName: wx.getStorageSync('companyName') || '', ownerCodeList: wx.getStorageSync('ownerCodeList') || [], virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [], virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [], selectCompanyName: wx.getStorageSync('selectCompanyName') || '', virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '', }); app.watch("changeCompanyName", (n, v) => { this.setData({ userInfo: wx.getStorageSync('userInfo'), company: wx.getStorageSync('company'), changeCompanyName: app.globalData.changeCompanyName, companyName: wx.getStorageSync('companyName') || '', ownerCodeList: wx.getStorageSync('ownerCodeList') || [], virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [], virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [], selectCompanyName: wx.getStorageSync('selectCompanyName') || '', virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '', }); if (app.globalData.changeCompanyName) { that.init(); } }) }, }, /** * 组件的属性列表 */ properties: { }, /** * 组件的初始数据 */ data: { companyName: wx.getStorageSync('companyName') || '', ownerCodeList: wx.getStorageSync('ownerCodeList') || [], virtualInventoryList: wx.getStorageSync('virtualInventoryListwx') || [], virtualInventoryValue: wx.getStorageSync('virtualInventoryValue') || [], virtualInventoryId: wx.getStorageSync('virtualInventoryId') || 0, selectCompanyName: wx.getStorageSync('selectCompanyName') || '', virtualInventoryName: wx.getStorageSync('virtualInventoryName') || '', }, /** * 组件的方法列表 */ methods: { async init(selected) { let company = await app.ajax.get({ url: `/admin/bxdClientCompany/${this.data.company.companyId}`, data: {} }); wx.setStorageSync('company', company.data.data); wx.setStorageSync('ownerCodeList', wx.getStorageSync('userInfo').companyName.split(",")); this.setData({ company: company.data.data, ownerCodeList: wx.getStorageSync('userInfo').companyName.split(",") }) this.popUp(); if (this.data.selectCompanyName) { await this.getVirtualInventoryList(true); } }, handleDisagree(e) { this.triggerEvent("nok") this.disPopUp() }, handleAgree(e) { //console.log("ok") this.triggerEvent("ok") this.disPopUp() }, popUp() { this.setData({ changeCompanyName: false, }) //console.log("changeCompanyName", this.data.changeCompanyName); this.setData({ changeCompanyName: true }) //console.log("changeCompanyName", this.data.changeCompanyName); }, disPopUp() { app.globalData.changeCompanyName = false; this.setData({ changeCompanyName: false }) }, setCompanyName(e) { //console.log(e) this.setData({ selectCompanyName: this.data.ownerCodeList[Number(e.detail.value)] }) this.getVirtualInventoryList(); }, async changeCompany() { this.setData({ ownerCodeList: wx.getStorageSync('userInfo').companyName.split(","), changeCompanyName: true, }); }, async getVirtualInventoryList(selected) { let companyId = this.data.company.companyId; let selectCompanyName = this.data.selectCompanyName; let { data } = await app.ajax.get({ url: `/admin/bxdVirtualInventory/page?companyId=${companyId}&companyName=${selectCompanyName}¤t=1&size=10000`, noCompany: true }); let virtualInventoryList = data.data.records.map(v => { v.children = [{ virtualInventoryName: '一级' }].concat(v.children); return v; }); if (selected) { let virtualInventoryValue = this.data.virtualInventoryValue; // if (!virtualInventoryValue || virtualInventoryValue.length == 0) { // virtualInventoryValue = [0, 0]; // } this.setData({ virtualInventoryList: [ virtualInventoryList, virtualInventoryList[virtualInventoryValue.length > 0 ? virtualInventoryValue[0] : 0].children ] }); return; } this.setData({ virtualInventoryValue: [0, 0], virtualInventoryList: [ virtualInventoryList, virtualInventoryList[0].children ] }) }, setVirtualInventoryId(e) { //console.log(e) let virtualInventoryList = this.data.virtualInventoryList; let virtualInventoryName = virtualInventoryList[0][e.detail.value[0]].virtualInventoryName; let virtualInventoryId = virtualInventoryList[0][e.detail.value[0]].virtualInventoryId; if (virtualInventoryList[1][e.detail.value[1]].virtualInventoryId) { virtualInventoryName += "/" + virtualInventoryList[1][e.detail.value[1]].virtualInventoryName; virtualInventoryId = virtualInventoryList[1][e.detail.value[1]].virtualInventoryId; } this.setData({ virtualInventoryValue: e.detail.value, virtualInventoryName, virtualInventoryId }); }, setVirtualInventoryChildren(e) { let virtualInventoryValue = this.data.virtualInventoryValue; let virtualInventoryList = this.data.virtualInventoryList; virtualInventoryValue[e.detail.column] = e.detail.value; if (e.detail.column == 0) { virtualInventoryValue[1] = 0; } this.setData({ virtualInventoryValue }); if (e.detail.column == 0) { virtualInventoryList[1] = virtualInventoryList[e.detail.column][e.detail.value].children; this.setData({ virtualInventoryList }); } }, selectConfirm() { if (!this.data.selectCompanyName) { wx.showToast({ title: '请选择货主', icon: 'error' }); return; } if (!this.data.virtualInventoryName || !this.data.virtualInventoryId) { wx.showToast({ title: '请选择成本中心', icon: 'error' }); return; } this.goHome(); }, goHome() { wx.setStorageSync('companyName', this.data.selectCompanyName); wx.setStorageSync('selectCompanyName', this.data.selectCompanyName); wx.setStorageSync('virtualInventoryId', this.data.virtualInventoryId); wx.setStorageSync('virtualInventoryName', this.data.virtualInventoryName); wx.setStorageSync('virtualInventoryValue', this.data.virtualInventoryValue); app.globalData.logout = false; wx.setStorageSync('logout', false); wx.showToast({ title: '成功', icon: "success" }); this.disPopUp(); setTimeout(() => { wx.switchTab({ url: '/pages/index/index', }) }, 1000) }, } })