181 lines
5.8 KiB
Vue
Raw Permalink Normal View History

<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>