Commit 7b08addd by wuqian

修改工艺价格

parent 357144a4
...@@ -21,6 +21,7 @@ import { ...@@ -21,6 +21,7 @@ import {
ProductionOrder, ProductionOrder,
ShipmentOrderDetailData, ShipmentOrderDetailData,
updatePriceForm, updatePriceForm,
IUpdatePrice,
} from '@/types/api/deliveryNote' } from '@/types/api/deliveryNote'
import { import {
AccountStatementNote, AccountStatementNote,
...@@ -82,7 +83,16 @@ export function reCreateScriptUrlApi(id: number) { ...@@ -82,7 +83,16 @@ export function reCreateScriptUrlApi(id: number) {
}, },
) )
} }
export function apiGetCraftGroup(id?: number | string) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/getCraftGroup',
{
params: {
id,
},
},
)
}
// 打印生产单 // 打印生产单
export function printOrder(ids: number[]) { export function printOrder(ids: number[]) {
return axios.post<never, BaseRespData<never>>( return axios.post<never, BaseRespData<never>>(
...@@ -133,7 +143,27 @@ export function qaFinishedApi(data: InspectionData[]) { ...@@ -133,7 +143,27 @@ export function qaFinishedApi(data: InspectionData[]) {
data, data,
) )
} }
export function apiSetCraftData({
id,
craftTotalPrice,
recNumber,
craftPriceList,
}: {
id: number | undefined
craftTotalPrice: number | undefined
recNumber:string|undefined
craftPriceList: IUpdatePrice[]
}) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/setCraftData',
{
id,
recNumber,
craftTotalPrice,
craftPriceList,
},
)
}
// 发货保存 // 发货保存
export function saveOrder( export function saveOrder(
sumbitSendOutList: ShipmentOrderRes[], sumbitSendOutList: ShipmentOrderRes[],
......
...@@ -12,6 +12,11 @@ export interface DeliveryNoteSearchForm { ...@@ -12,6 +12,11 @@ export interface DeliveryNoteSearchForm {
status?: number | null status?: number | null
} }
export interface IUpdatePrice {
process: string
base_price: string | number
add_price: string | number
}
export interface DeliveryNoteData { export interface DeliveryNoteData {
id: number id: number
billNumber?: string billNumber?: string
...@@ -202,7 +207,10 @@ export interface LogListData { ...@@ -202,7 +207,10 @@ export interface LogListData {
export interface DetailForm { export interface DetailForm {
billNumber?: string billNumber?: string
orderNumber?: string orderNumber?: string
baseSku?: string
shipmentNumber?: string shipmentNumber?: string
process?: string
supplierItemNo?: string
dateRange?: string[] dateRange?: string[]
endTime?: string endTime?: string
startTime?: string startTime?: string
......
...@@ -164,7 +164,7 @@ ...@@ -164,7 +164,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="结算总价(¥)" label="成本总价(¥)"
header-align="center" header-align="center"
prop="product_total_amount" prop="product_total_amount"
width="130" width="130"
...@@ -286,7 +286,7 @@ ...@@ -286,7 +286,7 @@
<el-tabs v-model="tabsValue" @tab-click="tabsClick"> <el-tabs v-model="tabsValue" @tab-click="tabsClick">
<el-tab-pane name="0" label="对账单详情"> <el-tab-pane name="0" label="对账单详情">
<el-form :model="detailForm" inline> <el-form :model="detailForm" inline>
<el-form-item label="发货时间"> <!-- <el-form-item label="发货时间">
<el-date-picker <el-date-picker
v-model="detailForm.dateRange" v-model="detailForm.dateRange"
:default-time="[ :default-time="[
...@@ -302,6 +302,30 @@ ...@@ -302,6 +302,30 @@
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
/> />
</el-form-item> -->
<el-form-item label="底胚">
<el-input
v-model="detailForm.baseSku"
placeholder="请输入底胚"
clearable
style="width: 130px"
/>
</el-form-item>
<el-form-item label="工艺简称">
<el-input
v-model="detailForm.process"
placeholder="请输入工艺简称"
clearable
style="width: 130px"
/>
</el-form-item>
<el-form-item label="供应商货号">
<el-input
v-model="detailForm.supplierItemNo"
placeholder="请输入供应商货号"
clearable
style="width: 130px"
/>
</el-form-item> </el-form-item>
<el-form-item label="发货单号"> <el-form-item label="发货单号">
<el-input <el-input
...@@ -328,6 +352,7 @@ ...@@ -328,6 +352,7 @@
style="width: 130px" style="width: 130px"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="searchDetail" <el-button type="primary" @click="searchDetail"
>查询 >查询
...@@ -338,14 +363,14 @@ ...@@ -338,14 +363,14 @@
v-if="[0, 1].some((id) => id === Number(nodeId))" v-if="[0, 1].some((id) => id === Number(nodeId))"
type="primary" type="primary"
@click="priceModification(1)" @click="priceModification(1)"
>修改工厂结算价格 >修改成本价格
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
v-if="[0, 1].some((id) => id === Number(nodeId))" v-if="[0, 1].some((id) => id === Number(nodeId))"
type="warning" type="warning"
@click="priceModification(3)" @click="modifyProcessPrices"
>修改工艺价格 >修改工艺价格
</el-button> </el-button>
</el-form-item> </el-form-item>
...@@ -412,7 +437,7 @@ ...@@ -412,7 +437,7 @@
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="baseSKU" label="底胚"
prop="base_sku" prop="base_sku"
header-align="center" header-align="center"
align="center" align="center"
...@@ -428,7 +453,7 @@ ...@@ -428,7 +453,7 @@
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="结算单价(¥)" label="成本单价(¥)"
prop="cost_price" prop="cost_price"
header-align="center" header-align="center"
align="center" align="center"
...@@ -500,14 +525,6 @@ ...@@ -500,14 +525,6 @@
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="baseSKU"
prop="base_sku"
header-align="center"
align="center"
min-width="160"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="变体SKU" label="变体SKU"
prop="variant_sku" prop="variant_sku"
header-align="center" header-align="center"
...@@ -649,14 +666,14 @@ ...@@ -649,14 +666,14 @@
min-width="180" min-width="180"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <!-- <el-table-column
label="更新时间" label="更新时间"
prop="update_time" prop="update_time"
header-align="center" header-align="center"
align="center" align="center"
min-width="180" min-width="180"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column> -->
</ElTable> </ElTable>
</div> </div>
...@@ -796,7 +813,7 @@ ...@@ -796,7 +813,7 @@
{{ currentRow?.end_time }} {{ currentRow?.end_time }}
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
结算总价() {{ currentRow?.product_total_amount }} 成本总价() {{ currentRow?.product_total_amount }}
</el-col> </el-col>
</el-row> </el-row>
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
...@@ -846,6 +863,47 @@ ...@@ -846,6 +863,47 @@
</span> </span>
</template> </template>
</ElDialog> </ElDialog>
<el-dialog
v-model="processPriceDialogVisible"
title="修改工艺价格"
width="50%"
:close-on-click-modal="false"
>
<el-table :data="craftPriceList" border style="width: 100%" height="330px">
<el-table-column
prop="process"
label="工艺简称"
width="260"
align="center"
/>
<el-table-column prop="base_price" label="基础价格(¥)" align="center">
<template #default="scope">
<el-input
v-model="scope.row.base_price"
placeholder="请输入基础价格"
clearable
oninput="value=value.replace(/[^\-?\d.]/g,'')"
style="width: 100%"
/>
</template>
</el-table-column>
<el-table-column prop="add_price" label="加价(¥)" align="center">
<template #default="scope">
<el-input
v-model="scope.row.add_price"
placeholder="请输入加价"
clearable
oninput="value=value.replace(/[^\-?\d.]/g,'')"
style="width: 100%"
/>
</template>
</el-table-column>
</el-table>
<template #footer>
<el-button @click="processPriceDialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitPodPrice">确定</el-button>
</template>
</el-dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
...@@ -867,6 +925,8 @@ import { ...@@ -867,6 +925,8 @@ import {
podReconciliation, podReconciliation,
podReconciliationList, podReconciliationList,
updateRecPrice, updateRecPrice,
apiGetCraftGroup,
apiSetCraftData,
} from '@/api/order' } from '@/api/order'
import { nextTick, onMounted, ref, watch } from 'vue' import { nextTick, onMounted, ref, watch } from 'vue'
...@@ -877,7 +937,7 @@ import { ...@@ -877,7 +937,7 @@ import {
CountStatus, CountStatus,
ItemList, ItemList,
} from '@/types/api/billOrder' } from '@/types/api/billOrder'
import { DetailForm, LogListData } from '@/types/api/deliveryNote' import { DetailForm, LogListData, IUpdatePrice } from '@/types/api/deliveryNote'
import ImageView from '@/components/ImageView.vue' import ImageView from '@/components/ImageView.vue'
// import { showConfirm } from '@/utils/ui' // import { showConfirm } from '@/utils/ui'
import { uploadImageApi } from '@/api/common' import { uploadImageApi } from '@/api/common'
...@@ -1116,6 +1176,42 @@ const computedPrice = (row: AccountStatementNote) => { ...@@ -1116,6 +1176,42 @@ const computedPrice = (row: AccountStatementNote) => {
.plus(new BigNumber(row.craft_total_amount || 0)) .plus(new BigNumber(row.craft_total_amount || 0))
.toString() .toString()
} }
const craftPriceList = ref<IUpdatePrice[]>([])
const processPriceDialogVisible = ref(false)
const modifyProcessPrices = async () => {
const res = await apiGetCraftGroup(currentRow.value?.id)
const result = (res.data as string[]).map((item) => ({
process: item,
base_price: '',
add_price: '',
}))
craftPriceList.value = result || []
processPriceDialogVisible.value = true
}
const submitPodPrice = async () => {
const filteredList = craftPriceList.value.filter(
(item: IUpdatePrice) => item.base_price && item.add_price,
)
if (filteredList.length > 0) {
try {
const res = await apiSetCraftData({
id: currentRow.value?.id,
craftTotalPrice:currentRow.value?.craft_total_amount,
recNumber: currentRow.value?.rec_number,
craftPriceList: filteredList,
})
if (res.code !== 200) return
ElMessage.success('修改成功')
processPriceDialogVisible.value = false
search()
await getTreeNum()
} catch (error) {
console.error(error)
}
} else {
ElMessage.error('至少提交一条数据')
}
}
const toUpload = () => { const toUpload = () => {
const input = document.createElement('input') const input = document.createElement('input')
input.style.display = 'none' input.style.display = 'none'
...@@ -1295,8 +1391,8 @@ const searchDetail = async () => { ...@@ -1295,8 +1391,8 @@ const searchDetail = async () => {
try { try {
const res = await getPodShipmentDetailsById({ const res = await getPodShipmentDetailsById({
...detailForm.value, ...detailForm.value,
startTime: detailForm.value.dateRange && detailForm.value.dateRange[0], // startTime: detailForm.value.dateRange && detailForm.value.dateRange[0],
endTime: detailForm.value.dateRange && detailForm.value.dateRange[1], // endTime: detailForm.value.dateRange && detailForm.value.dateRange[1],
page: detailPager.value.page, page: detailPager.value.page,
rows: detailPager.value.rows, rows: detailPager.value.rows,
infoId: currentRow.value?.id, infoId: currentRow.value?.id,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment