yyw提交

This commit is contained in:
DESKTOP-8FGKA8Q\chunfen 2025-09-29 18:36:53 +08:00
parent 4b07fbf2fb
commit a2ebba711f
10 changed files with 125 additions and 99 deletions

View File

@ -66,14 +66,14 @@
<div class="huibox">
<div>
打款前总实际订单金额{{itemInfo.total_amount}}
总实际已支付金额{{itemInfo.has_paid_amount}}
总实际未支付金额{{ ((itemInfo.total_amount * 100 - itemInfo.has_paid_amount * 100) / 100).toFixed(2) }}
打款前总实际订单金额<span>{{itemInfo.total_amount}}</span>
总实际已支付金额<span>{{itemInfo.has_paid_amount}}</span>
总实际未支付金额<span>{{ ((itemInfo.total_amount * 100 - itemInfo.has_paid_amount * 100) / 100).toFixed(2) }}</span>
</div>
<div>
打款后总实际订单金额{{real_total_amount}}
总实际已支付金额{{ ((itemInfo.has_paid_amount * 100 + total_amount * 100) / 100).toFixed(2) }}
总实际未支付金额{{ ((real_total_amount * 100 - itemInfo.has_paid_amount * 100 - total_amount * 100) / 100).toFixed(2) }}
打款后总实际订单金额<span>{{real_total_amount}}</span>
总实际已支付金额<span>{{ ((itemInfo.has_paid_amount * 100 + total_amount * 100) / 100).toFixed(2) }}</span>
总实际未支付金额<span>{{ ((real_total_amount * 100 - itemInfo.has_paid_amount * 100 - total_amount * 100) / 100).toFixed(2) }}</span>
</div>
</div>
</div>
@ -295,5 +295,9 @@ export default {
padding: 15px;
line-height: 30px;
border-left: 3px solid #3c8dbc;
span{
font-weight: 600;
color: #f00;
}
}
</style>

View File

@ -16,7 +16,7 @@
<el-option v-for="it in supplierList" :key="it.id" :label="it.supplier_name" :value="it.id" />
</el-select>
</el-form-item>
<template v-if="Type == 1">
<!-- <template v-if="Type == 1">
<el-form-item label="商品信息:">
<el-table :data="itemInfo.products" style="width: 100%;margin-top: 15px;" border>
<el-table-column label="商品名称" prop="goods.title" />
@ -57,7 +57,7 @@
</el-table-column>
</el-table>
</el-form-item>
</template>
</template> -->
<div v-for="(item, index) in logsList" :key="item.id">
<div v-if="item.extend && item.extend.purchaseOrder">
@ -150,14 +150,14 @@
<div style="padding: 20px 0;color: #f00;">合计申请打款金额{{item.amount}}</div>
<div class="huibox">
<div>
打款前总实际订单金额{{item.extend.before_amount}}
总实际已支付金额{{item.extend.purchaseOrder.has_paid_amount}}
总实际未支付金额{{ ((item.extend.before_amount * 100 - item.extend.purchaseOrder.has_paid_amount * 100) / 100).toFixed(2) }}
打款前总实际订单金额<span>{{item.extend.before_amount}}</span>
总实际已支付金额<span>{{item.extend.purchaseOrder.has_paid_amount}}</span>
总实际未支付金额<span>{{ ((item.extend.before_amount * 100 - item.extend.purchaseOrder.has_paid_amount * 100) / 100).toFixed(2) }}</span>
</div>
<div>
打款后总实际订单金额{{item.extend.purchaseOrder.total_amount}}
总实际已支付金额{{ ((item.extend.purchaseOrder.has_paid_amount * 100 + item.amount * 100) / 100).toFixed(2) }}
总实际未支付金额{{ ((item.extend.purchaseOrder.total_amount * 100 - item.extend.purchaseOrder.has_paid_amount * 100 - item.amount * 100) / 100).toFixed(2) }}
打款后总实际订单金额<span>{{item.extend.purchaseOrder.total_amount}}</span>
总实际已支付金额<span>{{ ((item.extend.purchaseOrder.has_paid_amount * 100 + item.amount * 100) / 100).toFixed(2) }}</span>
总实际未支付金额<span>{{ ((item.extend.purchaseOrder.total_amount * 100 - item.extend.purchaseOrder.has_paid_amount * 100 - item.amount * 100) / 100).toFixed(2) }}</span>
</div>
</div>
</template>
@ -396,6 +396,16 @@ export default {
padding: 15px;
line-height: 30px;
margin-bottom: 20px;
span{
font-weight: 600;
color: #f00;
}
}
.sumbox{
span{
font-weight: 600;
color: #f00;
}
}
.blue{
color: #1989fa;

View File

@ -202,6 +202,7 @@ import { DeleteFilled, Search } from "@element-plus/icons"
import { reactive, toRefs, watch } from 'vue'
import { get, post } from '@/api/request'
import { ElMessage, ElMessageBox } from 'element-plus'
import { useStore } from 'vuex'
export default {
components: { DeleteFilled, Search },
@ -322,12 +323,20 @@ export default {
ElMessage({ type: 'success', message: '操作成功' })
closeDialog()
context.emit('refresh')
getWaitNum()
data.btnloading = false
}).catch(() => {
data.btnloading = false
})
}
const $store = useStore()
const getWaitNum = () => {
get(`/api/board/waitToBeDone`).then((res) => {
$store.dispatch('setWaitNum', res.waitApproval)
})
}
function clearForm() {
data.itemInfo = {}
data.feesList = []
@ -510,7 +519,8 @@ export default {
removeFee,
openGoods,
blurInput,
getSumData
getSumData,
getWaitNum
}
}
}

View File

@ -2,79 +2,16 @@ import { createStore } from 'vuex'
export default createStore({
state: {
msgNum: 0,
orderNum: 0,
noticeNum: 0,
workNum: 0,
tousuNum: 0,
annNum: 0,
orderType: '',
orderId: '',
workId: '',
msgDialog: false
watiNum: 0
},
mutations: {
SET_MSGNUM: (state, num) => {
state.msgNum = num
},
SET_ORDERNUM: (state, num) => {
state.orderNum = num
},
SET_NOTICENUM: (state, num) => {
state.noticeNum = num
},
SET_WORKNUM: (state, num) => {
state.workNum = num
},
SET_TOUSUNUM: (state, num) => {
state.tousuNum = num
},
SET_ORDERTYPE: (state, val) => {
state.orderType = val
},
SET_ORDERID: (state, val) => {
state.orderId = val
},
SET_WORKID: (state, val) => {
state.workId = val
},
SET_MSGDIALOG: (state, flag) => {
state.msgDialog = flag
},
SET_ANNNUM: (state, num) => {
state.annNum = num
},
SET_WAITNUM: (state, num) => {
state.watiNum = num
}
},
actions: {
setMsgNum({ commit }, num) {
commit('SET_MSGNUM', num)
},
setOrderNum({ commit }, num) {
commit('SET_ORDERNUM', num)
},
setNoticeNum({ commit }, num) {
commit('SET_NOTICENUM', num)
},
setWorkNum({ commit }, num) {
commit('SET_WORKNUM', num)
},
setTousuNum({ commit }, num) {
commit('SET_TOUSUNUM', num)
},
setOrderType({ commit }, val) {
commit('SET_ORDERTYPE', val)
},
setOrderId({ commit }, val) {
commit('SET_ORDERID', val)
},
setWorkId({ commit }, val) {
commit('SET_WORKID', val)
},
setMsgDialog({ commit }, flag) {
commit('SET_MSGDIALOG', flag)
},
setAnnNum({ commit }, num) {
commit('SET_ANNNUM', num)
setWaitNum({ commit }, num) {
commit('SET_WAITNUM', num)
}
},
modules: {

View File

@ -13,13 +13,11 @@ import { get } from "@/api/request"
export default {
setup() {
const data = reactive({
numTotal: {}
numTotal: 0
})
const fetchData = () => {
// get(`/api/admin/home`).then((res) => {
// data.numTotal = res.data
// })
}
onMounted(() => {

View File

@ -75,6 +75,7 @@
import { useRouter } from 'vue-router'
import { get, post } from "@/api/request"
import { ElMessage } from 'element-plus'
import { useStore } from 'vuex'
export default {
components: {
@ -160,14 +161,23 @@
})
}
const $store = useStore()
const getWaitNum = () => {
get(`/api/board/waitToBeDone`).then((res) => {
$store.dispatch('setWaitNum', res.waitApproval)
})
}
onMounted(async () => {
data.menuData = JSON.parse(localStorage.getItem('menusList'))
getWaitNum()
})
return {
...toRefs(data),
handleCommand,
commitModify
commitModify,
getWaitNum
}
}
}

View File

@ -4,7 +4,10 @@
<div class="icon" v-if="menu.parent_id == 0">
<img v-if="menu.icon" :src="menu.icon">
</div>
<template #title><span :class="menu.parent_id == 0 ? 'span' : ''">{{menu.title}}</span></template>
<template #title>
<span :class="menu.parent_id == 0 ? 'span' : ''">{{menu.title}}</span>
<span class="tag" v-if="menu.uri == '/purchase/waitapproval'">{{ watiNum }}</span>
</template>
</el-menu-item>
<el-sub-menu :index="menu.uri" v-else popper-class="popper-meun">
<template #title>
@ -19,12 +22,30 @@
</template>
<script>
import { reactive, toRefs, watch, onMounted } from 'vue'
import { useStore } from 'vuex'
export default {
props: {
menuData: Array
},
setup() {
return {}
const data = reactive({
watiNum: 0
})
const $store = useStore()
watch(() => $store.state.watiNum, (val, old) => {
data.watiNum = val
})
onMounted(() => {
data.watiNum = $store.state.watiNum
})
return {
...toRefs(data)
}
}
}
</script>
@ -55,4 +76,14 @@ export default {
position: relative;
z-index: 10;
}
.tag{
background-color: #f00;
padding: 2px 4px;
line-height: normal;
color: #fff;
position: relative;
border-radius: 5px;
font-size: 12px;
margin: -9px 0 0 2px;
}
</style>

View File

@ -5,6 +5,14 @@
<span class="span">ID</span>
<div class="right"><el-input v-model="filter.id" class="wid100" clearable></el-input></div>
</div>
<div class="row">
<span class="span">商品名称</span>
<div class="right">
<el-select v-model="filter.product_id" placeholder="请选择" clearable filterable class="wid100">
<el-option v-for="it in goodskuList" :key="it.id" :label="it.title" :value="it.id" />
</el-select>
</div>
</div>
<div class="row">
<span class="span">供应商名称</span>
<div class="right">
@ -233,9 +241,16 @@ export default {
allGoodsList: [],
curId: 0,
current_instance_id: 0,
showDetail: false
showDetail: false,
goodskuList: [],
})
function getGoodskuList() {
get(`/api/all/goods`).then((res) => {
data.goodskuList = res.data
})
}
function handleSearch() {
data.page = 1
fetchData()
@ -347,6 +362,7 @@ export default {
getWarehouseList()
getSuppliersList()
getAllGoodsList()
getGoodskuList()
})
return {
@ -366,7 +382,8 @@ export default {
toBalancePayment,
openLogs,
toInvoice,
handleView
handleView,
getGoodskuList
}
}
}

View File

@ -57,9 +57,9 @@
<el-form-item label="开户银行支行名称:">
<el-input v-model="itemInfo.bank_name" clearable placeholder="请输入银行开户名"></el-input>
</el-form-item>
<el-form-item label="开户银行所在地地址:">
<!-- <el-form-item label="开户银行所在地地址:">
<el-input v-model="itemInfo.bank_address" clearable placeholder="请输入开户银行所在地地址"></el-input>
</el-form-item>
</el-form-item> -->
</el-form>
<template #footer>

View File

@ -36,9 +36,9 @@
</div>
<el-card shadow="never">
<div class="opaBox">
<!-- <div class="opaBox">
<el-button type="primary" @click="showAdd = true"><el-icon><Plus /></el-icon>&nbsp;新增</el-button>
</div>
</div> -->
<el-table :data="tableData" style="width: 100%" border v-loading="loading">
<el-table-column prop="id" label="ID" width="80" align="center" />
<el-table-column prop="purchase_order_id" label="采购单ID" width="100" align="center" />
@ -123,7 +123,7 @@ import { get, post } from "@/api/request"
import { Search, Plus, Edit, ZoomIn, Delete, Stamp } from '@element-plus/icons'
import { ElMessage } from 'element-plus'
import approvalDetail from '@/components/approval/detail.vue'
import { useStore } from 'vuex'
export default {
components: {
Search, Plus, Edit, ZoomIn, Delete, Stamp, approvalDetail
@ -210,6 +210,14 @@ export default {
ElMessage.success('审批成功')
data.showDialog = false
fetchData()
getWaitNum()
})
}
const $store = useStore()
const getWaitNum = () => {
get(`/api/board/waitToBeDone`).then((res) => {
$store.dispatch('setWaitNum', res.waitApproval)
})
}
@ -224,7 +232,8 @@ export default {
handleSizeChange,
fetchData,
toApproval,
commitApproval
commitApproval,
getWaitNum
}
}
}