Commit 10234fd5e35a5b477cce83f9e00b2756d2572d7f
1 parent
de51894f
fix: 修改了业务研发净利润分析表
Showing
3 changed files
with
89 additions
and
55 deletions
src/views/project/approve/ReceivePanel.vue
... | ... | @@ -104,7 +104,7 @@ |
104 | 104 | </tr> |
105 | 105 | </tbody> |
106 | 106 | </table> |
107 | - <a v-if="showInvoice" @click="openPic(mockData.deductUrl)" rel="noopener noreferrer">{{ | |
107 | + <a v-if="showInvoice" @click="openPic(mockData.deductUrl?mockData.deductUrl:mockData.bgUrl)" rel="noopener noreferrer">{{ | |
108 | 108 | mockData.invoiceName |
109 | 109 | }}</a> |
110 | 110 | <template #appendFooter> |
... | ... | @@ -212,7 +212,12 @@ |
212 | 212 | width: 150, |
213 | 213 | customRender: (column) => { |
214 | 214 | const { record } = column || {}; |
215 | - return record?.fieldInfos?.checkBillOrderDO?.financePerson; | |
215 | + if(record?.type === 31){ | |
216 | + return record.createBy; | |
217 | + }else{ | |
218 | + return record?.fieldInfos?.checkBillOrderDO?.financePerson; | |
219 | + } | |
220 | + | |
216 | 221 | }, |
217 | 222 | }, |
218 | 223 | { |
... | ... | @@ -221,7 +226,7 @@ |
221 | 226 | width: 150, |
222 | 227 | customRender: (column) => { |
223 | 228 | const { record } = column || {}; |
224 | - if(record?.type === 30){ | |
229 | + if(record?.type === 30 || record?.type === 31){ | |
225 | 230 | return record?.fieldInfos?.invoiceFieldVO?.invoiceNo; |
226 | 231 | }else if(record?.type === 60){ |
227 | 232 | return record?.fieldInfos?.deductionUrlFieldVO?.invoiceNo; |
... | ... | @@ -235,7 +240,7 @@ |
235 | 240 | width: 150, |
236 | 241 | customRender: (column) => { |
237 | 242 | const { record } = column || {}; |
238 | - if(record?.type === 30){ | |
243 | + if(record?.type === 30 || record?.type === 31){ | |
239 | 244 | const extractedValues = ref<string[]>( |
240 | 245 | record?.fieldInfos?.invoiceFieldVO?.innerNo?.map((item) => item), |
241 | 246 | ); |
... | ... | @@ -254,7 +259,9 @@ |
254 | 259 | const { record } = column || {}; |
255 | 260 | if (record?.type === 30) { |
256 | 261 | return '应收账单申请'; |
257 | - } else if (record?.type == 60) { | |
262 | + } else if (record?.type == 31) { | |
263 | + return `Invoice创建申请`; | |
264 | + }else if (record?.type == 60) { | |
258 | 265 | return `Invoice扣款单申请${record?.fieldInfos?.deductionUrlFieldVO?.deductAmount ? `(¥${record?.fieldInfos?.deductionUrlFieldVO?.deductAmount?.toFixed(2)})` : ''}`; |
259 | 266 | } |
260 | 267 | }, |
... | ... | @@ -328,6 +335,7 @@ |
328 | 335 | function handleProfitModal() {} |
329 | 336 | // 打开图片或 PDF |
330 | 337 | function openPic(url: string) { |
338 | + console.log(url,'测试11111111111'); | |
331 | 339 | const baseUrl = url.split('?')[0]; |
332 | 340 | if (isImageUrl(baseUrl)) { |
333 | 341 | window.open('', '', '').document.write(`<!DOCTYPE html> |
... | ... | @@ -347,6 +355,9 @@ |
347 | 355 | if(data.type == 60){ |
348 | 356 | showInvoice.value = true; |
349 | 357 | mockData.value = data.fieldInfos.deductionUrlFieldVO; |
358 | + }else if (data.type == 31){ | |
359 | + showInvoice.value=true; | |
360 | + mockData.value=data.fieldInfos.invoiceFieldVO; | |
350 | 361 | }else if(data.type == 30){ |
351 | 362 | showInvoice.value=false; |
352 | 363 | mockData.value=data.fieldInfos.invoiceFieldVO; |
... | ... | @@ -365,13 +376,25 @@ |
365 | 376 | otherAmount.value = mockData.value.otherAmount?.toFixed(2); |
366 | 377 | invoiceNo.value = mockData.value.invoiceNo; |
367 | 378 | payee.value = mockData.value.payee; |
379 | + if(mockData.value?.deductUrl){ | |
368 | 380 | const match = mockData.value?.deductUrl?.match(/aliyuncs\.com\/(.*?)\?/); |
369 | 381 | if (match && match[1]) { |
370 | 382 | // 对提取的部分进行解码 |
383 | + console.log(match,'我是111'); | |
371 | 384 | mockData.value.invoiceName = decodeURIComponent(match[1]); |
372 | 385 | } else { |
373 | 386 | mockData.value.invoiceName = mockData.value?.deductUrl; |
374 | 387 | } |
388 | + }else if(mockData.value?.bgUrl){ | |
389 | + const match = mockData.value?.bgUrl?.match(/aliyuncs\.com\/(.*?)\?/); | |
390 | + if (match && match[1]) { | |
391 | + // 对提取的部分进行解码 | |
392 | + console.log(match,'我是222'); | |
393 | + mockData.value.invoiceName = decodeURIComponent(match[1]); | |
394 | + } else { | |
395 | + mockData.value.invoiceName = mockData.value?.deductUrl; | |
396 | + } | |
397 | + } | |
375 | 398 | } |
376 | 399 | |
377 | 400 | async function handleTrue() { | ... | ... |
src/views/project/finance/financeProfit/ServiceProfit/ServiceProfit/data.tsx
... | ... | @@ -272,54 +272,54 @@ export const COLUMNS = [ |
272 | 272 | return column.record?.developmentProfitRate?.toFixed(2); |
273 | 273 | }, |
274 | 274 | }, |
275 | - { | |
276 | - title: '包装费用合计¥', | |
277 | - dataIndex: 'packetRmbTotalPrice', | |
278 | - width: 150, | |
279 | - customRender: (column) => { | |
280 | - return column.record?.packetRmbTotalPrice?.toFixed(2); | |
281 | - }, | |
282 | - }, | |
283 | - { | |
284 | - title: '包装费用实际金额¥', | |
285 | - dataIndex: 'packetActualRmbTotalPrice', | |
286 | - width: 160, | |
287 | - customRender: (column) => { | |
288 | - return column.record?.packetActualRmbTotalPrice?.toFixed(2); | |
289 | - }, | |
290 | - }, | |
291 | - { | |
292 | - title: '实际跟单单价¥', | |
293 | - dataIndex: 'actualOrderRmbPrice', | |
294 | - width: 160, | |
295 | - customRender: (column) => { | |
296 | - return column.record?.actualOrderRmbPrice?.toFixed(2); | |
297 | - }, | |
298 | - }, | |
299 | - { | |
300 | - title: '实际跟单单价折算美金¥', | |
301 | - dataIndex: 'actualOrderPrice', | |
302 | - width: 190, | |
303 | - customRender: (column) => { | |
304 | - return column.record?.actualOrderPrice?.toFixed(2); | |
305 | - }, | |
306 | - }, | |
307 | - { | |
308 | - title: '包装费用收益¥', | |
309 | - dataIndex: 'packetProfitRmbPrice', | |
310 | - width: 150, | |
311 | - customRender: (column) => { | |
312 | - return column.record?.packetProfitRmbPrice?.toFixed(2); | |
313 | - }, | |
314 | - }, | |
315 | - { | |
316 | - title: '综合收益¥', | |
317 | - dataIndex: 'comprehensiveProfit', | |
318 | - width: 120, | |
319 | - customRender: (column) => { | |
320 | - return column.record?.comprehensiveProfit?.toFixed(2); | |
321 | - }, | |
322 | - }, | |
275 | + // { | |
276 | + // title: '包装费用合计¥', | |
277 | + // dataIndex: 'packetRmbTotalPrice', | |
278 | + // width: 150, | |
279 | + // customRender: (column) => { | |
280 | + // return column.record?.packetRmbTotalPrice?.toFixed(2); | |
281 | + // }, | |
282 | + // }, | |
283 | + // { | |
284 | + // title: '包装费用实际金额¥', | |
285 | + // dataIndex: 'packetActualRmbTotalPrice', | |
286 | + // width: 160, | |
287 | + // customRender: (column) => { | |
288 | + // return column.record?.packetActualRmbTotalPrice?.toFixed(2); | |
289 | + // }, | |
290 | + // }, | |
291 | + // { | |
292 | + // title: '实际跟单单价¥', | |
293 | + // dataIndex: 'actualOrderRmbPrice', | |
294 | + // width: 160, | |
295 | + // customRender: (column) => { | |
296 | + // return column.record?.actualOrderRmbPrice?.toFixed(2); | |
297 | + // }, | |
298 | + // }, | |
299 | + // { | |
300 | + // title: '实际跟单单价折算美金¥', | |
301 | + // dataIndex: 'actualOrderPrice', | |
302 | + // width: 190, | |
303 | + // customRender: (column) => { | |
304 | + // return column.record?.actualOrderPrice?.toFixed(2); | |
305 | + // }, | |
306 | + // }, | |
307 | + // { | |
308 | + // title: '包装费用收益¥', | |
309 | + // dataIndex: 'packetProfitRmbPrice', | |
310 | + // width: 150, | |
311 | + // customRender: (column) => { | |
312 | + // return column.record?.packetProfitRmbPrice?.toFixed(2); | |
313 | + // }, | |
314 | + // }, | |
315 | + // { | |
316 | + // title: '综合收益¥', | |
317 | + // dataIndex: 'comprehensiveProfit', | |
318 | + // width: 120, | |
319 | + // customRender: (column) => { | |
320 | + // return column.record?.comprehensiveProfit?.toFixed(2); | |
321 | + // }, | |
322 | + // }, | |
323 | 323 | { |
324 | 324 | title: '文件', |
325 | 325 | dataIndex: 'fileUrl', | ... | ... |
src/views/project/order/InvoiceCreate.vue
... | ... | @@ -9,10 +9,10 @@ |
9 | 9 | @visible-change="handleShow" |
10 | 10 | > |
11 | 11 | <div> |
12 | - <div style="font-size: 15px">Invoice编号</div> | |
12 | + <div style="font-size: 15px"><span style="color: red">*</span>Invoice编号</div> | |
13 | 13 | <a-textarea v-model:value="Input1" placeholder="请输入" auto-size /> |
14 | 14 | <div style="margin: 16px 0"></div> |
15 | - <div>报关单(请上传PDF格式)</div | |
15 | + <div><span style="color: red">*</span>报关单(请上传PDF格式)</div | |
16 | 16 | ><a-space direction="vertical" style="width: 100%" size="large"> |
17 | 17 | <a-upload |
18 | 18 | v-model:file-list="fileList" |
... | ... | @@ -59,6 +59,17 @@ |
59 | 59 | error('请勿连续点击生成按钮,需要等待三秒再点击生成'); |
60 | 60 | return; |
61 | 61 | } |
62 | + // 校验必填项 | |
63 | + if (!Input1.value.trim()) { | |
64 | + error('请填写Invoice编号'); | |
65 | + isDisabled.value = false; | |
66 | + return; | |
67 | + } | |
68 | + if (!bgUrl.value) { | |
69 | + error('请上传报关单(PDF)'); | |
70 | + isDisabled.value = false; | |
71 | + return; | |
72 | + } | |
62 | 73 | isDisabled.value = true; |
63 | 74 | setTimeout(() => { |
64 | 75 | isDisabled.value = false; | ... | ... |