123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- // pages/login/login.js
- import WxValidate from '../../utils/wxValidate';
- const { stock_type } = require('../../utils/dict');
- const app = getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- frameStyle: { useTop: true, name: '信息管理', leftArrow: true, useBar: false },
- // 主体高度
- infoHeight: '',
- userInfo: {},
- form: {
- // operate_id: "61d50d6bea746006960a7f8e",
- // operate_name: "入库-1",
- // order: [
- // {
- // name: "商品-1",
- // num: "10",
- // stock_market_id: "61d6b4cc07c0500a5957423f",
- // }, {
- // stock_type: "2",
- // code: '1',
- // type_id: "61d506bc68b28e3a22e74a46",
- // name: "商品-2",
- // num: "21",
- // money: "1",
- // brief: "1",
- // img_url: [],
- // }
- // ],
- // reason: "入库原因",
- // register_date: "2022-01-07",
- // register_name: "登记人",
- // register_phone: "登记人电话",
- },
- // 弹框
- dialog: { title: '添加商品', show: false, type: '1' },
- // 入库商品
- order: [],
- // 库存已存
- oneorderForm: {},
- // 查询库存
- shoppinginput: '',
- stockList: [],
- // 库存未存
- twoorderForm: {},
- img_url: [],
- typeList: [],
- stock_type: '',
- stock_typeList: stock_type
- },
- initValidate() {
- const rules = { register_name: { required: true, }, register_phone: { required: true, }, register_date: { required: true, }, reason: { required: true, } }
- // 验证字段的提示信息,若不传则调用默认的信息
- const messages = { register_name: { required: '请输入登记人', }, register_phone: { required: '请输入电话', }, register_date: { required: '请选择登记时间', }, reason: { required: '请输入入库原因', } };
- this.WxValidate = new WxValidate(rules, messages)
- },
- back: function () {
- wx.navigateBack({ url: '/pages/indepot/index' })
- },
- // 选择登记时间
- registerdateChange: function (e) {
- let { value } = e.detail;
- this.setData({ 'form.register_date': value })
- },
- // 添加商品
- addOrder: function (e) {
- const { type } = e.currentTarget.dataset;
- this.setData({ dialog: { title: '添加商品', show: true, type: type } })
- },
- // 已有库存
- // 取消保存
- oneorderReset: function () {
- this.setData({ dialog: { title: '添加商品', show: false, type: '1' } })
- },
- // 查询
- shoppinginput: function (e) {
- this.setData({ shoopingtext: e.detail.value })
- },
- // 查询库存
- searchStock: function () {
- let shoopingtext = this.data.shoopingtext;
- if (shoopingtext) {
- wx.request({
- url: app.globalData.publicUrl + `/api/hc/stock`,
- method: "get",
- data: { name: shoopingtext },
- header: {},
- success: (res) => {
- if (res.data.errcode == '0') {
- if (res.data.total > 0) {
- this.setData({ stockList: res.data.data })
- } else {
- wx.showToast({ title: `暂无产品`, icon: 'sucess', duration: 2000 })
- }
- } else {
- wx.showToast({ title: `${res.data.errmsg}`, icon: 'error', duration: 2000 })
- }
- },
- })
- } else {
- wx.showToast({ title: `请输入商品名称`, icon: 'error', duration: 2000 })
- }
- },
- // 确认选择商品
- stockChange: function (e) {
- const { item } = e.currentTarget.dataset;
- this.setData({ 'oneorderForm.stock_market_id': item.id })
- this.setData({ 'oneorderForm.name': item.name })
- },
- // 提交保存
- oneorderSubmit: function (e) {
- const params = e.detail.value;
- if (!params.name) wx.showToast({ title: `商品名称`, icon: 'error', duration: 2000 });
- else if (!params.num) wx.showToast({ title: `商品数量`, icon: 'error', duration: 2000 });
- if (params.name && params.num) {
- this.setData({ order: [...this.data.order, params] });
- this.setData({ oneorderForm: {} });
- this.setData({ dialog: { title: '添加商品', show: false, type: '1' } });
- }
- },
- // 库存无商品
- twoorderReset: function () {
- this.setData({ dialog: { title: '添加商品', show: false, type: '2' } })
- },
- // 类别选择
- stocktypeChange: function (e) {
- let { value } = e.detail;
- let data = this.data.stock_typeList[value];
- this.setData({ 'stock_type': data.value })
- this.setData({ 'twoorderForm.stock_type': data.value })
- this.setData({ 'twoorderForm.stock_type_name': data.label })
- },
- // 选择商品类型
- typeChange: function (e) {
- let { value } = e.detail;
- let data = this.data.typeList[value];
- this.setData({ 'twoorderForm.type_id': data.id })
- this.setData({ 'twoorderForm.type_name': data.name })
- },
- // 上传图片
- afterRead: function (event) {
- const { file } = event.detail;
- // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
- wx.uploadFile({
- url: app.globalData.fileUrl + '/files/consumables/market/upload',
- filePath: file.url,
- name: 'file',
- formData: {},
- success: (res) => {
- if (res.statusCode == '200') {
- let data = [{ name: JSON.parse(res.data).name, url: `${app.globalData.fileUrl}` + JSON.parse(res.data).uri }]
- this.setData({ img_url: this.data.img_url.concat(data) })
- } else {
- wx.showToast({ title: `${res.data.errmsg}`, icon: 'fail', duration: 2000 })
- }
- },
- });
- },
- // 删除图片
- uploadDelete: function (e) {
- const index = e.detail.index;
- const imgList = this.data.img_url;
- if (imgList.length === 1) this.setData({ img_url: [] })
- else { let data = imgList.splice(0, 1); this.setData({ img_url: data }) }
- },
- twoorderSubmit: function (e) {
- const params = e.detail.value;
- params.img_url = this.data.img_url;
- if (!params.stock_type_name) wx.showToast({ title: `请选择商品类别`, icon: 'error', duration: 2000 });
- else if (!params.type_name) wx.showToast({ title: `请选择商品类型`, icon: 'error', duration: 2000 });
- else if (!params.name) wx.showToast({ title: `请输入商品名称`, icon: 'error', duration: 2000 });
- else if (!params.num) wx.showToast({ title: `请输入商品数量`, icon: 'error', duration: 2000 });
- if (params.stock_type_name && params.type_name && params.name && params.num) {
- this.setData({ order: [...this.data.order, params] });
- this.setData({ twoorderForm: {} });
- this.setData({ dialog: { title: '添加商品', show: false, type: '2' } });
- }
- },
- // 取消保存
- onReset: function (e) {
- this.back()
- },
- // 提交保存
- onSubmit: function (e) {
- const params = e.detail.value;
- if (!this.WxValidate.checkForm(params)) {
- const error = this.WxValidate.errorList[0];
- wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
- return false
- } else {
- params.order = this.data.order;
- wx.request({
- url: app.globalData.publicUrl + `/api/hc/marketEnter`,
- method: "post",
- data: { ...params },
- header: {},
- success: (res) => {
- if (res.data.errcode == '0') {
- wx.showToast({ title: `入库添加完成`, icon: 'success', duration: 2000 })
- this.back()
- } else {
- wx.showToast({ title: `${res.data.errmsg}`, icon: 'error', duration: 2000 })
- }
- },
- })
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- // 查询用户是否登录
- wx.getStorage({
- key: 'user',
- success: res => {
- if (res.data) {
- if (res.data) this.setData({ userInfo: res.data });
- this.setData({ form: { operate_id: res.data.id, operate_name: res.data.name } })
- } else {
- wx.redirectTo({ url: '/pages/login/index', })
- }
- }
- })
- // 查询其他信息
- this.searchOther();
- //验证规则函数
- this.initValidate()
- // 计算高度
- this.searchHeight()
- },
- // 查询其他信息
- searchOther: function () {
- // 查询商品类型
- wx.request({
- url: app.globalData.publicUrl + `/api/hc/type`,
- method: "get",
- data: {},
- header: {},
- success: (res) => {
- if (res.data.errcode == '0') {
- this.setData({ typeList: res.data.data })
- } else {
- wx.showToast({ title: `${res.data.errmsg}`, icon: 'error', duration: 2000 })
- }
- },
- })
- },
- // 计算高度
- searchHeight: function () {
- let frameStyle = this.data.frameStyle;
- let client = app.globalData.client;
- // 减去状态栏
- let infoHeight = client.windowHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2);
- // 是否减去底部菜单
- if (frameStyle.useBar) infoHeight = infoHeight - 50;
- if (infoHeight) this.setData({ infoHeight: infoHeight })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|