181 lines
5.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<uni-drawer ref="drawerContainerRef" :width="width" mode="right">
<uni-nav-bar
:border="false"
:fixed="true"
left-icon="left"
status-bar
title="价格审核"
@clickLeft="hideDrawer"
/>
<view class="padding">
<uni-section :subTitle="queryParams.cbusinessname.toString()" title="商业公司名称:" type="line"/>
<uni-section :subTitle="queryParams.goodsName" title="商品:" type="line"/>
<uni-section :subTitle="queryParams.warehouseName" title="发货仓库:" type="line"/>
<uni-section :subTitle="queryParams.execDate" title="新价格执行日期:" type="line"/>
<uni-section :subTitle="`${queryParams.checkPrice} - 原考核价(元,含税)${queryParams.oldCheckPrice ?? 0}`"
title="考核价(元,含税):" type="line"/>
<uni-section
:subTitle="`${queryParams.invoicePrice} - 原销售价(元,含税)${queryParams.oldInvoicePrice ?? 0}`"
title="销售价(元,含税):" type="line"/>
<uni-section :subTitle="`${queryParams.middlePrice} - 原中标价(元,含税)${queryParams.oldMiddlePrice ?? 0}`"
title="中标价(元,含税):" type="line"/>
<uni-section :subTitle="queryParams.taxRate.toString()" title="税率:" type="line"/>
<uni-section :subTitle="queryParams.taxLessPrice.toString()" title="销售价(元,无税):" type="line"/>
<uni-section :subTitle="queryParams.remark" title="备注:" type="line"/>
<uni-section class="margin-bottom" title="上传审核附件:" type="line">
<uni-file-picker ref="uploadFile" file-mediatype="all" limit="1" @select="handleSelect"/>
</uni-section>
<uni-section class="margin-bottom" title="回退原因:" type="line">
<uni-easyinput v-model="queryParams.backReasonCredit" placeholder="请输入回退内容"/>
</uni-section>
<view class="flex">
<button class="mini-btn" size="mini" type="primary" @click="handleBack">回退</button>
<button class="mini-btn" size="mini" type="default" @click="handleSubmit">额度终审</button>
</view>
</view>
</uni-drawer>
</template>
<script setup>
import {defineEmits, defineExpose, defineOptions, ref} from 'vue'
import {directorLastReviewPrice, putBackDataLastPrice} from "../../../../../api/AccountPriceFinallReview";
import config from "../../../../../config";
import {getToken} from "../../../../../utils/auth";
defineOptions({
name: 'PriceFinalReview'
})
const emit = defineEmits(['refresh'])
const width = ref(document.documentElement.clientWidth || document.body.clientWidth)
const queryParams = ref({})
const drawerContainerRef = ref()
const uploadFile = ref()
const openDrawer = (data) => {
drawerContainerRef.value.open()
queryParams.value = {
...data,
cbusinessname: data.userName
}
}
defineExpose({openDrawer})
const hideDrawer = () => {
drawerContainerRef.value.close()
}
const handleBack = () => {
if (!queryParams.value.backReasonCredit) {
return uni.showToast({
title: '请填写回退内容',
icon: 'none',
})
}
uni.showModal({
title: '提示',
content: '您确定是否要回退记录?',
success: async function (res) {
if (res.confirm) {
uni.showLoading({
title: '加载中'
});
await putBackDataLastPrice({
backReasonCredit: queryParams.value.backReasonCredit,
businessGoodsHistId: queryParams.value.businessGoodsHistId,
});
uni.showToast({
title: '操作成功',
icon: 'none',
duration: 2000
});
uni.hideLoading()
hideDrawer()
emit('refresh')
}
}
})
}
const handleSubmit = () => {
uni.showModal({
title: '提示',
content: '您确认要进行审核通过吗?',
success: async function (res) {
if (res.confirm) {
uni.showLoading({
title: '加载中'
});
await directorLastReviewPrice({
businessGoodsHistId: queryParams.value.businessGoodsHistId,
execDate:queryParams.value.execDate,
urlFilePath:queryParams.value.urlFilePath
})
uni.showToast({
title: '操作成功',
icon: 'none',
duration: 2000
});
uni.hideLoading()
hideDrawer()
emit('refresh')
}
}
})
}
const handleSelect = (files) => {
const {tempFilePaths, tempFiles} = files
console.log(tempFiles)
uni.uploadFile({
header: {
Authorization: "Bearer " + getToken()
},
url: `${config.baseUrl}/common/uploadSecurityFileByType?uploadType=jiageshenqingfujian`, // 上传图片的接口
filePath: tempFilePaths[0],
formData: {
name: 'file'
},
success: async (uploadFileRes) => {
const content = JSON.parse(uploadFileRes.data)
console.log(uploadFileRes)
if(content.code === 200){
queryParams.value.urlFilePath = content.fileName
}else {
uni.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
});
uploadFile.value.clearFiles(0)
}
}
})
}
</script>