refactor(FinancialApproval): 重构财务审批模块并移除静态数据文件
This commit is contained in:
parent
c780e6dbba
commit
4a532d6c0d
@ -19,3 +19,25 @@ export const getOrderApprovalList = (data, query) => {
|
|||||||
params: query,
|
params: query,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 订单回退
|
||||||
|
export const financeConfirmRefuse = (saleIds) => {
|
||||||
|
return request({
|
||||||
|
method: 'post',
|
||||||
|
url: '/bussiness/salemain/financeConfirmRefuse',
|
||||||
|
params: {
|
||||||
|
saleIds: saleIds
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 财务审批
|
||||||
|
export const financeConfirm = (saleIds) => {
|
||||||
|
return request({
|
||||||
|
method: 'post',
|
||||||
|
url: '/bussiness/salemain/financeConfirm',
|
||||||
|
params: {
|
||||||
|
saleIds: saleIds
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@
|
|||||||
<uni-load-more
|
<uni-load-more
|
||||||
:contentText="{
|
:contentText="{
|
||||||
contentrefresh: 'loading...',
|
contentrefresh: 'loading...',
|
||||||
|
contentnomore: '暂无数据'
|
||||||
}"
|
}"
|
||||||
:status="'loading'"
|
:status="'loading'"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -58,7 +58,7 @@ defineOptions({
|
|||||||
const {proxy} = getCurrentInstance()
|
const {proxy} = getCurrentInstance()
|
||||||
const props = defineProps(['items'])
|
const props = defineProps(['items'])
|
||||||
const handleDetail = (raw) => {
|
const handleDetail = (raw) => {
|
||||||
proxy.$tab.navigateTo(`/pages/work/FinancialApproval/OrderDetail?id=${raw}`)
|
proxy.$tab.navigateTo(`/pages/work/FinancialApproval/OrderDetail?id=${raw.saleid}`)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -1,488 +1,132 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="order-detail-container">
|
<view>
|
||||||
<!-- <view class="page-title">查看详细信息</view> -->
|
<uni-section
|
||||||
|
:sub-title="queryParams.contractcode"
|
||||||
|
:title="queryParams.user_name"
|
||||||
|
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>{{ queryParams.adddate }}</text>
|
||||||
</uni-col>
|
|
||||||
|
|
||||||
</uni-row>
|
|
||||||
<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-col :span="12">
|
|
||||||
<view class="label">支付方式:{{ contract.ispaynow }}</view>
|
|
||||||
</uni-col>
|
|
||||||
<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 required">*执行月份:</view>
|
|
||||||
<view class="select-container">
|
|
||||||
<uni-data-select
|
|
||||||
v-model="executionMonth"
|
|
||||||
:localdata="monthOptions"
|
|
||||||
popup-class="month-popup"
|
|
||||||
></uni-data-select>
|
|
||||||
</view>
|
</view>
|
||||||
</uni-col>
|
<view class="label">
|
||||||
<uni-col :span="12">
|
<text>支付方式:</text>
|
||||||
<view class="label">折后订单金额:{{ contract.piaokous }}</view>
|
<text>{{ queryParams.ispaynow }}</text>
|
||||||
</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.contractmoney }}</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.contractmoney }}</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>
|
||||||
|
<view class="label">
|
||||||
<!-- 商品信息区域 -->
|
<text>订单金额:</text>
|
||||||
<view class="goods-section">
|
<text>{{ formatPrice(queryParams.contractmoney) }}</text>
|
||||||
<view class="section-title">商品信息</view>
|
|
||||||
|
|
||||||
<view v-if="goodsList.length === 0" class="no-data">
|
|
||||||
暂无商品数据
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>补差金额:</text>
|
||||||
|
<text>{{ formatPrice(queryParams.piaokou) }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</MBCard>
|
||||||
|
|
||||||
<view v-else class="goods-double-column">
|
<uni-section class="mb-10" padding="0 0 5px 10px" title="商品信息"/>
|
||||||
<view
|
|
||||||
v-for="(goods, index) in goodsList"
|
|
||||||
:key="index"
|
<uni-card
|
||||||
class="goods-item"
|
v-for="item in queryParams.goods"
|
||||||
|
:key="item.goodsname"
|
||||||
|
:title="item.goodsname"
|
||||||
>
|
>
|
||||||
<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>
|
||||||
|
<text>{{ formatPrice(item.invoiceprice) }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>小计:</text>
|
||||||
|
<text>{{ formatPrice(item.allmoney) }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>采购数量:</text>
|
||||||
|
<text>{{ item.goodsnum }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>补差:</text>
|
||||||
|
<text>{{ formatPrice(item.piaokou) }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="label">
|
||||||
|
<text>税率:</text>
|
||||||
|
<text>{{ item.piaokou }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-card>
|
||||||
|
|
||||||
|
|
||||||
|
<view style="display: flex;margin: 0 15px;justify-content: space-between;">
|
||||||
|
<uni-tag
|
||||||
|
style="font-size: 20px;line-height: 28px;font-weight: bold;padding: 5px 25px;"
|
||||||
|
text="回退"
|
||||||
|
type="success"
|
||||||
|
@click="handleCallBack"
|
||||||
|
/>
|
||||||
|
<uni-tag
|
||||||
|
style="font-size: 20px;line-height: 28px;font-weight: bold;padding: 5px 25px;"
|
||||||
|
text="审核"
|
||||||
|
type="primary"
|
||||||
|
@click="handleSubmit"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="goods-content">
|
|
||||||
<!-- 件装数和供应参考价在一行 -->
|
|
||||||
<uni-row class="info-row">
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">件装数:{{ goods.packingnum }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.packCount }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">供应参考价:{{ goods.invoiceprice }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.referencePrice }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
|
|
||||||
<!-- 前三月平均数和采购数量在一行 -->
|
|
||||||
<uni-row class="info-row">
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">前三月平均数:{{ goods.mon3 }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.average }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
<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>
|
|
||||||
|
|
||||||
<!-- 税率单独一行 -->
|
|
||||||
<uni-row class="info-row">
|
|
||||||
<uni-col :span="12" class="info-pair">
|
|
||||||
<view class="label">税率:{{ goods.taxrate }}</view>
|
|
||||||
<!-- <view class="value">{{ goods.taxRate }}</view> -->
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="12" class="info-pair empty"></uni-col>
|
|
||||||
</uni-row>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
|
||||||
<view class="action-buttons">
|
|
||||||
<button @click="goBack" class="btn btn-secondary">回退</button>
|
|
||||||
<button @click="review" class="btn btn-primary">审核</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 {onLoad} from '@dcloudio/uni-app'
|
||||||
|
import {businessManagerReviewGoodsList, salemainDetailSWJL} from "../../../api/BusinessApproval";
|
||||||
// 基础信息
|
import MBCard from "../../../components/MB/MBCard.vue";
|
||||||
const contract = ref({})
|
import {formatPrice} from "../../../utils/utils";
|
||||||
|
import UniCard from "../../../uni_modules/uni-card/components/uni-card/uni-card.vue";
|
||||||
const monthOptions = ref([
|
import UniTag from "../../../uni_modules/uni-tag/components/uni-tag/uni-tag.vue";
|
||||||
{ value: 0, text: '本月执行' },
|
import {financeConfirm, financeConfirmRefuse} from "../../../api/Salemain";
|
||||||
{ value: 1, text: '下月执行' }
|
|
||||||
])
|
|
||||||
onMounted(()=>{
|
|
||||||
contract.value = contractData.data[0]
|
|
||||||
console.log(contract.value)
|
|
||||||
goodsList.value = goodsData.data
|
|
||||||
|
|
||||||
|
|
||||||
|
const id = ref('')
|
||||||
|
const queryParams = 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 salemainDetailSWJL({
|
||||||
// 成功提示 (类似 ElMessage.success)
|
id: id.value,
|
||||||
uni.showToast({
|
isThisMonth: 1
|
||||||
title: '回退成功!',
|
})
|
||||||
icon: 'success',
|
queryParams.value = data[0]
|
||||||
duration: 2000
|
|
||||||
});
|
const {data: goods} = await businessManagerReviewGoodsList(id.value)
|
||||||
|
queryParams.value = {
|
||||||
|
...queryParams.value,
|
||||||
|
goods: goods
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const handleCallBack = () => {
|
||||||
|
financeConfirmRefuse(queryParams.value.saleIds)
|
||||||
|
.then(() => {
|
||||||
|
proxy.$modal.msgSuccess('回退成功!');
|
||||||
|
proxy.$tab.navigateTo('/pages/work/FinancialApproval/index')
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const review = () => {
|
const handleSubmit = () => {
|
||||||
console.log("审核操作")
|
financeConfirm(queryParams.value.saleIds)
|
||||||
// 成功提示 (类似 ElMessage.success)
|
.then(() => {
|
||||||
uni.showToast({
|
proxy.$modal.msgSuccess('审批成功!');
|
||||||
title: '审核成功!',
|
proxy.$tab.navigateTo('/pages/work/FinancialApproval/index')
|
||||||
icon: 'success',
|
})
|
||||||
duration: 2000
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
</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