diff --git a/src/components/CostEntry/feeTable.vue b/src/components/CostEntry/feeTable.vue
index ae0b9b7f..d6cefb88 100644
--- a/src/components/CostEntry/feeTable.vue
+++ b/src/components/CostEntry/feeTable.vue
@@ -82,6 +82,8 @@
type: String,
default: '',
},
+ // 业务数据
+ details: { type: [Object, Array] }
})
const emits = defineEmits(['broInsert'])
// 费用名称字典
@@ -200,25 +202,19 @@
source: async (query, process) => {
// 获取当前选中行
const rowIndex = hotTb.value.hotInstance.getActiveEditor().row
- const code = list.value[rowIndex - 1].customerType
- console.log(list.value[rowIndex - 1])
- if (code) {
- GetClientListByCode({ code }).then((res) => {
- const { data } = res
- data.forEach((item) => {
- item['label'] = item.shortName
- item['value'] = item.codeName
- })
- companyDict.value = data
- const dict = data.map((item) => {
- return item.codeName + '-' + item.shortName
- })
- process(dict)
+ const code = list.value[rowIndex]?.customerType || null
+ GetClientListByCode({ code }).then((res) => {
+ const { data } = res
+ data.forEach((item) => {
+ item['label'] = item.shortName
+ item['value'] = item.codeName
})
- } else {
- createMessage.warning('请先选择客户类别!')
- process([])
- }
+ companyDict.value = data
+ const dict = data.map((item) => {
+ return item.codeName + '-' + item.shortName
+ })
+ process(dict)
+ })
},
},
{
@@ -507,16 +503,36 @@
if (item) dict = item[0]
list.value[changes[0][0]]['customerType'] = dict?.value
list.value[changes[0][0]]['customerTypeText'] = changes[0][3].split('-')[1]
+ list.value[changes[0][0]]['customerCode'] = ''
+ list.value[changes[0][0]]['customerName'] = ''
})
}
// 修改单位
if (changes[0][1] === 'unitText') {
const item = unitDict.value.filter((item) => {
- return item.name === changes[0][3]
+ return changes[0][3].includes(item.name)
})
if (item) dict = item[0]
list.value[changes[0][0]]['unit'] = dict?.value
list.value[changes[0][0]]['unitText'] = changes[0][3].split('-')[1]
+ // 业务数据有件数,修改单位,带出件数
+ const text = list.value[changes[0][0]]['unitText']
+ if (text == '单票') {
+ list.value[changes[0][0]]['quantity'] = 1
+ } else if (text == '件数') {
+ list.value[changes[0][0]]['quantity'] = props.details.pkgs
+ } else if (text == '重量') {
+ list.value[changes[0][0]]['quantity'] = props.details.kgs
+ } else if (text == '尺码') {
+ list.value[changes[0][0]]['quantity'] = props.details.cbm
+ } else if (text == '计费吨') {
+ let r = props.details.kgs
+ const k = (props.details.pkgs || 0) / 1000
+ if (k > r) {
+ r = k
+ }
+ list.value[changes[0][0]]['quantity'] = r
+ }
}
// 修改币别
if (changes[0][1] === 'currencyName') {
@@ -769,13 +785,16 @@
// 结算完毕(STATUS=9)
if (data[row]?.feeStatus != 1 && col != 0) {
// 配置不同状态的行颜色
- if (data[row]?.feeStatus == 0) {
+ if (data[row]?.feeStatus == 0 && col == 3) {
props['className'] = 'hot-green'
}
- if (data[row]?.feeStatus == 2) {
+ if (data[row]?.feeStatus == 2 && col == 3) {
props['className'] = 'hot-yellow'
}
- if (data[row]?.feeStatus == 7) {
+ if (data[row]?.feeStatus == 7 && col == 3) {
+ props['className'] = 'hot-red'
+ }
+ if ((data[row]?.feeStatus == 4 || data[row]?.feeStatus == 3) && col == 3) {
props['className'] = 'hot-red'
}
return props
diff --git a/src/components/CostEntry/index.vue b/src/components/CostEntry/index.vue
index 9254d152..a8922183 100644
--- a/src/components/CostEntry/index.vue
+++ b/src/components/CostEntry/index.vue
@@ -8,9 +8,9 @@
-
+
-
+
diff --git a/src/components/FlowChart/index.vue b/src/components/FlowChart/index.vue
index fcc0305a..521a5692 100644
--- a/src/components/FlowChart/index.vue
+++ b/src/components/FlowChart/index.vue
@@ -13,7 +13,17 @@
>
-
+
+
+ 已通过
+ 已驳回
+
+
+ {{ item.auditTypeName }}
+
+
+
+
-
-
- 已通过
- 已驳回
-
-
-
@@ -42,15 +45,22 @@
import { GetFlowContent } from './api'
import { GetFlowInstanceHistoryList } from '/@/views/flowcenter/flowInstances/api'
const visible = ref(false)
- const process = ref({})
- const activeKey = ref('2')
+ const activeKey = ref('1')
+ const flowMapData = ref(null)
+ const active = ref(0)
const init = (id, type, btype) => {
visible.value = true
- GetFlowInstanceHistoryList({ id }).then(res => {
- console.log(res)
- })
+
GetFlowContent({ businessId: id, type, businessType: btype }).then(res => {
- process.value = JSON.parse(res.data)
+ const { data } = res
+ data.forEach(item => {
+ item.content = JSON.parse(item.content)
+ })
+ flowMapData.value = data
+ const id = data[data.length - 1].id
+ GetFlowInstanceHistoryList({ id }).then(res => {
+ console.log(res)
+ })
})
}
defineExpose({
@@ -99,5 +109,10 @@
border: 1px solid red;
}
}
+ .flow-title {
+ position: absolute;
+ z-index: 10;
+ top: 100px;
+ }
}
diff --git a/src/views/approve/fee/columns.tsx b/src/views/approve/fee/columns.tsx
index 92db2187..3054a4b8 100644
--- a/src/views/approve/fee/columns.tsx
+++ b/src/views/approve/fee/columns.tsx
@@ -258,7 +258,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'etd',
title: '开船日期',
align: 'left',
- width: 120
+ width: 90
},
{
dataIndex: 'businessStatus',
@@ -272,6 +272,12 @@ export const columns: BasicColumn[] = [
align: 'left',
width: 120
},
+ {
+ dataIndex: 'customNo',
+ title: '报关单号',
+ align: 'left',
+ width: 120
+ },
{
dataIndex: 'isBusinessLocking',
title: '业务锁定',
@@ -284,4 +290,244 @@ export const columns: BasicColumn[] = [
align: 'left',
width: 120
},
+ {
+ dataIndex: 'saleName',
+ title: '揽货人',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'customerServiceName',
+ title: '客服员',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'cntrTotal',
+ title: '集装箱',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'accountDate',
+ title: '会计期间',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'sourceName',
+ title: '业务来源',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'detailName',
+ title: '来源明细',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'businessUnit',
+ title: '经营单位',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'remark',
+ title: '备注',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'note',
+ title: '其他备注',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'tradeTerm',
+ title: '贸易条款',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'changeReason',
+ title: '更改单更改原因',
+ align: 'left',
+ width: 140
+ },
+ {
+ dataIndex: 'operator',
+ title: '操作',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'docName',
+ title: '单证',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'createByName',
+ title: '录入人',
+ align: 'left',
+ width: 140
+ },
+ {
+ dataIndex: 'loadPort',
+ title: '起运港',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'receiptPlace',
+ title: '收货地',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'destination',
+ title: '目的地',
+ align: 'left',
+ width: 140
+ },
+ {
+ dataIndex: 'dischargePort',
+ title: '卸货港',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'vessel',
+ title: '船名',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'voyage',
+ title: '航次',
+ align: 'left',
+ width: 140
+ },
+ {
+ dataIndex: 'customsNum',
+ title: '报关项数',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'pkgs',
+ title: '件数',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'kgs',
+ title: '重量',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'cbm',
+ title: '尺码',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'invoiceNo',
+ title: '发票号',
+ align: 'left',
+ width: 120
+ },
+ {
+ dataIndex: 'orderNo',
+ title: '订单号',
+ align: 'left',
+ width: 120
+ },
+ {
+ dataIndex: 'freightRatio',
+ title: '运杂费比例',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'goodsName',
+ title: '品名',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'mblFrt',
+ title: '付费方式',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'carrierName',
+ title: '船公司',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'yard',
+ title: '场站',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'forwarder',
+ title: '订舱公司',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'issueType',
+ title: '签单方式',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'contractNo',
+ title: '运费协议号',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'transitTerms',
+ title: '运输条款',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'saleDeptName',
+ title: '所属部门',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'contractNo',
+ title: '所属分部',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'blType',
+ title: '装运方式',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'cargoId',
+ title: '货物标识',
+ align: 'left',
+ width: 100
+ },
+ {
+ dataIndex: 'dangerClass',
+ title: '危险品等级',
+ align: 'left',
+ width: 100
+ }
]
\ No newline at end of file
diff --git a/src/views/approve/fee/components/feeTable.vue b/src/views/approve/fee/components/feeTable.vue
index 8ec4faf5..a4c3f19c 100644
--- a/src/views/approve/fee/components/feeTable.vue
+++ b/src/views/approve/fee/components/feeTable.vue
@@ -35,6 +35,7 @@
import { useMessage } from '/@/hooks/web/useMessage'
import { GetFees } from '../api'
import FeeActionBar from './feeActionBar.vue'
+ import { formatTableData } from '/@/hooks/web/common'
import emitter from '/@/utils/Bus'
const { notification } = useMessage()
const props = defineProps({
@@ -70,13 +71,7 @@
const res = await GetFees(p)
return new Promise((resolve) => {
res.data.forEach(item => {
- // item.stlDate = formatTableData(item.stlDate)
- // item.etd = formatTableData(item.etd)
- // item.closingDate = formatTableData(item.closingDate)
- // item.eta = formatTableData(item.eta)
- // item.issueDate = formatTableData(item.issueDate)
- // item.customDate = formatTableData(item.customDate)
- // item.inspectionDate = formatTableData(item.inspectionDate)
+ item.createTime = formatTableData(item.createTime)
})
data.value = res.data
oldData.value = JSON.parse(JSON.stringify(res.data))
@@ -174,7 +169,175 @@
align: 'left',
title: '币别',
width: 120
- }
+ },
+ {
+ dataIndex: 'exchangeRate',
+ align: 'left',
+ title: '汇率',
+ width: 120
+ },
+ {
+ dataIndex: 'accTaxRate',
+ align: 'left',
+ title: '销项税率',
+ width: 120
+ },
+ {
+ dataIndex: 'remark',
+ align: 'left',
+ title: '备注',
+ width: 120
+ },
+ {
+ dataIndex: 'isAdvancedPay',
+ align: 'left',
+ title: '是否垫付',
+ width: 120,
+ customRender: ({ text }) => {
+ if (text === true) {
+ return '是'
+ } else if (text === false) {
+ return '否'
+ }
+ return text
+ }
+ },
+ {
+ dataIndex: 'isInvoice',
+ align: 'left',
+ title: '禁开发票',
+ width: 120,
+ customRender: ({ text }) => {
+ if (text === true) {
+ return '是'
+ } else if (text === false) {
+ return '否'
+ }
+ return text
+ }
+ },
+ {
+ dataIndex: 'commissionRate',
+ align: 'left',
+ title: '佣金比率',
+ width: 120
+ },
+ {
+ dataIndex: 'createByName',
+ align: 'left',
+ title: '录入人',
+ width: 120
+ },
+ {
+ dataIndex: 'createTime',
+ align: 'left',
+ title: '录入日期',
+ width: 120
+ },
+ // {
+ // dataIndex: 'createByName',
+ // align: 'left',
+ // title: '审核人',
+ // width: 120
+ // },
+ // {
+ // dataIndex: 'createTime',
+ // align: 'left',
+ // title: '审核日期',
+ // width: 120
+ // },
+ {
+ dataIndex: 'settlementAmount',
+ align: 'left',
+ title: '结算金额',
+ width: 120
+ },
+ {
+ dataIndex: 'invoiceAmount',
+ align: 'left',
+ title: '已开票金额',
+ width: 120
+ },
+ {
+ dataIndex: 'orderAmount',
+ align: 'left',
+ title: '申请金额',
+ width: 120
+ },
+ {
+ dataIndex: 'invoiceNum',
+ align: 'left',
+ title: '发票号码',
+ width: 120
+ },
+ {
+ dataIndex: 'customerFullName',
+ align: 'left',
+ title: '结算对象全称',
+ width: 120
+ },
+ {
+ dataIndex: 'tax',
+ align: 'left',
+ title: '税额',
+ width: 120
+ },
+ {
+ dataIndex: 'accTax',
+ align: 'left',
+ title: '销项税额',
+ width: 120
+ },
+ {
+ dataIndex: 'accTaxValue',
+ align: 'left',
+ title: '销项金额',
+ width: 120
+ },
+ {
+ dataIndex: 'debitNo',
+ align: 'left',
+ title: '对账编号',
+ width: 120
+ },
+ {
+ dataIndex: 'saleOrg',
+ align: 'left',
+ title: '核算单位',
+ width: 120
+ },
+ {
+ dataIndex: 'reason',
+ align: 'left',
+ title: '驳回/删除原因',
+ width: 140
+ },
+ {
+ dataIndex: 'isOpen',
+ align: 'left',
+ title: '是否机密',
+ width: 120,
+ customRender: ({ text }) => {
+ if (text === true) {
+ return '是'
+ } else if (text === false) {
+ return '否'
+ }
+ return text
+ }
+ },
+ // {
+ // dataIndex: 'reason',
+ // align: 'left',
+ // title: '录入方式',
+ // width: 140
+ // }
+ // {
+ // dataIndex: 'remark',
+ // align: 'left',
+ // title: 'FRT',
+ // width: 120
+ // }
],
isTreeTable: false,
pagination: false,
diff --git a/src/views/approve/fee/index.vue b/src/views/approve/fee/index.vue
index b3b1e555..e44a7612 100644
--- a/src/views/approve/fee/index.vue
+++ b/src/views/approve/fee/index.vue
@@ -72,6 +72,7 @@
import { useMessage } from '/@/hooks/web/useMessage'
import FeeTable from './components/feeTable.vue'
import MainActionBar from './components/mainActionBar.vue'
+ import { formatTableData } from '/@/hooks/web/common'
const { notification } = useMessage()
// 主窗口loading
const loading = ref(false)
@@ -86,13 +87,8 @@
const res = await GetList(p)
return new Promise((resolve) => {
res.data.forEach(item => {
- // item.stlDate = formatTableData(item.stlDate)
- // item.etd = formatTableData(item.etd)
- // item.closingDate = formatTableData(item.closingDate)
- // item.eta = formatTableData(item.eta)
- // item.issueDate = formatTableData(item.issueDate)
- // item.customDate = formatTableData(item.customDate)
- // item.inspectionDate = formatTableData(item.inspectionDate)
+ item.etd = formatTableData(item.etd)
+ item.accountDate = formatTableData(item.accountDate)
})
data.value = res.data
resolve({ data: [...res.data], total: res.count })
@@ -110,13 +106,13 @@
},
}
let condition: API.ConditionItem[] = []
- // if (!!data.mblno) {
- // condition.push({
- // FieldName: 'mblno',
- // FieldValue: data.mblno,
- // ConditionalType: 1
- // })
- // }
+ if (!!data.businessType) {
+ condition.push({
+ FieldName: 'businessType',
+ FieldValue: data.businessType,
+ ConditionalType: 1
+ })
+ }
// if (!!data.hblno) {
// condition.push({
// FieldName: 'hblno',
diff --git a/src/views/flowcenter/flowInstances/Lowflow/nodes/Node/index.vue b/src/views/flowcenter/flowInstances/Lowflow/nodes/Node/index.vue
index fc5f85f9..2b69ad00 100644
--- a/src/views/flowcenter/flowInstances/Lowflow/nodes/Node/index.vue
+++ b/src/views/flowcenter/flowInstances/Lowflow/nodes/Node/index.vue
@@ -129,8 +129,9 @@
if (previousId.value == node.value.id) {
visible.value = true
}
+ // 等着后台查了返回吧,前端查不可取
tooltiptext.value = `
-
处理人:${node.value.setInfo.userName}
+ 处理人:${node.value.setInfo.userNamep}
结果:${Rdata(node.value.setInfo.taged)}
处理时间:${node.value.setInfo.tagedTime}
备注:${node.value.setInfo.description}