Commit 93c59b3c authored by Facius's avatar Facius

Merge branch 'dev' of https://git.banshouhui.com/lijundan/self-support into dev

parents 99a8a6a8 bffc60d8
......@@ -5,7 +5,7 @@ let partsApiFun = function (vm) {
const parts = '/wxh-worker-rest/rest/parts/'
const base = '/wxh-worker-rest/rest/base/'
const formType = {'content-type': 'application/x-www-form-urlencoded'}
const formData = {'content-type': 'multipart/form-data'}
const dataType = {'content-type': 'multipart/form-data'}
/**
* 配件申请单-查询网点地址信息
......@@ -30,7 +30,7 @@ let partsApiFun = function (vm) {
/**
* 配件申请单-创建申请单/使用备件
*/
let applyParts = async (params = {}) => await vm.$u.post(parts + vm.vuex_token + '/orders', params, formData)
let applyParts = async (params = {}) => await vm.$u.post(parts + vm.vuex_token + '/orders', params, dataType)
/**
* 查询自己的备件仓
......@@ -40,6 +40,10 @@ let partsApiFun = function (vm) {
* 查询工单的配件明细
*/
let getWorkOrderParts = async (params = {}) => await vm.$u.get(parts + vm.vuex_token + '/items/workOrder/', params);
/**
* 返件-备件/新件
*/
let returnParts = async (params = {}) => await vm.$u.post(parts + vm.vuex_token + '/return/new', params, formType);
const partsApi = {
getSiteAddress,
......@@ -49,7 +53,8 @@ let partsApiFun = function (vm) {
getPartsList,
applyParts,
getMyReserve,
getWorkOrderParts
getWorkOrderParts,
returnParts
}
return partsApi
}
......
......@@ -551,8 +551,17 @@
"path" : "nodes",
"style" :
{
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTitleText": "配件申请、返件成功",
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "returnParts",
"style" :
{
"navigationBarTitleText": "退返件",
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
......
......@@ -39,7 +39,7 @@
<view class="bar" v-if="showBounce">
<SubmitBar :partNum="subBarInfo.partNum" :num="subBarInfo.num" :btnStatus="subBarInfo.btnStatus"
submitTxt="退件" :allChecked="subBarInfo.allChecked" :customStyle="customStyle" @select="allSelect"
@submit="handleSubmit" />
@submit="$u.throttle(handleSubmit, 500)" />
</view>
</template>
</view>
......@@ -64,7 +64,8 @@
loaded: false,
showBounce: false,
keyword: '',
searchedKeyword: ''
searchedKeyword: '',
selectedParts: []
};
},
computed: {
......@@ -207,7 +208,14 @@
this.partsList[index].selected = !this.partsList[index].selected
},
handleSubmit() {
const getSelected = (element) => {
return (element.selected);
}
let parts = this.partsList.filter(getSelected);
this.selectedParts = parts
this.$u.route({
url: 'pages/parts/returnParts',
})
},
}
};
......
<template>
<view class="u-flex-col u-col-center node-wrap">
<w-navbar></w-navbar>
<u-gap height="200"></u-gap>
<u-image width="224rpx" height="224rpx" :src="qnFile(nodeInfo.icon)"></u-image>
<view class="title">{{nodeInfo.title}}</view>
......@@ -24,7 +25,7 @@
data() {
return {
curType: 0,
returnNo: 'RT20210610000001',
returnNo: '',
nodes: [
{
type: 'parts',
......@@ -43,6 +44,16 @@
]
}
},
onLoad(e) {
if(e) {
if(!this.$u.test.isEmpty(e.type)) {
this.curType = Number(e.type)
}
if(!this.$u.test.isEmpty(e.returnNo)) {
this.returnNo = e.returnNo
}
}
},
computed: {
nodeInfo() {
return this.nodes[this.curType]
......@@ -59,7 +70,19 @@
return process.uniEnv.qn_base_url + src
},
goBack() {
this.$u.route({type:'back'})
if(this.isParts){
this.$u.route({type:'back'})
}
if(this.isReturn){
var pages = getCurrentPages();
if(pages.length >= 3) {
var prevPage = pages[pages.length - 3];
prevPage.$vm.getReserveList()
this.$u.route({type:'back', delta: 2})
} else {
this.$u.route({type:'back'})
}
}
},
copyText(e) {
console.log(e)
......
<template>
<view class="parts-wrap">
<w-navbar title="退返件"></w-navbar>
<view class="form">
<view class="row">
<view class="label">返件方式</view>
<view class="u-flex u-row-between control">
<view v-for="(item, index) in ways" :key="index">
<view :class="['radio', {'active': index==curWay}]" @click="changeWay(index)">{{item}}</view>
</view>
</view>
</view>
<view class="row" v-show="isExpress">
<view class="label">物流公司</view>
<u-input v-model="expressCom" :custom-style="inputStyle" height="76" placeholder="请填写物流公司" />
</view>
<view class="row" v-show="isExpress">
<view class="label">物流单号</view>
<u-input v-model="expressNumber" :custom-style="inputStyle" height="76" placeholder="请填写物流单号" />
</view>
</view>
<view class="bottom">
<button class="submit-btn" @click="submitForm">提交</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
parts: [],
ways: ['快递', '其他'],
curWay: 0,
expressCom: '',
expressNumber: '',
inputStyle: {
'background-color': '#F4F5F7',
'padding': '0 20rpx',
'border-radius': '12rpx',
}
}
},
onLoad() {
this.receiveData()
},
computed: {
isExpress() {
return this.curWay == 0
},
},
methods: {
receiveData() {
var pages = getCurrentPages();
if(pages.length >= 2) {
var prevPage = pages[pages.length - 2]; //上一个页面
const parts = prevPage.$vm._data.selectedParts
if(this.$u.test.isEmpty(parts)) {
this.$u.route({type: 'back'})
}
this.parts = parts
}
},
changeWay(index) {
this.curWay = index
},
validateForm() {
if(this.$u.test.isEmpty(this.parts)) {
this.$u.toast('物流公司不能为空')
return false
}
if(this.curWay == 0) {
if(this.$u.test.isEmpty(this.expressCom)) {
this.$u.toast('物流公司不能为空')
return false
}
if(this.$u.test.isEmpty(this.expressNumber)) {
this.$u.toast('物流单号不能为空')
return false
}
}
return true
},
submitForm() {
if(!this.validateForm()) {
return false
}
if(this.curWay == 0) {
const params = {
parts: this.parts,
expressCom: this.expressCom,
expressNumber: this.expressNumber
}
this.$u.api.returnParts(params).then((res) => {
if(res.code == 200) {
this.$u.route({
url: 'pages/parts/nodes',
params: {
type: 1,
returnNo: res.batchNumber
}
})
}
})
} else {
// TODO
this.$u.route({
url: 'pages/parts/nodes',
params: {
type: 1,
returnNo: 'RT20210610000001'
}
})
}
}
}
}
</script>
<style lang="scss" scoped>
.parts-wrap {
width: 750rpx;
height: 100vh;
overflow: auto;
background-color: #FFFFFF;
.form {
padding: 46rpx 30rpx;
.row {
width: 454rpx;
margin-bottom: 50rpx;
.label {
font-size: 26rpx;
font-weight: 400;
color: #333333;
margin-bottom: 30rpx;
}
.control {
.radio {
text-align: center;
width: 216rpx;
height: 76rpx;
background: #F4F5F7;
border-radius: 12rpx;
font-size: 26rpx;
font-weight: 400;
color: #333333;
line-height: 76rpx;
}
.active {
background: #2272FF;
color: #FFFFFF;
}
}
}
}
.bottom {
position: absolute;
left: 76rpx;
right: 76rpx;
bottom: 68rpx;
.submit-btn {
height: 104rpx;
border-radius: 52rpx;
background-color: #2272FF;
color: #FFFFFF;
font-size: 32rpx;
font-weight: 600;
line-height: 104rpx;
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment