123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- const util = require('../../utils/util.js');
- const form = require('../../utils/formValidation');
- const app = getApp();
- Page({
-
- data: {
- tabs: [],
- tabsWidth:'100%',
- currentTab:0,
- isTabs:false,
- selectGridProductList:[],
- userInfo: {},
- storeList: [],
- schemeList:[],
- deviceTypeList:[],
- dictList:[],
- agentList:[],
- payTypeList:[{name:'微信',value:'wx'},{name:'支付宝',value:'zfb'},{name:'现金',value:'xj'}],
- values: {
- deviceSn:'',
- deviceName:'',
- deviceLocation: '',
- schemeId: '',
- storeId: '',
- deviceTypeId: '',
- deviceBrand: '',
- agentId: '',
- payType:'wx,zfb,xj',
- gridProductList:[]
- },
- gridProductList:[]
- },
-
- onLoad: function (options) {
- this.bindStoreList();
- this.bindSchemeList();
- this.deviceTypeList();
- this.getDictByCode();
- this.getAllAgentList();
- this.setData({
- userInfo: app.globalData.userInfo
- })
- if(this.data.userInfo.mgvmRole==3){
- this.setData({
- ['values.agentId']: this.data.userInfo.id,
- ['values.agentName']: this.data.userInfo.username,
- })
- }
- },
-
- bindSchemeList() {
- var that = this
- util.request(util.api.schemeList, {}, "GET", false, true, app.globalData.token).then((res) => {
- if (res.code == 200) {
- that.setData({
- schemeList: res.result
- })
- }
- }).catch((res) => {})
- },
-
- deviceTypeList() {
- var that = this
- util.request(util.api.deviceTypeList, {}, "GET", false, true, app.globalData.token).then((res) => {
- if (res.code == 200) {
- that.setData({
- deviceTypeList: res.result
- })
- }
- }).catch((res) => {})
- },
-
- bindStoreList() {
- var that = this
- util.request(util.api.storeList, {}, "GET", false, true,app.globalData.token).then((res) => {
- if (res.code == 200) {
- that.setData({
- storeList: res.result
- })
- }
- }).catch((res) => {})
- },
-
- getDictByCode() {
- var that = this
- util.request(util.api.getDictByCode, {code:"device_brand"}, "GET", false, true,app.globalData.token).then((res) => {
- if (res.code == 200) {
- that.setData({
- dictList: res.result
- })
- }
- }).catch((res) => {})
- },
-
- getAllAgentList() {
- var that = this
- util.request(util.api.allAgentList, {}, "GET", false, true,app.globalData.token).then((res) => {
- if (res.code == 200) {
- that.setData({
- agentList: res.result
- })
- }
- }).catch((res) => {})
- },
-
-
- formSubmit: function (e) {
- var that = this
-
- let rules = [{
- name: "deviceSn",
- rule: ["required"],
- msg: ["请输入设备编号"]
- }, {
- name: "deviceName",
- rule: ["required"],
- msg: ["请输入设备名称"]
- }, {
- name: "deviceLocation",
- rule: ["required"],
- msg: ["请输入设备号"]
- }, {
- name: "schemeName",
- rule: ["required"],
- msg: ["请输入方案"]
- }, {
- name: "storeName",
- rule: ["required"],
- msg: ["请输入门店"]
- }, {
- name: "deviceTypeName",
- rule: ["required"],
- msg: ["请输入设备类型"]
- }, {
- name: "deviceBrandName",
- rule: ["required"],
- msg: ["请输入设备品牌"]
- }];
- if(this.data.userInfo.mgvmRole!=3){
- var agentRule = {
- name: "agentName",
- rule: ["required"],
- msg: ["请输入代理商"]
- }
- rules.push(agentRule)
- }else{
- this.setData({
- ['values.agentId']: this.data.userInfo.id,
- ['values.agentName']: this.data.userInfo.username,
- })
- }
-
- let formData = e.detail.value;
- let checkRes = form.validation(formData, rules);
- if (!checkRes) {
- let currentTab = this.data.currentTab;
-
- var gridProductList = `gridProductList[${currentTab}]`
- var selectGridProductList = this.data.selectGridProductList;
-
- var isShu = true;
- var selectProducts = 0
- selectGridProductList.forEach((d,index) => {
-
- if(d.productId!=null&&d.productId!=""){
- if(d.gridCount==null||d.gridCount==""){
- isShu = false;
- }
- if(d.stockCount==null||d.stockCount==""){
- isShu = false;
- }
- selectProducts=1;
- }
- });
- if(selectProducts==0){
- util.toast('至少选择一个商品');
- return;
- }
-
- if(!isShu){
- util.toast('商品库存与格子数量不许为空');
- return;
- }
-
- that.setData({
- [gridProductList]:selectGridProductList
- })
- var gridProductListSub = this.data.gridProductList;
- var gridList = [];
- gridProductListSub.forEach((d,index) => {
- gridList = gridList.concat(d)
- });
-
- console.log(gridList)
- var valuesGridList = `values.gridProductList`
- that.setData({
- [valuesGridList]:gridList
- })
- console.log( that.data.values)
- util.request(util.api.addDevice, that.data.values, "POST", false, true,app.globalData.token).then((res) => {
- if (res.code == 200) {
- wx.redirectTo({
- url: '/pages/device/index',
- })
- }else{
- util.toast(res.message)
- }
- }).catch((res) => {})
- } else {
- wx.showToast({
- title: checkRes,
- icon: "none"
- });
- }
- },
- formReset: function (e) {
- console.log("清空数据")
- },
- bindDeviceTypePickerChange: function (e) {
- var that = this;
- var item = that.data.deviceTypeList[e.detail.value]
- var gridSize = item.gridSize?item.gridSize:0
- var gridLists =[];
- var tabs = [];
- for (let deviceNum = 0; deviceNum < item.deviceNums; deviceNum++) {
- var gridProductList =[];
- var tab = {};
- tab.name = '柜子'+deviceNum
- tabs.push(tab)
- for (let index = 0; index < gridSize; index++) {
- gridProductList.push({productGrid:index+1,deviceNum:deviceNum,gridCount:5});
- }
- gridLists.push(gridProductList)
- }
- that.setData({
- ['values.deviceNums']: item.deviceNums,
- ['values.deviceTypeId']: item.id,
- ['values.deviceTypeName']: item.deviceName,
- ['gridProductList']:gridLists,
- isTabs:true,
- tabsWidth:100/tabs.length+'%',
- tabs:tabs,
- selectGridProductList:gridLists[that.data.currentTab]
- })
- },
- bindStorePickerChange: function (e) {
- var item = this.data.storeList[e.detail.value]
- this.setData({
- ['values.storeId']: item.id,
- ['values.storeName']: item.storeName
- })
- },
-
- bindSchemePickerChange: function (e) {
- var item = this.data.schemeList[e.detail.value]
- this.setData({
- ['values.schemeId']: item.id,
- ['values.schemeName']: item.schemeName
- })
- },
-
- bindDictPickerChange: function (e) {
- var item = this.data.dictList[e.detail.value]
- this.setData({
- ['values.deviceBrand']: item.value,
- ['values.deviceBrandName']: item.text
- })
- },
-
- bindAgentPickerChange: function (e) {
- var item = this.data.agentList[e.detail.value]
- this.setData({
- ['values.agentId']: item.id,
- ['values.agentName']: item.username
- })
- },
-
- toSelect(e) {
- if(this.data.values.agentId==null||this.data.values.agentId==''){
- util.toast('请选择代理商')
- return;
- }
- wx.navigateTo({
- url: '/pages/vendingMachine/select?index=' + e.currentTarget.dataset.index+'&agentId=' + this.data.values.agentId,
- })
- },
-
- checkboxChange(e){
- var selectPayTypeList = e.detail.value;
- var payTypes = "";
- selectPayTypeList.forEach(payType => {
- payTypes+=payType+","
- });
- if(payTypes!=""){
- payTypes = payTypes.slice(0,payTypes.length-1);
- this.setData({
- 'values.payType': payTypes
- })
- }
- },
- number: function (e) {
- let value = this.validateNumber(e.detail.value)
- let inx = `selectGridProductList[${e.target.dataset.index}].${e.target.dataset.name}`
- if(parseInt(value)>5||parseInt(value)<=0){
- util.toast('可存放格子数量为1-5')
- value = 5;
- }
-
- this.setData({
-
- [inx]: parseInt(value)
- })
- },
- validateNumber(val) {
-
- return val.replace(/\D/g, '')
- },
- inputedit: function (e) {
- let _this = this;
- let dataset = e.currentTarget.dataset;
- let value = e.detail.value;
- let name = dataset.name;
- _this.data[name] = value;
- _this.setData({
- [name]: _this.data[name]
- });
- },
-
- selectDevice: function(e){
- var gridProductList = this.data.gridProductList[e.detail.index]
- this.setData({
- currentTab:e.detail.index,
- selectGridProductList:gridProductList
- });
- }
- })
|