refactor(OrderApproval): 重构订单审核页面
This commit is contained in:
parent
747fe2cfb2
commit
44707e7b98
@ -41,3 +41,45 @@ export const financeConfirm = (saleIds) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询订单分配列表--下面部分
|
||||||
|
export const disOrderDisDetailList = (salemainId) => {
|
||||||
|
return request({
|
||||||
|
method: 'post',
|
||||||
|
url: '/bussiness/salemain/disOrderDisDetailList',
|
||||||
|
params: {
|
||||||
|
saleId: salemainId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 订单审核-强制推送至OA
|
||||||
|
export const orderReviewSendOaQZ = (data) => {
|
||||||
|
return request({
|
||||||
|
url: '/bussiness/salemain/orderReviewSendOa',
|
||||||
|
method: 'post',
|
||||||
|
params: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 订单审核-强制推送至分配
|
||||||
|
export const orderReviewForceOaToFenPei = (data) => {
|
||||||
|
return request({
|
||||||
|
method: 'post',
|
||||||
|
url: '/bussiness/salemain/orderReviewForceOa',
|
||||||
|
params: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 订单审核-回退
|
||||||
|
export const orderReviewBack = (saleIds) => {
|
||||||
|
return request({
|
||||||
|
method: 'post',
|
||||||
|
url: '/bussiness/salemain/orderReviewBack',
|
||||||
|
params: {
|
||||||
|
id: saleIds
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -1,449 +1,187 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="order-detail-container">
|
<view>
|
||||||
<!-- <view class="page-title">查看详细信息</view> -->
|
<uni-section
|
||||||
|
:sub-title="queryParams.contractcode"
|
||||||
|
:title="queryParams.usernames"
|
||||||
|
padding="0 0 5px 10px"
|
||||||
|
style="margin-bottom: 20px"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- 基础信息区域 -->
|
<MBCard style="margin: 15px">
|
||||||
<view class="info-section">
|
<view class="context">
|
||||||
<uni-row class="info-grid">
|
<view class="label">
|
||||||
<uni-col >
|
<text>制单日期:</text>
|
||||||
<view class="label">商业公司: {{contract.user_name}} </view>
|
<text>{{ formatDate(queryParams.adddate, 'yyyy-MM-dd') }}</text>
|
||||||
</uni-col>
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>发货仓库:</text>
|
||||||
|
<text>{{ queryParams.warehouseName }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>订单金额:</text>
|
||||||
|
<text>{{ formatPrice(queryParams.contractmoney) }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>补差金额:</text>
|
||||||
|
<text>{{ formatPrice(queryParams.disCount) }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</MBCard>
|
||||||
|
|
||||||
</uni-row>
|
<uni-section class="mb-10" padding="0 0 5px 10px" title="商品信息"/>
|
||||||
<uni-row class="info-grid">
|
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">制单日期:{{ contract.adddate}}</view>
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">合同编号:{{ contract.contractcode }}</view>
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
<uni-row class="info-grid">
|
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">订单金额:{{ contract.contractmoney }}</view>
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">补差金额:{{ contract.user_name }}</view>
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
|
|
||||||
<uni-row class="info-grid">
|
<uni-card
|
||||||
<uni-col :span="12">
|
v-for="item in queryParams.goods"
|
||||||
<view class="label">支付方式:{{ contract.ispaynow }}</view>
|
:key="item.goodsname"
|
||||||
</uni-col>
|
:title="item.goodsname"
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">联系方式:{{ contract.ispaynow }}</view>
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
<uni-row class="info-grid">
|
|
||||||
<uni-col :span="12">
|
|
||||||
<view class="label">发货仓库:{{ contract.place }}</view>
|
|
||||||
</uni-col>
|
|
||||||
|
|
||||||
</uni-row>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 商品信息区域 -->
|
|
||||||
<view class="goods-section">
|
|
||||||
<view class="section-title">商品信息</view>
|
|
||||||
|
|
||||||
<view v-if="goodsList.length === 0" class="no-data">
|
|
||||||
暂无商品数据
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view v-else class="goods-double-column">
|
|
||||||
<view
|
|
||||||
v-for="(goods, index) in goodsList"
|
|
||||||
:key="index"
|
|
||||||
class="goods-item"
|
|
||||||
>
|
>
|
||||||
<view class="goods-header">
|
<view class="context">
|
||||||
<text class="serial-number">{{ index + 1 }}</text>
|
<view class="label">
|
||||||
<text class="goods-name">{{ goods.goodsname }}</text>
|
<text>件装数:</text>
|
||||||
</view>
|
<text>{{ item.packingnum }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>单价:</text>
|
||||||
|
<text>{{ item.invoiceprice }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>可分配数:</text>
|
||||||
|
<text>{{ item.candisnum }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>前三月平均:</text>
|
||||||
|
<text>{{ item.mon3 }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>采购数量:</text>
|
||||||
|
<text>{{ item.goodsnum }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>要求补差:</text>
|
||||||
|
<text>{{ item.piaokoutotal }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-card>
|
||||||
|
|
||||||
<view class="goods-content">
|
<view style="display: flex;margin: 0px 15px;justify-content: space-between;flex-direction: column;gap: 10px;">
|
||||||
|
<uni-tag
|
||||||
|
style="font-size: 20px;line-height: 28px;font-weight: bold;padding: 5px 25px;text-align: center;"
|
||||||
|
text="强制推送至OA"
|
||||||
|
type="success"
|
||||||
|
@click="handlePushOA"
|
||||||
|
/>
|
||||||
|
|
||||||
<uni-row class="info-row">
|
<uni-tag
|
||||||
<uni-col :span="12" class="info-pair">
|
style="font-size: 20px;line-height: 28px;font-weight: bold;padding: 5px 25px;text-align: center;"
|
||||||
<view class="label">件装数:{{ goods.packingnum }}</view>
|
text="强制通过OA,直接到待分配"
|
||||||
<!-- <view class="value">{{ goods.packCount }}</view> -->
|
type="success"
|
||||||
</uni-col>
|
@click="handlePushOAAwait"
|
||||||
<uni-col :span="12" class="info-pair">
|
/>
|
||||||
<view class="label">单价:{{ goods.invoiceprice }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.referencePrice }}</view> -->
|
<uni-popup ref="inputDialogRef" type="dialog">
|
||||||
</uni-col>
|
<uni-popup-dialog
|
||||||
</uni-row>
|
ref="inputClose"
|
||||||
|
mode="input"
|
||||||
|
placeholder="请输入密码"
|
||||||
|
title="请输入密码"
|
||||||
|
value="对话框预置提示内容!"
|
||||||
|
@confirm="dialogInputConfirm"
|
||||||
|
/>
|
||||||
|
</uni-popup>
|
||||||
|
|
||||||
|
|
||||||
<uni-row class="info-row">
|
<uni-tag
|
||||||
<uni-col :span="12" class="info-pair">
|
style="font-size: 20px;line-height: 28px;font-weight: bold;padding: 5px 25px;text-align: center;"
|
||||||
<view class="label">前三月平均数:{{ goods.mon3 }}</view>
|
text="审核回退"
|
||||||
<!-- <view class="value">{{ goods.average }}</view> -->
|
type="primary"
|
||||||
</uni-col>
|
@click="handleCallBack"
|
||||||
<uni-col :span="12" class="info-pair">
|
/>
|
||||||
<view class="label">采购数量:{{ goods.goodsnum }}</view>
|
|
||||||
<!-- <view class="value quantity">{{ goods.quantity }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
|
|
||||||
|
|
||||||
<uni-row class="info-row">
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">可分配数:{{ goods.allmoney }}</view>
|
|
||||||
<!-- <view class="value total">{{ goods.subtotal }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">要求补差:{{ goods.piaokou }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.ticketDeduction }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
|
||||||
<view class="action-buttons">
|
|
||||||
<button @click="goBack" class="btn btn-secondary">审核回退</button>
|
|
||||||
<button @click="review" class="btn btn-primary">审核通过</button>
|
|
||||||
<button @click="review" class="btn btn-primary">强制推送OA</button>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, ref } from 'vue'
|
import {getCurrentInstance, onMounted, ref} from 'vue'
|
||||||
import { contractData,goodsData } from './detailData.js'
|
import {salemainDetail} from "../../../api/orderManager";
|
||||||
|
import {onLoad} from '@dcloudio/uni-app'
|
||||||
// 基础信息
|
import {formatPrice} from "../../../utils/utils";
|
||||||
const contract = ref({})
|
import MBCard from "../../../components/MB/MBCard.vue";
|
||||||
|
import {formatDate} from "../../../uni_modules/uni-dateformat/components/uni-dateformat/date-format";
|
||||||
const monthOptions = ref([
|
import {
|
||||||
{ value: 0, text: '本月执行' },
|
disOrderDisDetailList,
|
||||||
{ value: 1, text: '下月执行' }
|
orderReviewBack,
|
||||||
])
|
orderReviewForceOaToFenPei,
|
||||||
onMounted(()=>{
|
orderReviewSendOaQZ
|
||||||
contract.value = contractData.data[0]
|
} from "../../../api/Salemain";
|
||||||
console.log(contract.value)
|
import UniCard from "../../../uni_modules/uni-card/components/uni-card/uni-card.vue";
|
||||||
goodsList.value = goodsData.data
|
|
||||||
|
|
||||||
|
|
||||||
|
const id = ref('')
|
||||||
|
const queryParams = ref({})
|
||||||
|
const inputDialogRef = ref('')
|
||||||
|
const {proxy} = getCurrentInstance()
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
id.value = options.id
|
||||||
})
|
})
|
||||||
// 商品列表数据
|
|
||||||
const goodsList = ref([
|
|
||||||
{
|
|
||||||
name: '商品A',
|
|
||||||
packCount: '12',
|
|
||||||
referencePrice: '88.00',
|
|
||||||
average: '150',
|
|
||||||
quantity: '1000',
|
|
||||||
subtotal: '88,000.00',
|
|
||||||
ticketDeduction: '是',
|
|
||||||
taxRate: '13%'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '商品B',
|
|
||||||
packCount: '24',
|
|
||||||
referencePrice: '18.00',
|
|
||||||
average: '800',
|
|
||||||
quantity: '1200',
|
|
||||||
subtotal: '21,600.00',
|
|
||||||
ticketDeduction: '否',
|
|
||||||
taxRate: '13%'
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
// 操作方法
|
|
||||||
const goBack = () => {
|
onMounted(async () => {
|
||||||
console.log("回退操作")
|
const {data} = await salemainDetail(id.value)
|
||||||
// 成功提示 (类似 ElMessage.success)
|
queryParams.value = data
|
||||||
uni.showToast({
|
const {data: goods} = await disOrderDisDetailList(id.value)
|
||||||
title: '回退成功!',
|
queryParams.value = {
|
||||||
icon: 'success',
|
...queryParams.value,
|
||||||
duration: 2000
|
goods: goods
|
||||||
});
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const pushOAStatus = ref('0')
|
||||||
|
// 强制推送 OA
|
||||||
|
const handlePushOA = () => {
|
||||||
|
pushOAStatus.value = '1'
|
||||||
|
inputDialogRef.value.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
const review = () => {
|
// 强制通过OA,直接到待分配
|
||||||
console.log("审核操作")
|
const handlePushOAAwait = () => {
|
||||||
// 成功提示 (类似 ElMessage.success)
|
pushOAStatus.value = '2'
|
||||||
uni.showToast({
|
inputDialogRef.value.open()
|
||||||
title: '审核成功!',
|
}
|
||||||
icon: 'success',
|
|
||||||
duration: 2000
|
const dialogInputConfirm = (e) => {
|
||||||
});
|
if (!e.trim()) return '';
|
||||||
|
|
||||||
|
if (pushOAStatus.value === '1') {
|
||||||
|
orderReviewSendOaQZ({
|
||||||
|
saleIds: form.value.saleid,
|
||||||
|
psw: e,
|
||||||
|
companyId: queryParams.value.companyId,
|
||||||
|
state: 1
|
||||||
|
}).then(res => {
|
||||||
|
proxy.$modal.msgSuccess('已强制推送至OA');
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (pushOAStatus.value === '2') {
|
||||||
|
orderReviewForceOaToFenPei({
|
||||||
|
id: id.value,
|
||||||
|
psw: e
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
proxy.$modal.msgSuccess('回退成功!');
|
||||||
|
proxy.$tab.navigateTo('/pages/work/OrderApproval/index')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 审核回退
|
||||||
|
const handleCallBack = () => {
|
||||||
|
orderReviewBack(id.value)
|
||||||
|
.then(() => {
|
||||||
|
proxy.$modal.msgSuccess('回退成功!');
|
||||||
|
proxy.$tab.navigateTo('/pages/work/OrderApproval/index')
|
||||||
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.order-detail-container {
|
|
||||||
padding: 16px;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
min-height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page-title {
|
|
||||||
text-align: center;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
color: #333;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 600;
|
|
||||||
padding: 12px 0;
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 基础信息网格布局 */
|
|
||||||
.info-section {
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 12px;
|
|
||||||
padding: 16px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-grid {
|
|
||||||
:deep(.uni-row) {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
}
|
|
||||||
.info-value {
|
|
||||||
font-size: 15px;
|
|
||||||
color: #333;
|
|
||||||
font-weight: 500;
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
margin-bottom: 20rpx;
|
|
||||||
margin-top: 20rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-item {
|
|
||||||
margin-bottom: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #666;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.required::after {
|
|
||||||
content: '*';
|
|
||||||
color: #f56c6c;
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// .info-value {
|
|
||||||
// font-size: 15px;
|
|
||||||
// color: #333;
|
|
||||||
// font-weight: 500;
|
|
||||||
// display: flex;
|
|
||||||
// justify-content: flex-end;
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
.amount {
|
|
||||||
color: #f56c6c;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-container {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.uni-data-select__text) {
|
|
||||||
padding: 8px 12px;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.month-popup) {
|
|
||||||
min-width: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 商品信息区域 */
|
|
||||||
.goods-section {
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 12px;
|
|
||||||
padding: 16px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.section-title {
|
|
||||||
font-size: 16px;
|
|
||||||
color: #333;
|
|
||||||
margin: 0 0 16px 0;
|
|
||||||
padding-bottom: 8px;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-data {
|
|
||||||
text-align: center;
|
|
||||||
color: #999;
|
|
||||||
padding: 40px 0;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 商品双栏布局 */
|
|
||||||
.goods-double-column {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.goods-item {
|
|
||||||
border: 1px solid #eee;
|
|
||||||
border-radius: 12px;
|
|
||||||
overflow: hidden;
|
|
||||||
background: #fafafa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.goods-header {
|
|
||||||
background: #409eff;
|
|
||||||
color: white;
|
|
||||||
padding: 10px 16px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.serial-number {
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
background: rgba(255,255,255,0.2);
|
|
||||||
border-radius: 50%;
|
|
||||||
font-size: 12px;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.goods-name {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 600;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 商品内容区域 */
|
|
||||||
.goods-content {
|
|
||||||
padding: 12px 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-row {
|
|
||||||
display: flex;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-pair {
|
|
||||||
flex: 1;
|
|
||||||
padding: 0 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-pair .label {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #666;
|
|
||||||
margin-bottom: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-pair .value {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #333;
|
|
||||||
font-weight: 500;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.quantity {
|
|
||||||
color: #409eff;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.total {
|
|
||||||
color: #f56c6c;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 操作按钮 */
|
|
||||||
.action-buttons {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 12px;
|
|
||||||
padding: 16px 0;
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
padding: 12px 24px;
|
|
||||||
border: none;
|
|
||||||
border-radius: 8px;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 500;
|
|
||||||
cursor: pointer;
|
|
||||||
min-width: 80px;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary {
|
|
||||||
background: #409eff;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-secondary {
|
|
||||||
background: #67c23a;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-outline {
|
|
||||||
background: #fff;
|
|
||||||
color: #333;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 响应式设计 */
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.order-detail-container {
|
|
||||||
padding: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-item {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-pair {
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.action-buttons {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
// staticData.js
|
|
||||||
export const contractData = {
|
|
||||||
"total": 2,
|
|
||||||
"rows": [
|
|
||||||
{
|
|
||||||
"saleid": 999822,
|
|
||||||
"adddate": "2025-08-20 09:05:26",
|
|
||||||
"contractcode": "Z-CQ-000120",
|
|
||||||
"contractmoney": 5767.4700,
|
|
||||||
"usernames": "重庆医药集团医贸药品有限公司",
|
|
||||||
"businessManagerName": "商务经理名字-西区",
|
|
||||||
"transport": "汽运",
|
|
||||||
"areaName": "重庆",
|
|
||||||
"warehouseName": "临安GSP库",
|
|
||||||
"companyName": "浙江大冢制药有限公司",
|
|
||||||
"stateText": "待商务审批",
|
|
||||||
"bigAreaName": "西区"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"saleid": 999833,
|
|
||||||
"adddate": "2025-08-20 09:05:26",
|
|
||||||
"contractcode": "Z-CQ-000120",
|
|
||||||
"contractmoney": 5767.4700,
|
|
||||||
"usernames": "重庆医药集团医贸药品有限公司",
|
|
||||||
"businessManagerName": "商务经理名字-西区",
|
|
||||||
"transport": "汽运",
|
|
||||||
"areaName": "重庆",
|
|
||||||
"warehouseName": "临安GSP库",
|
|
||||||
"companyName": "浙江大冢制药有限公司",
|
|
||||||
"stateText": "待商务审批",
|
|
||||||
"bigAreaName": "西区"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"saleid": 166314,
|
|
||||||
"adddate": "2025-07-08 15:09:20",
|
|
||||||
"contractcode": "G-SC-40861",
|
|
||||||
"contractmoney": 109296.0000,
|
|
||||||
"usernames": "国药集团西南医药有限公司",
|
|
||||||
"transport": "汽运",
|
|
||||||
"areaName": "四川",
|
|
||||||
"warehouseName": "广东三方(上药)",
|
|
||||||
"companyName": "广东大冢制药有限公司",
|
|
||||||
"stateText": "待商务审批",
|
|
||||||
"bigAreaName": "西区"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"code": 200,
|
|
||||||
"msg": "查询成功"
|
|
||||||
};
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="container">
|
|
||||||
详情{{saleid}}
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { ref, onMounted } from 'vue'
|
|
||||||
import { onLoad } from '@dcloudio/uni-app'
|
|
||||||
|
|
||||||
const saleid = ref('')
|
|
||||||
|
|
||||||
onLoad((options) => {
|
|
||||||
if (options.saleid) {
|
|
||||||
saleid.value = options.saleid
|
|
||||||
// 这里可以根据saleid请求详情数据
|
|
||||||
console.log('加载合同详情,ID:', saleid.value)
|
|
||||||
// loadContractDetail(saleid.value)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
function loadContractDetail(id) {
|
|
||||||
// 根据saleid请求详情数据的逻辑
|
|
||||||
console.log('加载合同详情,ID:', id)
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.container {
|
|
||||||
padding: 10px;
|
|
||||||
background-color: #f5f7fa;
|
|
||||||
min-height: 100vh;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -1,69 +0,0 @@
|
|||||||
// staticData.js
|
|
||||||
export const contractData = {
|
|
||||||
"total": 2,
|
|
||||||
"data": [
|
|
||||||
{
|
|
||||||
"saleid": 999822,
|
|
||||||
"user_name": "重庆医药集团医贸药品有限公司",
|
|
||||||
"phonenumber": "",
|
|
||||||
"budgetmoney_area": 0.0000,
|
|
||||||
"ispaynow": "非现款",
|
|
||||||
"contractcode": "Z-CQ-000120",
|
|
||||||
"piaokous": 5767.4700,
|
|
||||||
"budgetmoney1": 0.0000,
|
|
||||||
"CAN": 0.0000,
|
|
||||||
"ContractMoney1": 0.00,
|
|
||||||
"contractmoney": 5767.4700,
|
|
||||||
"ContractMoney_area": 0.00,
|
|
||||||
"CAN_area": 0.0000,
|
|
||||||
"place": "重庆市沙坪坝区土主镇明珠山一支路4号",
|
|
||||||
"piaokou": 0.0000,
|
|
||||||
"dept_id": 1,
|
|
||||||
"shortName": "重庆医贸",
|
|
||||||
"adddate": "2025-08-20"
|
|
||||||
},
|
|
||||||
|
|
||||||
],
|
|
||||||
"code": 200,
|
|
||||||
"msg": "查询成功"
|
|
||||||
};
|
|
||||||
export const goodsData =
|
|
||||||
{
|
|
||||||
"msg": "操作成功",
|
|
||||||
"code": 200,
|
|
||||||
"data": [
|
|
||||||
{
|
|
||||||
"taxrate": 1.00,
|
|
||||||
"mon3": 0.0000,
|
|
||||||
"packingnum": 200,
|
|
||||||
"invoiceprice": 46.8900,
|
|
||||||
"goodsname": "盐酸丙卡特罗片(美普清)10",
|
|
||||||
"piaokou": 0.0000,
|
|
||||||
"goodsnum": 123,
|
|
||||||
"allmoney": 5767.4700,
|
|
||||||
"shortname": "MPT10"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"taxrate": 1.00,
|
|
||||||
"mon3": 0.0000,
|
|
||||||
"packingnum": 200,
|
|
||||||
"invoiceprice": 46.8900,
|
|
||||||
"goodsname": "诺氟沙星(美普清)10",
|
|
||||||
"piaokou": 0.0000,
|
|
||||||
"goodsnum": 123,
|
|
||||||
"allmoney": 5767.4700,
|
|
||||||
"shortname": "MPT10"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"taxrate": 1.00,
|
|
||||||
"mon3": 0.0000,
|
|
||||||
"packingnum": 200,
|
|
||||||
"invoiceprice": 46.8900,
|
|
||||||
"goodsname": "盐酸宁干片(美普清)10",
|
|
||||||
"piaokou": 0.0000,
|
|
||||||
"goodsnum": 123,
|
|
||||||
"allmoney": 5767.4700,
|
|
||||||
"shortname": "MPT10"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user