采购单-采购单详情页面修改完毕

This commit is contained in:
Teng 2026-04-24 10:31:43 +08:00
parent f4ffbe2689
commit b6ca8d0b5f
8 changed files with 1492 additions and 4 deletions

View File

@ -0,0 +1,121 @@
<template>
<view>
<view class="addall" v-if="show">
<view>温馨提示</view>
<view>
<image src="https://www.focusnu.com/media/directive/ddj.png" mode="aspectFill"></image>
</view>
<view>
<slot name="font"></slot>
</view>
<view>
<view @click="$emit('back')">{{closetext}}</view>
<view class="qd" @click="$emit('right')">{{righttext}}</view>
</view>
</view>
<view class="mengban" v-if="show" @click="$emit('back')"></view>
</view>
</template>
<script>
export default {
props: {
show: {
type: Boolean,
default: false
},
closetext: {
type: String,
default: '取消'
},
righttext: {
type: String,
default: '确认'
},
close: true
},
methods: {
}
}
</script>
<style scoped lang="less">
.addall {
width: 80%;
// min-height: 43%;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
border-radius: 50rpx;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// padding: 2.8vw;
padding: 2.8vw 55rpx;
z-index: 9999;
>view {
&:nth-child(4) {
height: 170rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
view {
width: 200rpx;
height: 80rpx;
background: #E2EFFA;
border-radius: 30rpx;
font-weight: 400;
font-size: 40rpx;
color: #5F676F;
display: flex;
justify-content: center;
align-items: center;
margin: 0 15rpx;
}
.qd {
background: #57A8FA;
color: #FFFFFF;
}
}
&:nth-child(3) {}
&:nth-child(2) {
width: 150rpx;
height: 150rpx;
margin: 2vw auto 0;
margin-bottom: 20rpx;
image {
width: 100%;
height: 100%;
}
}
&:nth-child(1) {
font-weight: 600;
font-size: 38rpx;
color: #333333;
text-align: center;
margin-top: 40rpx;
}
}
}
.mengban {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 9100;
background: rgba(93, 94, 95, 0.5);
}
</style>

View File

@ -390,7 +390,14 @@
},
{
"path" : "pages/yuangongindex/procurement",
"path" : "pages/yuangongindex/purchaseorder",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/yuangongindex/purchaseorderdetail",
"style" :
{
"navigationBarTitleText" : ""

View File

@ -267,7 +267,7 @@
}
const jumpother = (e) => {
uni.navigateTo({
url: "/pages/yuangongindex/procurement?serverUrl="+e.serverUrl
url: "/pages/yuangongindex/purchaseorder?serverUrl="+e.serverUrl
})
}

View File

@ -265,7 +265,7 @@
}
const jumpother = (e) => {
uni.navigateTo({
url: "/pages/yuangongindex/procurement?serverUrl="+e.serverUrl
url: "/pages/yuangongindex/purchaseorder?serverUrl="+e.serverUrl
})
}
const jumpt = (res) => {

View File

@ -86,3 +86,11 @@ export function getCgdListByGysId(data){
method: 'get',
})
}
// 供应商物料单位
export function getDictItems(data){
return request({
url: `/sys/api/getDictItems`,
method: 'get',
data,
})
}

View File

@ -1,3 +1,5 @@
<!-- 废弃写完就删 -->
<template>
<view :style="{paddingTop:`${uni.getStorageSync('moveHeight')+90}px`}">
<view class="title-back" :style="{height:`${uni.getStorageSync('moveHeight')+40}px`}">
@ -70,7 +72,8 @@
onLoad((e)=>{
serverUrl.value = e.serverUrl;
getSupInfoByOpenId(serverUrl.value.orgCode).then(res => {
console.log(res)
console.log(`有啥啊`,res)
return
if (res.success) {
GysId.value = res.result.suppliersId;
init()
@ -105,6 +108,7 @@
const res = response.data;
list.value.push(...res.result.records)
status.value = (res.result.total == list.value.length ? 'nomore' : 'loadmore')
console.log("看看返回",response.data)
}})
}
onReachBottom(()=>{

View File

@ -0,0 +1,347 @@
<template>
<view class="all-view">
<view class="title-back" :style="{height:`${uni.getStorageSync('moveHeight')+40}px`}">
<view class="left-father" @click="goBack">
<image class="back-img" src="https://www.focusnu.com/media/directive/index/left.png" />
<view style="font-size: 30rpx;">采购单</view>
</view>
</view>
<view class="tab-view" :style="{top:`${uni.getStorageSync('moveHeight')+40}px`}">
<view class="tab" :style="tabtargetindex===index?{fontWeight:`600`,color:`black`}:{}"
v-for="(item,index) in tabarray" :key="index" @click="changeTab(index)">
{{ item }}
</view>
<view class="tab-view-target" :style="{left:`${13.5 + tabtargetindex * 23}%` }">
</view>
</view>
<view :style="{height:`${uni.getStorageSync('moveHeight') + 98}px`}"></view>
<view class="card-view" v-for="(item,index) in cardlist" :key="index" @click="gotoDeatil(item.id)">
<view class="card-top">
<view class="card-top-left">
<image class="card-mark" src="https://www.focusnu.com/media/directive/index/buylist.png" />
<view>
<view class="card-id">
{{ item.id }}
</view>
<view class="card-time">
采购日期{{ item.time }}
</view>
</view>
</view>
<view class="card-top-right">
<view class="">
<text class="card-money">
</text>
<text class="card-price">
{{ item.price }}
</text>
</view>
<view class="card-price-ex">
订单金额
</view>
</view>
</view>
<view class="card-middle">
</view>
<view class="card-end">
<view class="card-name">
机构名称{{ item.address }}
</view>
<view class="card-tags"
:style="{borderColor:`${tagstype[item.type].color}`,color:`${tagstype[item.type].color}`}">
{{ tagstype[item.type].name }}
</view>
</view>
</view>
<view class="card-view-finally">
</view>
</view>
</template>
<script setup lang="ts">
import { reactive, ref, nextTick } from 'vue';
import { onLoad, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
import { getEmployeesOrgRela, getCgdListByGysId } from './api.js'
const tagstype = ref([
{
name: `采购中`,
color: `#0074E1`
},
{
name: `挂账中`,
color: `#F03232`
},
{
name: `已完成`,
color: `#222222`
}])
const cardlist = ref([
{
id: `101C20251121006`,
price: `126`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 0
},
{
id: `101C20251121007`,
price: `189`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 1
},
{
id: ` 101C20251121011`,
price: `38`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 2
},
{
id: `101C20251121006`,
price: `126`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 0
},
{
id: `101C20251121007`,
price: `189`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 1
},
{
id: ` 101C20251121011`,
price: `38`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 2
},
{
id: `101C20251121006`,
price: `126`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 0
},
{
id: `101C20251121007`,
price: `189`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 1
},
{
id: ` 101C20251121011`,
price: `38`,
time: `2026.01.19`,
address: `吉林省久泰健康产业有限公司`,
type: 2
},
])
const tabarray = [`全部`, `采购中`, `挂账中`, `已完成`]
//
const tabtargetindex = ref(0)
//
const changeTab = (index : number) => {
tabtargetindex.value = index
}
const goBack = () => {
uni.navigateBack()
}
const gotoDeatil = (id:string) => {
uni.navigateTo({
url: `/pages/yuangongindex/purchaseorderdetail?id=${id}`
})
}
</script>
<style scoped lang="scss">
.all-view {
width: 100vw;
min-height: 100vh;
background-color: #F5F5F7;
}
.title-back {
background-color: #fff;
width: 100%;
height: 70rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
padding-bottom: 20rpx;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
.left-father {
display: flex;
align-items: center;
z-index: 1;
.back-img {
width: 45rpx;
height: 40rpx;
margin-left: 40rpx;
margin-right: 15rpx;
}
}
}
.tab-view {
width: 100%;
height: 110rpx;
background-color: #fff;
display: flex;
padding: 0 4%;
position: fixed;
left: 0;
z-index: 100;
.tab {
width: 25%;
display: flex;
justify-content: center;
align-items: center;
height: 90rpx;
margin-top: 10rpx;
font-size: 32rpx;
color: #666666;
}
.tab-view-target {
position: absolute;
bottom: 14rpx;
left: 13.5%;
width: 4.5%;
height: 9.3rpx;
border-radius: 10rpx;
background-color: #0074E1;
transition: left 0.2s linear;
}
}
.card-view {
margin-left: 4%;
width: 92%;
height: 230rpx;
background-color: #fff;
margin-top: 25rpx;
border-radius: 40rpx;
overflow: hidden;
.card-top {
width: 100%;
height: 56%;
display: flex;
justify-content: space-between;
padding: 0 30rpx;
align-items: center;
.card-top-left {
display: flex;
align-items: center;
height: 100%;
.card-mark {
width: 68rpx;
height: 68rpx;
margin-right: 13rpx;
}
.card-id {
color: #222222;
font-size: 30rpx;
font-weight: 600;
margin-bottom: 6rpx;
}
.card-time {
color: #888888;
font-size: 23rpx;
margin-left: 2rpx;
}
}
.card-top-right {
text-align: right;
margin-right: 10rpx;
.card-money {
font-weight: 600;
font-size: 34rpx;
}
.card-price {
font-weight: 600;
font-size: 43rpx;
margin-left: -6rpx;
}
.card-price-ex {
font-size: 23rpx;
color: #888888;
}
}
}
.card-middle {
margin-top: 8rpx;
background-color: #f9f9f9;
height: 2rpx;
width: 90%;
margin-left: 5%;
}
.card-end {
height: 32%;
width: 100%;
display: flex;
align-items: center;
position: relative;
.card-name {
margin-top: 7rpx;
color: #555555;
margin-left: 40rpx;
font-size: 26rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
width: 70%;
}
.card-tags {
position: absolute;
right: 25rpx;
bottom: 10rpx;
width: 120rpx;
height: 50rpx;
border: 2rpx red solid;
border-radius: 15rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 27rpx;
}
}
}
.card-view-finally {
height: 25rpx;
}
</style>

File diff suppressed because it is too large Load Diff