12.15(采购

This commit is contained in:
Hong
2023-12-15 18:35:06 +08:00
parent 0607e03b8e
commit fa7c35304c
15 changed files with 721 additions and 14 deletions

View File

@@ -44,7 +44,7 @@ export const repairUserMenuList = [{
type:1
}, {
text: '我的消息',
path: '/pages/carShop/mine/driver_operation/driver_operation',
path: '/pages/repair/repair/message/index',
image:'../../../static/images/repair/user/my_message.png',
type:1
}, {

View File

@@ -26,10 +26,29 @@
}, {
"path": "pages/repair/tabbar/procure",
"style": {
"navigationBarTitleText" : "",
"navigationBarTitleText" : "采购",
"enablePullDownRefresh" : false,
"navigationStyle": "custom"
}
},{
"path": "pages/repair/purchase/purchase_particulars/purchase_particulars",
"style": {
"navigationBarTitleText" : "采购详情",
"enablePullDownRefresh" : false
}
}, {
},{
"path": "pages/repair/purchase/report/report",
"style": {
"navigationBarTitleText" : "采购提报",
"enablePullDownRefresh" : false
}
},{
"path": "pages/repair/purchase/mountings_order/mountings_order",
"style": {
"navigationBarTitleText" : "配件订单",
"enablePullDownRefresh" : false
}
},{
"path": "pages/repair/tabbar/mine",
"style": {
"navigationBarTitleText" : "",

View File

@@ -19,11 +19,11 @@
<view class="">
<view class="user-header">
<view class="user-header-image">
<image src="../../../static/images/carshop/user/user_to.png" mode=""></image>
<image class="user-header-image-medal" src="../../../static/images/carshop/user/medal.png" mode="">
<image src="@/static/images/carshop/user/user_to.png" mode=""></image>
<image class="user-header-image-medal" src="@/static/images/carshop/user/medal.png" mode="">
</image>
</view>
<image class="user-header-sign-in" src="../../../static/images/repair/index/maintenance_reception.png">
<image @click="signInFn" class="user-header-sign-in" src="@/static/images/carshop/user/sign_in.png">
</image>
</view>
<view class="user-header-name">浙江元通之星</view>
@@ -52,6 +52,18 @@
:isLink="true" @click="navigatorFn(item)" :customStyle="{padding:'12rpx 0rpx'}"></u-cell>
</u-cell-group>
</view>
<!-- 签到弹出层 -->
<u-popup :show="signInShow" :overlay="false" @close="signInClose" @open="signInOpen" mode="center" border
round="8">
<view class="sign-in">
<view class="sign-in-ok">签到成功</view>
<view class="f-a-i f-jc-c sign-in-num">
<image src="@/static/images/carshop/user/gold.png" mode=""></image>
<view class="sign-in-num-text">+</view>
<view> 10 积分</view>
</view>
</view>
</u-popup>
<!-- tabbar -->
<tabbar-carshop current="/pages/carShop/mine/mine"></tabbar-carshop>
</view>
@@ -70,6 +82,7 @@
return {
//菜单栏
carShopUserMenuList,
signInShow: false
};
},
methods: {
@@ -83,6 +96,12 @@
back() {
uni.navigateBack()
},
signInFn() {
this.signInShow = true
setTimeout(() => {
this.signInShow = false
}, 2000)
}
}
}
</script>
@@ -92,6 +111,38 @@
background-color: #F5F5F5;
}
.sign-in {
width: 240rpx;
height: 240rpx;
background: rgba(0, 0, 0, 0.5);
text-align: center;
color: #fff;
.sign-in-ok {
margin-top: 60rpx;
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
}
.sign-in-num {
margin-top: 48rpx;
font-size: 28rpx;
font-weight: 400;
color: #FFFFFF;
.sign-in-num-text {
margin-left: 8rpx;
font-size: 34rpx;
}
}
image {
width: 26rpx;
height: 28rpx;
}
}
.user-menu {
width: calc(100% - 48rpx);
margin: 0rpx 24rpx 24rpx 24rpx;

View File

@@ -0,0 +1,128 @@
<template>
<view>
<view class="order-address f-a-i">
<image src="@/static/images/repair/purchase/address.png" mode=""></image>
<view class="order-address-cont">
<view class="flex">
<view class="order-address-cont-name">盘墩墩</view>
<view class="order-address-cont-call">18723233212</view>
</view>
<view class="order-address-title">
杭州金地广场B1层ZDB1-130号杭州金地广场B1层ZD130号杭州金地广场B1层ZDB1-130
</view>
</view>
</view>
<view class="particulars-list f-a-i" v-for="(item,index) in 3" :key="index">
<image class="particulars-list-image" src="@/static/images/banner/branner_1.png"></image>
<view class="particulars-list-cont" style="width: calc(100% - 208rpx);">
<view class="particulars-list-cont-name">配件名称</view>
<view class="f-a-i">
<view>品牌</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
</view>
<view class="f-a-i">
<view>零售价</view>
<view>¥123</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
</view>
<view class="f-jcsb">
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
</view>
<view class="count">
数量2
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
}
}
</script>
<style lang="scss">
page{
background-color: #f5f5f5;
}
.order-address{
width: calc(100% - 48rpx);
margin: 24rpx;
padding: 32rpx 24rpx;
background-color: #fff;
border-radius: 8rpx;
.order-address-cont{
width: calc(100% - 34rpx);
margin-left: 16rpx;
.order-address-title{
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
.order-address-cont-name{
font-size: 28rpx;
font-weight: 600;
color: #222222;
}
.order-address-cont-call{
font-size: 24rpx;
font-weight: 400;
color: #222222;
margin-left: 32rpx;
}
}
image{
width: 28rpx;
height: 36rpx;
}
}
.particulars-list {
background-color: #fff;
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
padding: 32rpx 24rpx;
.particulars-list-cont {
height: 192rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 16rpx;
font-size: 26rpx;
font-weight: 400;
color: #666666;
.particulars-list-cont-price {
color: #F20808;
font-size: 38rpx;
font-weight: 600;
}
.particulars-list-cont-name {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
}
.particulars-list-image {
width: 192rpx;
height: 192rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
</style>

View File

@@ -0,0 +1,99 @@
<template>
<view>
<view class="f-jcsb particulars-header">
<view>采购单号:M-202310210088</view>
<view class="f-a-i">
<view class="particulars-header-tit">金额</view>
<view class="particulars-header-num">¥19800.00</view>
</view>
</view>
<view class="particulars-list f-a-i" v-for="(item,index) in 3" :key="index">
<image class="particulars-list-image" src="@/static/images/banner/branner_1.png"></image>
<view class="particulars-list-cont">
<view class="particulars-list-cont-name">配件名称</view>
<view class="f-a-i">
<view>品牌</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
</view>
<view class="f-a-i">
<view>零售价</view>
<view>¥123</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
</view>
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
}
}
</script>
<style lang="scss">
page{
background-color: #f5f5f5;
}
.particulars-list{
background-color: #fff;
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
padding: 32rpx 24rpx;
.particulars-list-cont{
height: 192rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 16rpx;
font-size: 26rpx;
font-weight: 400;
color: #666666;
.particulars-list-cont-price{
color: #F20808;
font-size: 38rpx;
font-weight: 600;
}
.particulars-list-cont-name{
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
}
.particulars-list-image{
width: 192rpx;
height: 192rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
.particulars-header{
width: calc(100% - 48rpx);
margin: 24rpx;
font-size: 32rpx;
font-weight: 400;
color: #111111;
.particulars-header-tit{
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-right: 4rpx;
}
.particulars-header-num{
font-size: 32rpx;
font-weight: 600;
color: #F20808;
}
}
</style>

View File

@@ -0,0 +1,231 @@
<template>
<view>
<view class=" tab">
<u-tabs :list="tabList" lineWidth="30" lineColor="#fff"
:activeStyle="{color: '#FFFFFF',fontWeight: 'bold',backgroundColor: '#13AFA8',padding: '2rpx 12rpx',fintSize:'28rpx',fontWeight: 400}"
:inactiveStyle="{color: '#666666',backgroundColor: '#EDEDED',padding: '2rpx 12rpx'}"
itemStyle="height: 34px;">
</u-tabs>
</view>
<view class="particulars-list f-a-i" v-for="(item,index) in 3" :key="index">
<image class="particulars-list-image" src="@/static/images/banner/branner_1.png"></image>
<view class="particulars-list-cont" style="width: calc(100% - 208rpx);">
<view class="particulars-list-cont-name">配件名称</view>
<view class="f-a-i">
<view>品牌</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
</view>
<view class="f-a-i">
<view>零售价</view>
<view>¥123</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
</view>
<view class="f-jcsb">
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
</view>
<view class="count">
<image @click="commodityNumberFn(0,item)" class="subtract"
src="@/static/images/repair/purchase/subtract.png" mode=""></image>
{{index}}
<image @click="commodityNumberFn(1,item)" class="plus"
src="@/static/images/repair/purchase/plus.png" mode=""></image>
</view>
</view>
</view>
</view>
<view class="add-shopping">
<view class="add-shopping-num f-a-i">
<view class="add-shopping-image">
<view class="shopping-num">
288
</view>
<image class="plus" src="@/static/images/repair/purchase/shopping_trolley.png" mode=""></image>
</view>
<view class="add-shopping-money">1000.00</view>
</view>
<view @click="navMountingsOrderFn" class="go-to-result">去结算</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
type: "warning",
tabList: [{
name: '车身配件'
}, {
name: '发动机'
}, {
name: '传动系'
}, {
name: '制动系'
}, {
name: '转向系'
}, {
name: '转向系'
}]
};
},
methods: {
//配件订单
navMountingsOrderFn(){
uni.navigateTo({
url:`/pages/repair/purchase/mountings_order/mountings_order`
})
},
commodityNumberFn(type, item) {
if (type == 0) {
console.log('商品减一');
} else {
console.log('商品加一');
}
}
}
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
.add-shopping {
width: calc(100% - 48rpx);
margin: 24rpx;
height: 112rpx;
border-radius: 56rpx;
background: #111111;
position: fixed;
bottom: 0;
left: 0;
.add-shopping-num {
height: 112rpx;
font-size: 28rpx;
font-weight: 600;
color: #FFFFFF;
margin-left: 24rpx;
.add-shopping-money {
margin-left: 16rpx;
}
.add-shopping-image {
width: 64rpx;
height: 64rpx;
position: relative;
.shopping-num {
padding: 4rpx 8rpx;
height: 32rpx;
min-width: 32rpx;
border-radius: 16rpx;
background: #FF6736;
text-align: center;
line-height: 25rpx;
font-size: 18rpx;
font-weight: 400;
color: #FFFFFF;
position: absolute;
top: -16rpx;
right: -20rpx;
}
}
image {
width: 64rpx;
height: 64rpx;
}
}
.go-to-result {
position: absolute;
top: 0;
right: 0;
width: 200rpx;
height: 112rpx;
border-radius: 0 56rpx 56rpx 0;
background: #13AFA8;
line-height: 112rpx;
text-align: center;
font-size: 34rpx;
font-weight: 400;
color: #FFFFFF;
}
}
.tab {
background: #fff;
}
.count {
width: 142rpx;
height: 44rpx;
background: #F6F7FB;
text-align: center;
position: relative;
.subtract {
position: absolute;
top: 0;
left: 0;
}
.plus {
position: absolute;
top: 0;
right: 0;
}
image {
width: 40rpx;
height: 40rpx;
}
}
.particulars-list {
background-color: #fff;
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
padding: 32rpx 24rpx;
.particulars-list-cont {
height: 192rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 16rpx;
font-size: 26rpx;
font-weight: 400;
color: #666666;
.particulars-list-cont-price {
color: #F20808;
font-size: 38rpx;
font-weight: 600;
}
.particulars-list-cont-name {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
}
.particulars-list-image {
width: 192rpx;
height: 192rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
</style>

View File

@@ -1,6 +1,54 @@
<!-- 维修端采购页 -->
<template>
<view>
<z-paging ref="paging" v-model="dataList" @query="queryList">
<view slot="top" class="navbar">
<view :style="`height: ${$u.sys().statusBarHeight}px;`" />
<view class="navbar-content flex align-center justify-between">
<view class="back-icon flex-center" @click="$tab.navigateBack">
<image src="@/static/images/icon/arrow-left.png" mode=""></image>
</view>
<u-input customStyle="height: 72rpx" placeholder="输入车牌号/所属公司搜索" shape="circle" v-model="keyword"
confirmType="search" placeholderStyle="fontSize: 28rpx;color:#999;font-weight: 500;"
@confirm="inputConfirm">
<template slot="prefix">
<u-image width="16" height="16" src="@/static/images/icon/search.png"></u-image>
</template>
</u-input>
<view class="navbar-btn">
<u-button :customStyle="{width: '192rpx', height: '56rpx',fontSize: '24rpx',margin: 0}"
color="#333333" @click="toCreateOrder">
<image src="@/static/images/icon/plus-circle.png" mode=""></image>
<text style="line-height: 1">采购提报</text>
</u-button>
</view>
</view>
</view>
<!-- 列表 -->
<view class="order" v-for="(item,index) in dataList" :key="index" @click="navParticulars">
<view>
<view class="order-header f-a-i">
<view class="order-header-left"></view>
<view>采购单号:M-202310210088</view>
</view>
<view class="order-cont">
<view class="f-a-i">
<view class="order-cont-title">采购日期:</view>
<view>2023-10-21 13:22:12</view>
</view>
<view class="f-a-i">
<view class="order-cont-title">采购金额:</view>
<view>2000</view>
</view>
<view class="f-a-i">
<view class="order-cont-title">供应商:</view>
<view>平台自供</view>
</view>
</view>
</view>
</view>
<view class="order-bottom"></view>
</z-paging>
<tabbar-repair current="/pages/repair/tabbar/procure"></tabbar-repair>
</view>
</template>
@@ -8,15 +56,115 @@
<script>
import tabbarRepair from '@/components/tabbar-repair/tabbar-repair'
export default {
components: {tabbarRepair},
components: {
tabbarRepair
},
data() {
return {
keyword: '',
dataList: [{}, {}, {}, {}]
};
},
methods: {
//采购提报
toCreateOrder(){
uni.navigateTo({
url:`/pages/repair/purchase/report/report`
})
},
//采购详情
navParticulars(){
uni.navigateTo({
url:`/pages/repair/purchase/purchase_particulars/purchase_particulars`
})
},
//订单列表
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
// let obj = {
// page: pageNo,
// limit: pageSize,
// orderType: this.orderType
// }
// getDealerList(obj).then(res => {
let arr = [{}, {}, {}, {}, {}, {}, ]
this.$refs.paging.complete(arr);
// })
},
}
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
</style>
.order-bottom {
height: 20rpx;
background: #f5f5f5;
}
.order {
background-color: #fff;
margin-top: 16rpx;
padding: 0 24rpx;
.order-cont {
font-size: 28rpx;
font-weight: 400;
color: #111111;
line-height: 80rpx;
.order-cont-title {
width: 140rpx;
font-size: 28rpx;
font-weight: 400;
color: #666666;
}
}
.order-header {
padding: 16rpx 0;
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
.order-header-left {
border-left: 4rpx solid #13AFA8;
height: 32rpx;
margin-right: 16rpx;
}
}
}
.navbar {
width: 750rpx;
background-color: #fff;
.navbar-content {
padding: 8rpx 70rpx 8rpx 20rpx;
.back-icon {
margin-right: 24rpx;
width: 40rpx;
height: 40rpx;
image {
width: 18rpx;
height: 34rpx;
}
}
.navbar-btn {
margin-left: 24rpx;
width: 144rpx;
height: 56rpx;
image {
margin-right: 8rpx;
width: 24rpx;
height: 24rpx;
}
}
}
}
</style>

View File

@@ -15,7 +15,6 @@
<view>需要验证你的手机号进行下一步操作</view>
<view class="verification-call">{{form.phone}}</view>
<u-form class="form-box" :model="form" ref="uForm">
<u-form-item border-bottom class="mt-44">
<u-input type="number" maxlength="6" placeholder="请输入验证码" placeholder-class="placeholder-class"
@change="captchaChange" border="none" v-model="form.captcha">
@@ -28,8 +27,28 @@
:stomStyle='{width:"698rpx",height: "80rpx",fontSize: "28rpx",fontWeight: 500}'
@click="nextStepFn"></u-button>
</view>
<view class="new-call verification" v-if="pageType==3">
<view class="verification-title">请输入新的手机号</view>
<view>更换手机后下次登录可使用新手机号登录</view>
<u-form class="form-box" :model="form" ref="uForm">
<u-form-item class="mt-44" border-bottom prop="phone">
<u-input type="number" maxlength="11" placeholder="请输入手机号码" placeholder-class="placeholder-class"
border="none" v-model="form.phone"></u-input>
</u-form-item>
<u-form-item border-bottom class="mt-44">
<u-input type="number" maxlength="6" placeholder="请输入验证码" placeholder-class="placeholder-class"
@change="captchaChange" border="none" v-model="form.captcha">
<text class="f-30 c111" v-show="!codeStatus" slot="suffix">{{resendCodeTime}}秒重新获取</text>
<text class="f-30 c111" v-show="codeStatus" slot="suffix" @click="getCode">获取验证码</text>
</u-input>
</u-form-item>
</u-form>
<u-button type="primary" shape="circle" text="提交" color="#13AFA8" :disabled="buttonFlag"
:stomStyle='{width:"698rpx",height: "80rpx",fontSize: "28rpx",fontWeight: 500}'
@click="submitFn"></u-button>
</view>
<!-- 更换手机号弹出层 -->
<u-modal :show="changeShow" :title="changeTitle" :content='changeContent' confirmText="我在想想" cancelText="去更改"
<u-modal :show="changeShow" :title="changeTitle" :content='changeContent' confirmText="我在想想" cancelText="去更改" confirmColor="#000000"
closeOnClickOverlay showCancelButton @confirm="changeShow=false" @cancel="changeCancel"
@close="changeShow=false"></u-modal>
</view>
@@ -47,7 +66,7 @@
changeTitle: '是否更换手机号?',
changeContent: '更换后现手机号187****6666将不能用于登录',
//1:账户设置 2:验证 3:新手机号
pageType: 2,
pageType: 1,
verificationTitle: '请验证手机信息',
codeStatus: true,
resendCodeTime: 60,
@@ -60,6 +79,10 @@
};
},
methods: {
//提交更换手机号
submitFn(){
console.log(this.form);
},
//监听输入框
captchaChange(e) {
console.log(e);
@@ -70,7 +93,12 @@
}
},
nextStepFn() {
this.pageType = 3
this.title='新的手机号'
this.form={
}
},
changeCancel() {
this.changeShow = false
@@ -107,6 +135,8 @@
</script>
<style lang="scss">
.new-call {}
.verification {
width: calc(100% - 80rpx);
margin-top: 46rpx;
@@ -116,12 +146,13 @@
color: #333333;
.form-box {
margin-top: 26rpx;
margin-bottom: 64rpx;
}
.verification-call {
margin-top: 80rpx;
margin-bottom: 26rpx;
}
.verification-title {

View File

@@ -40,7 +40,7 @@
url: item.path
})
} else {
uni.$u.toast('模块开发中')
uni.$u.toast('已清除缓存')
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB