123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- const app = getApp()
- import WxValidate from '../../../utils/wxValidate'
- const moment = require("../../../utils/moment.min")
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- frameStyle: { useTop: true, name: '信息管理', leftArrow: true, useBar: false },
- id: '',
- form: { list: [] },
- // dialog弹框
- dialog: { title: '弹框标题', show: false, type: '1' },
- listForm: {}
- },
- initValidate() {
- const rules = { label: { required: true }, code: { required: true } }
- // 验证字段的提示信息,若不传则调用默认的信息
- const messages = { label: { required: '请输入字典名称', }, code: { required: '请输入字典编码', } };
- this.WxValidate = new WxValidate(rules, messages)
- },
- // 返回
- back: function () {
- wx.navigateBack({ delta: 1 })
- },
- // 添加选项
- listAdd: function () {
- const that = this;
- that.setData({ dialog: { title: '字典选项', show: true, type: '1' } })
- },
- // 提交保存
- listSubmit: function (e) {
- const that = this;
- const params = e.detail.value;
- let listForm = that.data.listForm;
- let form = that.data.form;
- if (params.label && params.value) {
- if (listForm.id) {
- let list = form.list.filter(i => i.id != listForm.id);
- that.setData({ 'form.list': [params, ...list] })
- } else {
- params.id = moment().valueOf();
- that.setData({ 'form.list': [...form.list, params] })
- }
- that.toClose()
- } else {
- wx.showToast({ title: `缺少必填项`, icon: 'error', duration: 2000 })
- }
- },
- // 修改
- listEdit: function (e) {
- const that = this;
- const { item } = e.currentTarget.dataset;
- that.setData({ listForm: item })
- that.setData({ dialog: { title: '字典选项', show: true, type: '1' } })
- },
- // 删除
- listDel: function (e) {
- const that = this;
- let form = that.data.form;
- const { item } = e.currentTarget.dataset;
- let list = form.list.filter(i => i.id != item.id)
- that.setData({ 'form.list': list })
- },
- // 关闭弹框
- toClose: function () {
- const that = this;
- that.setData({ listForm: {} })
- that.setData({ dialog: { title: '字典选项', show: false, type: '1' } })
- },
- // 提交登录
- onSubmit: async function (e) {
- const that = this;
- const params = e.detail.value;
- const form = that.data.form;
- params.list = form.list;
- if (!this.WxValidate.checkForm(params)) {
- const error = this.WxValidate.errorList[0];
- wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
- return false
- } else {
- let arr;
- if (that.data.id) arr = await app.$post(`/dict/${form._id}`, params);
- else arr = await app.$post(`/dict`, params);
- if (arr.errcode == '0') { wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 }); that.back(); }
- else wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- const that = this;
- that.setData({ id: options.id || null })
- //验证规则函数
- that.initValidate();
- // 监听用户是否登录
- that.watchLogin();
- },
- // 监听用户是否登录
- watchLogin: async function () {
- const that = this;
- wx.getStorage({
- key: 'user',
- success: async res => {
- let arr;
- if (that.data.id) {
- arr = await app.$get(`/dict/${that.data.id}`);
- if (arr.errcode == '0') {
- that.setData({ form: arr.data })
- } else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }) }
- }
- },
- fail: async res => {
- wx.redirectTo({ url: '/pages/index/index' })
- }
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () { },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|