// pages/goods/create/index.js import regions from '../../../utils/region' const math = require('../../../utils/math') const request = require('../../../utils/request') //导入模块 const util = require('../../../utils/util') const event = require('../../../utils/event.js') const app = getApp() Page({ /** * 页面的初始数据 */ data: { safeBottom: app.globalData.safeBottom, height: app.globalData.safeFragmentHeight, kg: app.globalData.kg, options: regions, region: [440000, '', ''], cateList: [], imgLength: 0, fileList: [], form: { imgList: [], secondCategoryId: null }, cateName: '', focus: false, picking: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.cascaderView = this.cascaderView || this.selectComponent('#wux-cascader') wx.showLoading({ title: '加载中', mask: true }) if (options.id) { request.get('/recycle-service/purchase/get/product/' + options.id).then(result => { //成功回调 var fileList = [] if (result.data.imgList && result.data.imgList.length) { result.data.imgList.forEach(element => { fileList.push({ url: element, status: 8 }) }) } var region = [] var areaStr = '' if(result.data.locDistrictId){ region[0] = parseInt(result.data.locDistrictId / 10000) * 10000 region[1] = parseInt(result.data.locDistrictId / 100) * 100 region[2] = parseInt(result.data.locDistrictId) areaStr = result.data.locProvinceName + ' ' + result.data.locCityName + ' ' + result.data.locDistrictName } this.data.cateName = result.data.firstCategoryName + ' ' + result.data.secondCategoryName var unitPrice = '' if(result.data.unitPrice){ unitPrice = math.times(result.data.unitPrice, 1000) } var purchaseQuantity = '' if(result.data.purchaseQuantity){ purchaseQuantity = math.divide(result.data.purchaseQuantity, 1000) } this.setData({ cateValue: [result.data.firstCategoryId, result.data.secondCategoryId], cateName: this.data.cateName, fileList: fileList, imgLength: fileList.length, form: result.data, ['form.unitPrice']: unitPrice, ['form.purchaseQuantity']: purchaseQuantity, region: region, ['form.areaStr']: areaStr }) wx.hideLoading() }).catch(err => { //异常回调 wx.hideLoading() util.showToast(err) }) } // /paperCategoryList 获取纸品列表 request.post('/recycle-service/paperCategoryList', { type: 1 }).then(result => { //成功回调 var cateList = [] result.data.forEach((item) => { cateList.push({ label: item.name, value: item.id, isLeaf: false }) }) this.setData({ cateList: cateList, safeBottom: app.globalData.safeBottom, kg: app.globalData.kg, height: app.globalData.safeFragmentHeight }) if (!options.id) { wx.hideLoading() } }).catch(err => { //异常回调 if (!options.id) { wx.hideLoading() } }) }, textareaFocus: function (e) { this.setData({ focus: true }) }, InputFocus(e) { this.setData({ focus: true }) }, InputBlur(e) { this.setData({ focus: false, ['form.description'] : this.data.form.description }) }, onImageChange: function (e) { if (e.detail) { var list = [] e.detail.forEach(element => { if (!util.isEmpty(element.url)) { list.push(element.url) } }) this.data.form['imgList'] = list this.setData({ imgLength: list.length }) } }, bindInput: function (e) { this.data.form[e.currentTarget.id] = e.detail.value if(e.currentTarget.id == 'description'){ // this.setData({ ['form.description'] : e.detail.value}) } }, onLoadOptions: function (e) { // /paperCategoryList 获取纸品列表 const { value } = e.detail const options = [...this.data.cateList] var typeId = parseInt(value[value.length - 1]) wx.showLoading({ title: '加载中', mask: true }) request.post('/recycle-service/paperCategoryList', { type: 2, firstCategoryId: typeId }).then(result => { //成功回调 var list = [] result.data.forEach((item) => { list.push({ label: item.name, value: item.id }) }) options.forEach((element) => { if (parseInt(element.value) === typeId) { element.children = list } }) this.setData({ cateList: options }) wx.hideLoading() }).catch(err => { //异常回调 wx.hideLoading() }) }, showRegion: function () { if (this.data.disabled) { return } this.cascaderView.showPicker(this.data.region) this.setData({ picking: true }) }, onRegionInit: function (e) { if (this.data.form.locDistrictId && e.detail.length == 3) { this.setData({ ['form.areaStr']: e.detail.map((n) => n.label).join(' ') }) } }, onRegionChange: function (e) { if (e.detail && e.detail.options) { this.setData({ ['form.areaStr']: e.detail.options.map((n) => n.label).join(' '), region: e.detail.value }) this.data.form['locProvinceId'] = e.detail.value[0] this.data.form['locProvinceName'] = e.detail.options[0].label this.data.form['locCityId'] = e.detail.value[1] this.data.form['locCityName'] = e.detail.options[1].label this.data.form['locDistrictId'] = e.detail.value[2] this.data.form['locDistrictName'] = e.detail.options[2].label } this.setData({ picking: false }) }, showPaperPicker: function (e) { this.setData({ visible: true, picking: true }) var list = [this.data.cateList[0].value] if (!this.data.cateList[0].children) { this.onLoadOptions({ detail: { value: list } }) } }, onCategory: function (e) { this.setData({ picking: false }) if (e.detail && e.detail.options) { this.setData({ cateName: e.detail.options.map((n) => n.label).join(' '), cateValue: e.detail.value }) this.data.form['firstCategoryId'] = e.detail.value[0] this.data.form['secondCategoryId'] = e.detail.value[1] } }, submitForm: function () { if (util.isEmpty(this.data.form.secondCategoryId)) { util.showToast('请选择废纸品类') return } if (util.isEmpty(this.data.form.description)) { util.showToast('请输入采购描述') return } if (this.data.form.imgList.length >= 1) { this.data.form['coverImgUrl'] = this.data.form.imgList[0] } // /paperCategoryList 获取纸品列表 if(!util.isEmpty(this.data.form.unitPrice) && !this.data.kg){ this.data.form.unitPrice = math.divide(this.data.form.unitPrice, 1000) } if(!util.isEmpty(this.data.form.unitPrice) && !this.data.kg){ this.data.form.purchaseQuantity = math.times(this.data.form.purchaseQuantity, 1000) } this.setData({ requesting: true }) wx.showLoading({ title: '加载中', mask: true }) if (this.data.form.productId) { request.post('/recycle-service/purchase/update/product', this.data.form).then(result => { //成功回调 wx.hideLoading() util.showBackToast('修改成功!') }).catch(err => { //异常回调 wx.hideLoading() this.setData({ requesting: false }) util.showToast(err) }) } else { request.post('/recycle-service/purchase/create/product', this.data.form).then(result => { //成功回调 wx.hideLoading() util.showBackToast('发布采购成功!') }).catch(err => { //异常回调 wx.hideLoading() this.setData({ requesting: false }) util.showToast(err) }) } } })