12.27(评价列表,采购列表,提报,外采

This commit is contained in:
Hong
2023-12-27 19:06:16 +08:00
parent d75762d062
commit 10962596a1
14 changed files with 819 additions and 152 deletions

View File

@@ -47,4 +47,12 @@ export function storageList(data) {
'method': 'get',
params: data
})
}
//入库详情
export function storageDetail(data) {
return request({
'url': '/api/front/accessory/storage/detail',
'method': 'get',
params: data
})
}

45
api/report/index.js Normal file
View File

@@ -0,0 +1,45 @@
import request from '@/utils/request'
//采购模块api
/**
* 获取采购列表
*/
export function procureList(params) {
return request({
url: '/api/front/accessory/procure/list',
method: 'get',
params
})
}
/**
* 平台自营配件列表
*/
export function selfList(params) {
return request({
url: '/api/front/accessory/self/list',
method: 'get',
params
})
}
//
/**
* 新增采购
*/
export function procureCreate(data) {
return request({
url: '/api/front/accessory/procure/create',
method: 'post',
data
})
}
// /
/**
* 采购详情
*/
export function procureInfo(id) {
return request({
url: `/api/front/accessory/procure/info/${id}`,
method: 'get',
})
}

View File

@@ -82,4 +82,24 @@ export function categoryCache(params) {
'method': 'get',
params
})
}
/**
* 获取配件分类列表
*/
export function categoryList() {
return request({
'url': '/api/front/accessory/category/list',
'method': 'get',
})
}
/**
* 获取维修店信息
*/
export function merchantInfo() {
return request({
'url': '/api/front/merchant/merchant/info',
'method': 'get',
})
}

45
api/user/index.js Normal file
View File

@@ -0,0 +1,45 @@
import request from '@/utils/request'
//采购模块api
/**
* 评价列表
*/
export function replyList(params) {
return request({
url: '/api/front/merchant/reservation/reply/list',
method: 'get',
params
})
}
/**
* 平台自营配件列表
*/
export function selfList(params) {
return request({
url: '/api/front/accessory/self/list',
method: 'get',
params
})
}
//
/**
* 新增采购
*/
export function procureCreate(data) {
return request({
url: '/api/front/accessory/procure/create',
method: 'post',
data
})
}
// /
/**
* 采购详情
*/
export function procureInfo(id) {
return request({
url: `/api/front/accessory/procure/info/${id}`,
method: 'get',
})
}

View File

@@ -74,6 +74,12 @@
"navigationBarTitleText" : "配件订单",
"enablePullDownRefresh" : false
}
},{
"path": "pages/repair/purchase/succeed",
"style": {
"navigationBarTitleText" : "提报成功",
"enablePullDownRefresh" : false
}
},{
"path": "pages/repair/tabbar/mine",
"style": {

View File

@@ -25,8 +25,8 @@
</view>
<!-- 列表 -->
<view :class="['order',endTabName=='出库'?'order-go-out':'']" v-for="(item,index) in dataList" :key="index"
@click="navParticulars">
<view >
@click="navParticulars(item)">
<view>
<view class="order-header f-a-i">
<view class="order-header-left"></view>
<view>{{endTabName+'单号'}}:{{item.storageSn}}</view>
@@ -44,10 +44,10 @@
<view class="order-cont-title">采购金额:</view>
<view>{{item.procurePrice}}</view>
</view>
<!-- <view class="f-a-i">
<view class="f-a-i">
<view class="order-cont-title">供应商:</view>
<view>平台自供</view>
</view> -->
<u--text :lines="1" :text="item.suppler"></u--text>
</view>
</view>
</view>
<!-- <view >
@@ -109,7 +109,7 @@
type: 0
}],
//0出库1入库
isInStorage: 0
isInStorage: 1
};
},
methods: {
@@ -126,9 +126,9 @@
})
},
//采购详情
navParticulars() {
navParticulars(item) {
uni.navigateTo({
url: `/pages/repair/accessory/access/access_particulars`
url: `/pages/repair/accessory/access/access_particulars?id=${item.id}`
})
},
//订单列表
@@ -250,6 +250,9 @@
font-weight: 400;
color: #666666;
}
.order-cont-suppler{
}
}
.order-header {

View File

@@ -1,31 +1,32 @@
<template>
<view>
<view class="f-jcsb particulars-header">
<view>入库单号:M-202310210088</view>
<u-notice-bar :text="'入库单号:'+orderData.storageSn" fontSize="16" icon="" bgColor="#f5f5f5" color="#111111"></u-notice-bar>
<!-- <view class="particulars-header-storageSn">:{{}}</view> -->
<view class="f-a-i">
<view class="particulars-header-tit">金额</view>
<view class="particulars-header-num">¥19800.00</view>
<view class="particulars-header-num">¥{{orderData.procurePrice}}</view>
</view>
</view>
<view class="particulars-list f-a-i" v-for="(item,index) in 3" :key="index">
<view class="particulars-list f-a-i" v-for="(item,index) in orderData.storageItemList" :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="particulars-list-cont-name">{{item.accessory.name}}</view>
<view class="f-a-i">
<view>品牌</view>
<view>{{item.accessory.brandName}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
<view>{{item.accessory.sku}}</view>
</view>
<view class="f-a-i">
<view>零售价</view>
<view>¥123</view>
<view>¥{{item.accessory.price}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
<view>{{item.num}}</view>
</view>
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
<view class="particulars-list-cont-price">¥{{item.accessory.procurePrice}}</view>
</view>
</view>
</view>
@@ -33,26 +34,39 @@
</template>
<script>
import {
storageDetail
} from "@/api/accessory/index.js"
export default {
data() {
return {
orderData: {}
};
},
onLoad(options) {
console.log(options);
storageDetail({
id: options.id
}).then(res => {
this.orderData = res.data
})
}
}
</script>
<style lang="scss">
page{
page {
background-color: #f5f5f5;
}
.particulars-list{
.particulars-list {
background-color: #fff;
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
padding: 32rpx 24rpx;
.particulars-list-cont{
.particulars-list-cont {
height: 192rpx;
display: flex;
flex-direction: column;
@@ -61,39 +75,54 @@
font-size: 26rpx;
font-weight: 400;
color: #666666;
.particulars-list-cont-price{
.particulars-list-cont-price {
color: #F20808;
font-size: 38rpx;
font-weight: 600;
}
.particulars-list-cont-name{
.particulars-list-cont-name {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
}
.particulars-list-image{
.particulars-list-image {
width: 192rpx;
height: 192rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
.particulars-header{
.particulars-header {
width: calc(100% - 48rpx);
margin: 24rpx;
font-size: 32rpx;
font-weight: 400;
color: #111111;
.particulars-header-tit{
.particulars-header-storageSn {
width: 402rpx;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
}
.particulars-header-tit {
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-right: 4rpx;
}
.particulars-header-num{
.particulars-header-num {
font-size: 32rpx;
font-weight: 600;
color: #F20808;
}
}
</style>
</style>

View File

@@ -4,59 +4,113 @@
<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 class="order-address-cont-name">{{merchantData.name}}</view>
<view class="order-address-cont-call">{{merchantData.phone}}</view>
</view>
<view class="order-address-title">
杭州金地广场B1层ZDB1-130号杭州金地广场B1层ZD130号杭州金地广场B1层ZDB1-130
{{merchantData.addressDetail}}
</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 f-a-i" v-for="(item,index) in selectDataList" :key="index">
<image class="particulars-list-image" :src="item.image"></image>
<view class="particulars-list-cont" style="width: calc(100% - 208rpx);">
<view class="particulars-list-cont-name">配件名称</view>
<view class="particulars-list-cont-name">{{item.name}}</view>
<view class="f-a-i">
<view>品牌</view>
<view>{{item.brandName}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
<view>{{item.sku}}</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>¥{{item.price}}</view>
</view>
<view class="f-jcsb">
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
<view class="particulars-list-cont-price">¥{{item.procurePrice}}</view>
</view>
<view class="count">
数量2
数量{{item.num}}
</view>
</view>
</view>
</view>
<view class="bottom-f f-jce f-a-i">
{{4}} 合计
<view class="bottom-price">792.00</view>
{{shoppingNum}} 合计
<view class="bottom-price">{{shoppingPrice}}</view>
<view>
<u-button text="提交" type="primary" shape="circle" color="#13AFA8"
:customStyle='{width:"232rpx",height: "96rpx",margin: "16rpx",fontSize: "34rpx",fontWeight: 500,}'></u-button>
:customStyle='{width:"232rpx",height: "96rpx",margin: "16rpx",fontSize: "34rpx",fontWeight: 500,}'
@click="submitAddFn"></u-button>
</view>
</view>
</view>
</template>
<script>
import {
merchantInfo
} from "@/api/system/config.js"
import {
procureCreate
} from "@/api/report/index.js"
export default {
data() {
return {
selectDataList: [],
//店铺信息
merchantData: {}
};
},
computed: {
shoppingNum() {
let num = 0
this.selectDataList.forEach(item => {
num += item.num
})
return num
},
shoppingPrice() {
let num = 0
this.selectDataList.forEach(item => {
num += item.num * item.procurePrice
})
return num.toFixed(2)
},
},
methods: {
submitAddFn() {
let arr = []
this.selectDataList.forEach(item => {
arr.push({
num: item.num,
accsssorySelfId: item.id,
procurePrice: item.procurePrice
})
})
let obj = {
procureItemRequestList: arr
}
procureCreate(obj).then(res => {
uni.removeStorageSync('selectDataList')
uni.redirectTo({
url:'/pages/repair/purchase/succeed'
})
})
}
},
onLoad(options) {
let selectDataList = uni.getStorageSync('selectDataList');
if (selectDataList) {
this.selectDataList = selectDataList
}
console.log(this.selectDataList);
//维修店地址
merchantInfo().then(res => {
this.merchantData = res.data
console.log(res, '888');
})
}
}
</script>
@@ -75,7 +129,8 @@
font-size: 24rpx;
font-weight: 400;
color: #666666;
.bottom-price{
.bottom-price {
font-size: 32rpx;
font-weight: 500;
color: #F20808;

View File

@@ -1,31 +1,31 @@
<template>
<view>
<view class="f-jcsb particulars-header">
<view>采购单号:M-202310210088</view>
<view>采购单号:{{orderData.procureSn}}</view>
<view class="f-a-i">
<view class="particulars-header-tit">金额</view>
<view class="particulars-header-num">¥19800.00</view>
<view class="particulars-header-num">¥{{orderData.procurePrice}}</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 f-a-i" v-for="(item,index) in orderData.procureItemList" :key="index">
<image class="particulars-list-image" :src="item.info.image"></image>
<view class="particulars-list-cont">
<view class="particulars-list-cont-name">配件名称</view>
<view class="particulars-list-cont-name">{{item.info.name}}</view>
<view class="f-a-i">
<view>品牌</view>
<view>{{item.info.brandName}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
<view>{{item.info.sku}}</view>
</view>
<view class="f-a-i">
<view>零售价</view>
<view>¥123</view>
<view>¥{{item.info.price}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
<view>{{item.num}}</view>
</view>
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
<view class="particulars-list-cont-price">¥{{item.info.procurePrice}}</view>
</view>
</view>
</view>
@@ -33,26 +33,41 @@
</template>
<script>
import {
procureInfo
} from "@/api/report/index.js"
export default {
data() {
return {
orderData: {}
};
},
onLoad(options) {
console.log(options);
procureInfo(options.id).then(res => {
res.data.procureItemList.forEach(item => {
item.info = JSON.parse(item.info)
})
console.log(res.data);
this.orderData = res.data
})
}
}
</script>
<style lang="scss">
page{
page {
background-color: #f5f5f5;
}
.particulars-list{
.particulars-list {
background-color: #fff;
width: calc(100% - 48rpx);
margin: 24rpx;
border-radius: 8rpx;
padding: 32rpx 24rpx;
.particulars-list-cont{
.particulars-list-cont {
height: 192rpx;
display: flex;
flex-direction: column;
@@ -61,39 +76,45 @@
font-size: 26rpx;
font-weight: 400;
color: #666666;
.particulars-list-cont-price{
.particulars-list-cont-price {
color: #F20808;
font-size: 38rpx;
font-weight: 600;
}
.particulars-list-cont-name{
.particulars-list-cont-name {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
}
.particulars-list-image{
.particulars-list-image {
width: 192rpx;
height: 192rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
.particulars-header{
.particulars-header {
width: calc(100% - 48rpx);
margin: 24rpx;
font-size: 32rpx;
font-weight: 400;
color: #111111;
.particulars-header-tit{
.particulars-header-tit {
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-right: 4rpx;
}
.particulars-header-num{
.particulars-header-num {
font-size: 32rpx;
font-weight: 600;
color: #F20808;
}
}
</style>
</style>

View File

@@ -1,92 +1,255 @@
<template>
<view>
<view class=" tab">
<z-paging ref="paging" v-model="dataList" @query="queryList">
<view class="tab" slot="top">
<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;">
itemStyle="height: 34px;" @click="clickTab">
</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 f-a-i" v-for="(item,index) in dataList" :key="index">
<image class="particulars-list-image" :src="item.image"></image>
<view class="particulars-list-cont" style="width: calc(100% - 208rpx);">
<view class="particulars-list-cont-name">配件名称</view>
<view class="particulars-list-cont-name">{{item.name}}</view>
<view class="f-a-i">
<view>品牌</view>
<view>{{item.brandName}}</view>
<u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>规格</view>
<view>{{item.sku}}</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>¥{{item.price}}</view>
<!-- <u-line direction="col" length="24rpx" color="#AAAAAA" margin="0 8rpx"></u-line>
<view>采购数</view>
<view>3445</view>
<view>{{item.stock}}</view> -->
</view>
<view class="f-jcsb">
<view class="f-a-e">
<view>采购价</view>
<view class="particulars-list-cont-price"> 198.00</view>
<view class="particulars-list-cont-price">¥{{item.procurePrice}}</view>
</view>
<view class="count">
<image @click="commodityNumberFn(0,item)" class="subtract"
<view class="count" :style="{background:item.num<=0?'#fff':''}">
<image v-if="item.num>0" @click="commodityNumberFn(0,index,item)" class="subtract"
src="@/static/images/repair/purchase/subtract.png" mode=""></image>
{{index}}
<image @click="commodityNumberFn(1,item)" class="plus"
<u--input v-if="item.num>0" placeholder="" disabled type="number" border="none"
inputAlign="center " v-model="item.num" @change="changeNum(item.num,index)"
:customStyle="{background:'#fff'}"></u--input>
<image @click="commodityNumberFn(1,index,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 slot="bottom" class="add-shopping">
<view :class="['add-shopping-num', 'f-a-i']" @click="shoppingShow=!shoppingShow">
<view class="add-shopping-image">
<view class="shopping-num">
288
<view v-if="shoppingNum>0" class="shopping-num">
{{shoppingNum}}
</view>
<image class="plus" src="@/static/images/repair/purchase/shopping_trolley.png" mode=""></image>
</view>
<view class="add-shopping-money">1000.00</view>
<view class="add-shopping-money">{{shoppingPrice}}</view>
</view>
<view @click="navMountingsOrderFn" class="go-to-result">去结算</view>
</view>
</view>
<!-- , -->
<view slot="bottom" :class="['shopping-trolley',shoppingShow?'end-shopping-trolley':'']">
<view class="f-jcsb">
<view>已选购 ({{shoppingNum}})</view>
<view class="del-shopping-trolley f-a-i" @click="delShow=true">
<image src="@/static/images/icon/del.png" mode=""></image>
清空
</view>
</view>
<u-line color="#eee" margin="20rpx 0 32rpx 0"></u-line>
<scroll-view :scroll-y="true" class="shopping-trolley-scroll">
<view v-for="(item2,index2) in selectDataList" :key="index2" style="margin-bottom: 32rpx;">
<view>
<view class="act-list f-a-i">
<image :src="item2.image" mode=""></image>
<view class="act-list-cont">
<view class="act-list-cont-name">{{item2.name}}</view>
<view class="act-list-cont-sku f-jcsb">
<view>{{item2.sku}}</view>
<view class="count" :style="{background:item2.num<=0?'#fff':''}">
<image v-if="item2.num>0" @click="shoppingNumberFn(0,index2,item2)"
class="subtract" src="@/static/images/repair/purchase/subtract.png" mode="">
</image>
<u--input placeholder="" disabled type="number" border="none"
inputAlign="center " v-model="item2.num"
@change="changeNum(item2.num,index2)"
:customStyle="{background:'#fff'}"></u--input>
<image @click="shoppingNumberFn(1,index2,item2)" class="plus"
src="@/static/images/repair/purchase/plus.png" mode=""></image>
</view>
</view>
<view class="act-list-cont-procurePrice">{{item2.procurePrice}}
<text class="act-list-cont-price">{{item2.price}}</text>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
<u-popup :show="delShow" mode="center">
<view class="notarize">
<view class="notarize-cont">确定不要了吗</view>
<view class="f-jcsa">
<view>
<u-button text="取消" type="primary" shape="circle" color="#EDEDED" @click="delShow=false"
:customStyle='{width:"224rpx",height: "88rpx",margin: "16rpx",fontSize: "34rpx",fontWeight: 500,color:"#000",}'></u-button>
</view>
<view>
<u-button text="确认" type="primary" shape="circle" color="#333333" @click="delShoppingFn"
:customStyle='{width:"224rpx",height: "88rpx",margin: "16rpx",fontSize: "34rpx",fontWeight: 500,}'></u-button>
</view>
</view>
</view>
</u-popup>
<!-- 蒙版 -->
<view class="masking" v-if="shoppingShow" @click="shoppingShow=false"></view>
</z-paging>
</template>
<script>
import {
categoryList,
accessoryList
} from "@/api/system/config.js"
import {
selfList
} from "@/api/report/index.js"
export default {
data() {
return {
type: "warning",
tabList: [{
name: '车身配件'
}, {
name: '发动机'
}, {
name: '传动系'
}, {
name: '制动系'
}, {
name: '转向系'
}, {
name: '转向系'
}]
dataList: [], //数据列表
type: "warning", //
tabList: [], //分类列表
cateId: '', //选择的分类Id
delShow: false, //确认删除弹出层
shoppingShow: false, // 购物车弹出层
selectDataList: [], //选中的配件
};
},
computed: {
shoppingNum() {
let num = 0
this.selectDataList.forEach(item => {
num += item.num
})
return num
},
shoppingPrice() {
let num = 0
this.selectDataList.forEach(item => {
num += item.num * item.procurePrice
})
return num.toFixed(2)
},
},
methods: {
//清空购物车
delShoppingFn() {
this.delShow = false
this.$refs.paging.refresh();
this.selectDataList = []
},
//数量监听
changeNum(e, index) {
console.log(e, index);
},
//tab点击
clickTab(e) {
this.cateId = e.id
this.$refs.paging.refresh();
},
//配件订单
navMountingsOrderFn(){
uni.navigateTo({
url:`/pages/repair/purchase/mountings_order/mountings_order`
navMountingsOrderFn() {
if (this.selectDataList.length > 0) {
uni.setStorageSync('selectDataList', this.selectDataList);
uni.navigateTo({
url: `/pages/repair/purchase/mountings_order/mountings_order`
})
} else {
uni.showToast({
title: '请添加商品',
icon: 'none'
})
}
},
//购物车加减
shoppingNumberFn(type, index, item) {
if (type == 0) {
this.selectDataList[index].num -= 1
if (this.selectDataList[index].num == 0) {
this.selectDataList.splice(index, 1)
}
} else {
this.selectDataList[index].num += 1
}
},
//列表加减
commodityNumberFn(type, index, item) {
if (type == 0) {
let num = this.dataList[index].num
if (num != 1) {
this.dataList[index].num -= 1
} else {
this.dataList[index].num -= 1
let arr = this.selectDataList.filter(student => student.id != item.id);
this.selectDataList = arr
}
} else {
console.log(this.dataList[index].stock, this.dataList[index].num, '库存');
if (this.dataList[index].stock > this.dataList[index].num) {
if (this.dataList[index].num > 0) {
console.log(Number(this.dataList[index].num));
this.dataList[index].num += 1
// this.selectDataList.forEach(itemData => {
// console.log(item.id,itemData.id);
// if (item.id == itemData.id) {
// itemData.num = this.dataList[index].num
// }
// })
} else {
this.dataList[index].num += 1
this.selectDataList.push(item)
}
} else {
uni.showToast({
title: '配件商品库存不足',
icon: 'none'
})
}
}
},
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
let obj = {
page: pageNo,
limit: pageSize,
cateId: this.cateId
}
selfList(obj).then(res => {
res.data.list.forEach(item => {
item.num = 0
})
this.$refs.paging.complete(res.data.list);
})
},
commodityNumberFn(type, item) {
if (type == 0) {
console.log('商品减一');
} else {
console.log('商品加一');
}
}
},
onLoad() {
//获取分类列表
categoryList().then(res => {
this.tabList = res.data
this.cateId = this.tabList[0].id
this.$refs.paging.refresh();
})
},
onShow() {
}
}
</script>
@@ -97,6 +260,85 @@
}
.notarize {
width: 598rpx;
height: 304rpx;
border-radius: 8rpx;
padding: 48rpx 0 64rpx 0;
text-align: center;
.notarize-cont {
margin-bottom: 64rpx;
}
}
.act-list {
image {
width: 114rpx;
height: 114rpx;
border-radius: 8rpx;
}
.act-list-cont {
width: calc(100% - 130rpx);
margin-left: 16rpx;
.act-list-cont-name {
font-size: 30rpx;
font-weight: 400;
color: #000000;
}
.act-list-cont-sku {
font-size: 22rpx;
font-weight: 400;
color: #666666;
}
.act-list-cont-procurePrice {
font-size: 32rpx;
font-weight: 500;
color: #FF4545;
}
.act-list-cont-price {
font-size: 28rpx;
font-weight: 400;
color: #999999;
line-height: 22rpx;
text-decoration: line-through;
}
}
}
.shopping-trolley {
height: 0rpx;
width: 100%;
border-radius: 16rpx 16rpx 0 0;
background-color: #fff;
position: fixed;
left: 0;
bottom: 0;
z-index: 50;
transition: all 1s;
.shopping-trolley-scroll {
height: 440rpx;
}
.del-shopping-trolley {
image {
width: 32rpx;
height: 32rpx;
}
}
}
.end-shopping-trolley {
height: 764rpx;
padding: 32rpx 24rpx 200rpx 24rpx;
}
.add-shopping {
width: calc(100% - 48rpx);
margin: 24rpx;
@@ -106,6 +348,7 @@
position: fixed;
bottom: 0;
left: 0;
z-index: 99;
.add-shopping-num {
height: 112rpx;
@@ -114,6 +357,7 @@
color: #FFFFFF;
margin-left: 24rpx;
.add-shopping-money {
margin-left: 16rpx;
}
@@ -167,7 +411,7 @@
}
.count {
width: 142rpx;
width: 182rpx;
height: 44rpx;
background: #F6F7FB;
text-align: center;
@@ -177,6 +421,7 @@
position: absolute;
top: 0;
left: 0;
z-index: 35;
}
.plus {
@@ -228,4 +473,14 @@
}
}
.masking {
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.4);
position: fixed;
left: 0;
top: 0;
z-index: 40;
}
</style>

View File

@@ -0,0 +1,168 @@
<!-- 未处理维修开单 / 预约维修开单-->
<template>
<view>
<view>
<view class="ok-add">
<image src="@/static/images/accessory/to_put_forward.png" mode=""></image>
<view class="ok-add-title">
你的采购提报已提交成功
</view>
<view class="ok-add-accessories f-jc-c">
<u-button shape="circle" :customStyle="{width:'264rpx',height: '80rpx',fontSize: '34rpx',margin: 0}"
color="#13AFA8" @click="navigatorFn(1)">
采购管理
</u-button>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
},
onLoad(option) {
},
methods: {
navigatorFn(){
uni.switchTab({
url:'/pages/repair/tabbar/procure'
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #f5f5f5;
}
.bottom-button {
width: 100%;
background-color: #fff;
padding: 18rpx 24rpx 24rpx;
position: fixed;
left: 0;
bottom: 0;
}
.navbar {
width: 750rpx;
background-color: #fff;
.navbar-content {
padding: 8rpx 24rpx;
.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;
}
}
}
}
.forms-item {
padding: 12rpx 32rpx;
background-color: #fff;
border-radius: 8rpx;
.right-icon {
width: 8rpx;
height: 16rpx;
}
}
.forms-title {
font-size: 32rpx;
font-family: PingFang SC, PingFang SC;
color: #222222;
line-height: 92rpx;
}
.btn-bottom {
margin-top: 188rpx;
padding: 0 24rpx;
.btn {
height: 96rpx;
}
}
.form-item {
padding: 24rpx;
}
.image-box {
width: 100%;
display: flex;
justify-content: end;
image {
width: 112rpx;
height: 112rpx;
}
}
.price-label {
font-size: 28rpx;
font-weight: 400;
color: #111111;
margin-left: 18rpx;
}
.ok-add {
width: 100%;
height: 100vh;
background-color: #fff;
margin: 0rpx auto;
text-align: center;
padding-top: 136rpx;
border-top: 1rpx solid rgba(0, 0, 0, 0.1);
.ok-add-title {
font-size: 26rpx;
font-weight: 400;
color: #555555;
margin-top: 24rpx;
}
.ok-add-accessories {
margin: 96rpx 0 32rpx 0;
}
.ok-add-continue {
font-size: 34rpx;
font-weight: 400;
color: #13AFA8;
}
image {
width: 148rpx;
height: 148rpx;
}
}
</style>

View File

@@ -25,20 +25,20 @@
</view>
</view>
<!-- 列表 -->
<view class="order" v-for="(item,index) in dataList" :key="index" @click="navParticulars">
<view class="order" v-for="(item,index) in dataList" :key="index" @click="navParticulars(item.id)">
<view>
<view class="order-header f-a-i">
<view class="order-header-left"></view>
<view>采购单号:M-202310210088</view>
<view>采购单号:{{item.procureSn}}</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>{{item.createTime}}</view>
</view>
<view class="f-a-i">
<view class="order-cont-title">采购金额:</view>
<view>2000</view>
<view>{{item.procurePrice}}</view>
</view>
<view class="f-a-i">
<view class="order-cont-title">供应商:</view>
@@ -54,6 +54,9 @@
</template>
<script>
import {
procureList
} from "@/api/report/index.js"
import tabbarRepair from '@/components/tabbar-repair/tabbar-repair'
export default {
components: {
@@ -62,35 +65,41 @@
data() {
return {
keyword: '',
dataList: [{}, {}, {}, {}]
dataList: []
};
},
methods: {
//采购提报
toCreateOrder(){
toCreateOrder() {
uni.navigateTo({
url:`/pages/repair/purchase/report/report`
url: `/pages/repair/purchase/report/report`
})
},
//采购详情
navParticulars(){
navParticulars(id) {
uni.navigateTo({
url:`/pages/repair/purchase/purchase_particulars/purchase_particulars`
url: `/pages/repair/purchase/purchase_particulars/purchase_particulars?id=${id}`
})
},
//订单列表
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
// let obj = {
// page: pageNo,
// limit: pageSize,
// orderType: this.orderType
// }
// getDealerList(obj).then(res => {
let arr = [{}, {}, {}, {}, {}, {}, ]
this.$refs.paging.complete(arr);
// })
let obj = {
page: pageNo,
limit: pageSize,
}
procureList(obj).then(res => {
this.$refs.paging.complete(res.data.list);
})
},
},
onLoad(options) {
},
onShow() {
if (this.$refs.paging) {
this.$refs.paging.refresh();
}
}
}
</script>

View File

@@ -16,37 +16,37 @@
<view class="item-cont">
<view class="f-jcsb">
<view class=" f-a-i ">
<image src="../../../../static/logo.png">
<image :src="item.avatar">
</image>
<view class="item-header">
<view class="item-header-name">张科长</view>
<view class="item-header-name">{{item.nickname}}</view>
<view class="f-a-i item-header-rate">
<u-rate :count="5" v-model="index" active-color="#F68D1F" readonly
<u-rate :count="5" v-model="item.star" active-color="#F68D1F" readonly
size="20"></u-rate>
<view class="">{{index}}</view>
<view class="">{{item.star}}</view>
</view>
</view>
</view>
<view class="item-cont-time">2023/02/08</view>
<view class="item-cont-time">{{item.createTime}}</view>
</view>
<view class="item-cont-cover">
<u--text :lines="2" size="14"
text="关于uView的取名来由首字母u来自于uni-app首字母uni-app是基VuejsVue和View(延伸为UI、视图之意)同音同时view组件uni-app中最础最重要的组件故取名uView表达源于uni-app和Vue之意同时在此也对它示感谢。"></u--text>
:text="item.comment"></u--text>
</view>
<view class="item-cont-image">
<u-grid :border="false" col="3" @click="clickImage">
<u-grid-item v-for="(listItem,listIndex) in 5" :key="listIndex">
<image src="../../../../static/htz-image-upload/play.png" mode=""></image>
<u-grid-item v-for="(listItem,listIndex) in item.pics" :key="listIndex">
<image :src="listItem" mode=""></image>
</u-grid-item>
</u-grid>
<u-toast ref="uToast" />
</view>
<view class="item-cont-number f-jcsb">
<view>
工单号M-201310230251
工单号{{item.procureSn}}
</view>
<view class="item-cont-number-type">
常规保养
{{item.repairType==1?'常规保养':item.repairType==2?'故障维修':item.repairType==3?'事故维修':'退车'}}
</view>
</view>
</view>
@@ -56,8 +56,10 @@
</template>
<script>
import {
replyList
} from "@/api/user/index.js"
export default {
data() {
return {
//订单列表
@@ -72,13 +74,14 @@
//订单列表
queryList(pageNo, pageSize) {
// 此处请求仅为演示,请替换为自己项目中的请求
// this.$request.queryList({
// pageNo,
// pageSize
// }).then(res => {
let arr = [{}, {}, {}, {}, {}, {}, {}]
this.$refs.paging.complete(arr);
// })
let obj = {
limit: pageSize,
page: pageNo
}
replyList(obj).then(res => {
this.$refs.paging.complete(res.data.list);
})
},
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB