You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
5.8 KiB
225 lines
5.8 KiB
const app = getApp(),
|
|
Api = require("../../../utils/util.js");
|
|
const { API_MONIT_URL,API_BASE_URL,UP_MONIT_IMG } = require('../../../api/api')
|
|
Page({
|
|
data: {
|
|
formData: {},
|
|
typeObj: [],
|
|
typeList: [], //物料类型下拉
|
|
specList: [], //物料规格下拉
|
|
type: '',
|
|
specName: '',
|
|
applyNum: ''
|
|
},
|
|
onLoad(options) {
|
|
this.setData({
|
|
orderId: options.orderId,
|
|
id: options.id,
|
|
title: options.title,
|
|
userId: wx.getStorageSync('userId'),
|
|
userName: wx.getStorageSync('name')
|
|
})
|
|
wx.setNavigationBarTitle({
|
|
title: options.title,
|
|
})
|
|
if(options.id){
|
|
this.getDetail()
|
|
}
|
|
this.getTypeList()
|
|
},
|
|
//详情
|
|
getDetail(e) {
|
|
let that = this
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
})
|
|
Api.req('blade-platformFittingApply/platformFittingApply/detail', {
|
|
id: this.data.id
|
|
}, 'get').then(res => {
|
|
wx.hideLoading()
|
|
if(res.code == 200){
|
|
let typeId = this.data.typeObj.find(item=>item.dictValue == res.data.fittingVersion).dictKey;
|
|
that.getSpecList(typeId)
|
|
that.setData({
|
|
formData: res.data,
|
|
factoryMarks: res.data.factoryMarks,
|
|
userName: res.data.empName,
|
|
userId: res.data.applicantId,
|
|
code: res.data.fittingCode,
|
|
name: res.data.fittingName,
|
|
type: res.data.fittingVersion,
|
|
specName: res.data.fittingPower,
|
|
applyNum: res.data.applyNum,
|
|
remarks: res.data.applyMarks,
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//校验物料代码
|
|
getMaterialCode(e) {
|
|
let that = this
|
|
if(e.detail.value){
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
})
|
|
Api.req('blade-platformFittingApply/platformFittingApply/getMaterialDetailByMaterialCode', {
|
|
materialCode: e.detail.value
|
|
}, 'get').then(res => {
|
|
wx.hideLoading()
|
|
if(res.msg =='操作成功'){
|
|
that.getSpecList(res.data.type)
|
|
that.setData({
|
|
name: res.data.name,
|
|
type: res.data.materialType,
|
|
specName: res.data.power,
|
|
})
|
|
}else{
|
|
wx.showToast({
|
|
title: '物料代码不存在',
|
|
icon: 'none',
|
|
})
|
|
that.setData({
|
|
name: '',
|
|
type: '',
|
|
specName: '',
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
//物料规格
|
|
getSpecList(key){
|
|
Api.req('blade-platformFittingApply/platformFittingApply/getMaterialSpecList', {
|
|
materialType: key //物料类型
|
|
// orderId: options.id
|
|
}, 'get')
|
|
.then(res => {
|
|
if(res.code == 200){
|
|
this.setData({
|
|
specList: res.data,
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//物料类型
|
|
getTypeList(){
|
|
Api.req('blade-system/dict/dictionary', {
|
|
code: 'wl_type'
|
|
}, 'get')
|
|
.then(res => {
|
|
if(res.code == 200){
|
|
this.setData({
|
|
typeObj: res.data,
|
|
typeList: res.data.map(itm=>itm.dictValue),
|
|
typeKeyList: res.data.map(itm=>itm.dictKey),
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
//文本输入
|
|
inputText: function(e) {
|
|
let name = e.currentTarget.dataset.name
|
|
this.setData({
|
|
[`${name}`]: e.detail.value,
|
|
})
|
|
},
|
|
//数字输入
|
|
inputNum: function(e) {
|
|
let name = e.currentTarget.dataset.name
|
|
this.setData({
|
|
[`${name}`]: e.detail.value,
|
|
})
|
|
},
|
|
|
|
//下拉选择
|
|
changSelect: function(e) {
|
|
let name = e.currentTarget.dataset.name
|
|
let list = e.currentTarget.dataset.list
|
|
let index = Number(e.detail.value);
|
|
this.setData({
|
|
[`${name}`]: this.data[list][index],
|
|
})
|
|
if(name == 'type'){
|
|
this.setData({
|
|
specName: ''
|
|
})
|
|
let key = this.data.typeKeyList[index]
|
|
this.getSpecList(key)
|
|
}
|
|
},
|
|
|
|
|
|
//提交
|
|
submit: function(e) {
|
|
var that = this;
|
|
let url = ''
|
|
if(this.data.type == ''){
|
|
wx.showToast({
|
|
title: '物料类型不能为空',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}else if(this.data.specName ==''){
|
|
wx.showToast({
|
|
title: '物料规格不能为空',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}else if(this.data.applyNum == '' || !/^[1-9]\d*$/.test(this.data.applyNum)){
|
|
wx.showToast({
|
|
title: '申请数量只能是大于0的整数',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
wx.showLoading({
|
|
title: '提交中...',
|
|
mask: true
|
|
})
|
|
var data = {
|
|
orderId: this.data.orderId, //订单详情进入的要传
|
|
empUserId: this.data.userId, //服务工程师
|
|
materialCode: this.data.code, //物料代码
|
|
materialName: this.data.name,//物料名称
|
|
fittingVersion: this.data.type,// 物料类型
|
|
materialSpec: this.data.specName, //物料规格
|
|
applyNum: this.data.applyNum, //备件申请数量
|
|
applyMarks: this.data.remarks, //申请备注
|
|
}
|
|
if(this.data.id){
|
|
data.id = this.data.id
|
|
url = 'blade-platformFittingApply/platformFittingApply/update'
|
|
}else{
|
|
url = 'blade-platformFittingApply/platformFittingApply/save'
|
|
}
|
|
// console.log("执行",data);
|
|
// return
|
|
Api.req(url, data, 'post', '','1')
|
|
.then(res => {
|
|
wx.hideLoading()
|
|
if (res.code == '200') {
|
|
wx.showToast({
|
|
title: '操作成功',
|
|
})
|
|
var page = getCurrentPages();
|
|
let prevPage = page[page.length - 2];
|
|
setTimeout(function() {
|
|
prevPage.getList();
|
|
wx.navigateBack({})
|
|
}, 1000)
|
|
} else {
|
|
wx.showToast({
|
|
title: res.msg,
|
|
icon: 'none',
|
|
mask: true
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//取消
|
|
cancel(){
|
|
wx.navigateBack()
|
|
},
|
|
}) |