集装箱bug修改

szh-new
lijingjia 2 months ago
parent 8424ae72ff
commit 77cc57b51b

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

@ -54,12 +54,20 @@
</div>
</div>
<div class="ds-h-aciton-btns" v-else>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>新建</span>
</template>
<span v-if="showBtns.includes('create')" class="ds-action-svg-btn" @click="createHandle">
<SvgIcon size="18" name="create" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>保存</span>
</template>
<span v-if="save && showBtns.includes('save')" class="ds-action-svg-btn" @click="saveHandle">
<img src="../../assets/svg/save.svg" />
<SvgIcon size="18" name="save" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
@ -67,7 +75,7 @@
<span>提交</span>
</template>
<span v-if="submit && showBtns.includes('submit')" class="ds-action-svg-btn" @click="submitHandle">
<img src="../../assets/svg/submit.svg" />
<SvgIcon size="18" name="submit1" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
@ -75,7 +83,15 @@
<span>复制</span>
</template>
<span v-if="copy && showBtns.includes('copy')" class="ds-action-svg-btn" @click="copyHandle">
<img src="../../assets/svg/copy.svg" />
<SvgIcon size="18" name="copy" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
<template #title>
<span>删除</span>
</template>
<span v-if="showBtns.includes('delete')" class="ds-action-svg-btn" @click="deleteHandle">
<SvgIcon size="18" name="delete" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
@ -83,7 +99,7 @@
<span>打印</span>
</template>
<span v-if="code && showBtns.includes('print')" class="ds-action-svg-btn" @click="openPrint">
<img src="../../assets/svg/print.svg" />
<SvgIcon size="18" name="print" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
@ -91,7 +107,7 @@
<span>上一票</span>
</template>
<span v-if="showBtns.includes('next')" class="ds-action-svg-btn" @click="toPage('next')">
<img class="next" src="../../assets/svg/next.svg" />
<SvgIcon class="next" size="18" name="next" />
</span>
</a-tooltip>
<a-tooltip placement="top" :mouseEnterDelay="0.5">
@ -99,7 +115,7 @@
<span>下一票</span>
</template>
<span v-if="showBtns.includes('last')" class="ds-action-svg-btn" @click="toPage('last')">
<img src="../../assets/svg/next.svg" />
<SvgIcon size="18" name="next" />
</span>
</a-tooltip>
</div>
@ -108,6 +124,7 @@
</template>
<script lang="ts">
import { defineComponent, ref, defineExpose, unref } from 'vue'
import { SvgIcon } from '/@/components/Icon'
//
import { useMessage } from '/@/hooks/web/useMessage'
//
@ -136,22 +153,22 @@
// idkey
name: {
type: String,
default: null,
default: null
},
//
save: {
type: Function,
default: null,
default: null
},
//
copy: {
type: Function,
default: null,
default: null
},
//
submit: {
type: Function,
default: null,
default: null
},
//
lasttext: {
@ -176,11 +193,22 @@
paramJsonStr: {
type: String,
default: null
}
},
//
create: {
type: Function,
default: null
},
//
del: {
type: Function,
default: null
},
},
emits: ['copy'],
components: {
DsPrint,
SvgIcon
},
setup(props, context) {
const { t } = useI18n()
@ -228,6 +256,10 @@
createMessage.warning('列表页面数据丢失,请回退列表页面后重试!')
}
}
//
const createHandle = () => {
props.create()
}
//
const saveHandle = async () => {
await props.save()
@ -237,16 +269,23 @@
const submitHandle = async () => {
await props.submit()
}
//
const deleteHandle = async () => {
await props.del()
}
return {
t,
openPrint,
dsPrint,
SvgIcon,
saveHandle,
copyHandle,
toPage,
saveFlag,
copyFlag,
submitHandle,
createHandle,
deleteHandle,
submitFlag,
}
},
@ -255,8 +294,8 @@
<style lang="less">
.ds-h-aciton-btns {
height: 52px;
padding: 10px 0;
height: 48px;
padding: 8px 0;
width: 242px;
.ds-action-svg-btn {
display: inline-block;
@ -264,19 +303,17 @@
height: 32px;
border-radius: 2px;
margin-right: 8px;
background: #f5f9fc;
cursor: pointer;
.next {
transform: rotate(180deg);
}
img {
width: 12px;
margin: 10px auto 0;
}
}
.ds-action-svg-btn:hover {
box-shadow: 0px 2px 4px #cad1db;
}
.vben-svg-icon {
margin: 6.8px;
}
}
.ds-action-bar {
position: fixed;

@ -25,6 +25,16 @@
<slot :name="item" v-bind="data || {}"></slot>
</template>
</FormItem>
<!-- <DEdit
:is-advanced="fieldsIsAdvancedMap[schema.field]"
:table-action="tableAction"
:form-action-type="formActionType"
:schema="schema"
:form-props="getProps"
:all-default-values="defaultValueRef"
:form-model="formModel"
:set-form-model="setFormModel"
/> -->
</template>
<FormAction
@ -51,6 +61,7 @@
import { defineComponent, reactive, ref, computed, unref, onMounted, watch, nextTick } from 'vue'
import { Form, Row } from 'ant-design-vue'
import FormItem from './components/FormItem.vue'
import DEdit from './Ds/components/DEdit.vue'
import FormAction from './components/FormAction.vue'
import { dateItemType } from './helper'
@ -74,7 +85,7 @@
export default defineComponent({
name: 'BasicForm',
components: { FormItem, Form, Row, FormAction },
components: { FormItem, Form, Row, FormAction, DEdit },
props: basicProps,
emits: ['advanced-change', 'reset', 'submit', 'register', 'field-value-change'],
setup(props, { emit, attrs }) {

@ -286,7 +286,6 @@
...bindValue,
...props.schema,
}
if (!renderComponentContent) {
return <Comp {...compAttr} />
}

@ -1,8 +1,3 @@
<!--
* @Desc:
* @Author: lijj
* @Date: 2024-09-06 14:07:10
-->
<!--
* @Description: 审核审批 -> 费用表格组件
* @Author: lijj
@ -427,8 +422,9 @@
const postData = {
result: 1,
remark: "通过",
ids: [selectRows.value.id],
businessType: selectRows.value.businessType
items: [
{ id: selectRows.value.id, businessType: selectRows.value.businessType }
]
}
loading.value = true
AuditByBiz(postData).then(res => {

@ -24,7 +24,7 @@ export const columns: BasicColumn[] = [
{
title: '申请单号',
dataIndex: 'applicationNO',
width: 150,
width: 140,
sorter: true,
align: 'left'
},
@ -70,25 +70,25 @@ export const columns: BasicColumn[] = [
sorter: true,
align: 'left'
},
// {
// title: '结算RMB',
// dataIndex: 'financeSoftCode',
// width: 200
// },
// {
// title: '结算USD',
// dataIndex: 'financeSoftCode',
// width: 200
// },
// {
// title: '结算其他币别',
// dataIndex: 'financeSoftCode',
// width: 200
// },
{
title: '结算RMB',
dataIndex: 'settlementRMB',
width: 100
},
{
title: '结算USD',
dataIndex: 'settlementUSD',
width: 100
},
{
title: '结算其他币别',
dataIndex: 'settlementOther',
width: 120
},
{
title: '申请日期',
dataIndex: 'createTime',
width: 120,
width: 110,
sorter: true,
align: 'left'
},
@ -102,13 +102,13 @@ export const columns: BasicColumn[] = [
title: '申请支付日期',
dataIndex: 'paymentDate',
sorter: true,
width: 130
width: 110
},
{
title: '最后审核日期',
dataIndex: 'auditTime',
sorter: true,
width: 120
width: 110
},
{
title: '最后审核人',

@ -5,41 +5,48 @@
-->
<template>
<div class="ds-table-action-bar">
<div class="nav" @click="create">
<i class="iconfont icon-jiahao2fill"></i>新建
</div>
<div class="nav">
<i class="iconfont icon-jiahao2fill"></i>入账申请加入
</div>
<a-tooltip placement="top" title="新建">
<SvgIcon size="18" name="create" @click="create" />
</a-tooltip>
<a-popconfirm
title="确定提交选中数据?"
title="确定删除当前选中数据?"
ok-text="是"
cancel-text="否"
@confirm="submit"
@confirm="removeMoreFun"
>
<div class="nav"><i class="iconfont icon-fuzhi"></i>提交审核</div>
<a-tooltip placement="top" title="删除">
<SvgIcon class="ml30" size="18" name="delete" />
</a-tooltip>
</a-popconfirm>
<a-tooltip placement="top" title="打印">
<SvgIcon class="ml30" size="18" name="print" @click="printFile" />
</a-tooltip>
<a-popconfirm
title="确定撤销提交?"
title="确定提交选中数据"
ok-text="是"
cancel-text="否"
@confirm="cancel"
@confirm="submit"
>
<div class="nav"><i class="iconfont icon-fuzhi"></i>撤销提交</div>
<a-tooltip placement="top" title="提交审核">
<SvgIcon class="ml30" size="18" name="submit1" />
</a-tooltip>
</a-popconfirm>
<a-popconfirm
title="确定删除当前选中数据"
title="确定撤销提交"
ok-text="是"
cancel-text="否"
@confirm="removeMoreFun"
@confirm="cancel"
>
<div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div>
<a-tooltip placement="top" title="撤销提交">
<SvgIcon class="ml30" size="18" name="submit" />
</a-tooltip>
</a-popconfirm>
<div class="nav" @click="printFile"><i class="iconfont icon-xiaopiaodayin"></i>打印</div>
<div class="nav" @click="exportFile">
<i class="iconfont icon-shishijifei"></i>导出Excel
</div>
<a-tooltip placement="top" title="导出Excel">
<SvgIcon class="ml30" size="18" name="export" @click="exportFile" />
</a-tooltip>
<!-- <div class="nav">
<i class="iconfont icon-jiahao2fill"></i>入账申请加入
</div> -->
<!-- 打印组件 -->
<DsPrint
ref="dsPrint"
@ -50,6 +57,7 @@
<script lang="ts" setup>
import { ref, defineProps, reactive, defineEmits } from 'vue'
import { useGo } from '/@/hooks/web/usePage'
import { SvgIcon } from '/@/components/Icon'
import { useMessage } from '/@/hooks/web/useMessage'
//
import DsPrint from '/@/components/Print/index.vue'
@ -168,7 +176,15 @@
</script>
<style lang="scss">
.ml30 {
margin-left: 30px;
}
svg {
cursor: pointer;
}
.ds-table-action-bar {
display: flex;
align-items: center;
padding: 0 10px;
.nav {
display: inline-block;
@ -183,7 +199,6 @@
.iconfont {
margin-right: 6px;
}
&:hover {
border: 1px solid rgba(255, 255, 255, 0);
border-radius: 4px;

@ -5,11 +5,9 @@
-->
<template>
<div class="ds-pay-apply-detail-fee-info">
<a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="2" tab="费用明细">
<div>
<BasicTable @register="registerTable">
<template #toolbar>
<template #tableTitle>
<h4>申请明细</h4>
<div>
<a-button type="link" @click="add"> </a-button>
<a-popconfirm
@ -30,6 +28,10 @@
</div>
</template>
</BasicTable>
<!-- <a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="2" tab="费用明细">
<div>
</div>
</a-tab-pane>
<a-tab-pane key="3" tab="附件上传" force-render>
@ -40,7 +42,7 @@
/>
</div>
</a-tab-pane>
</a-tabs>
</a-tabs> -->
</div>
</template>
<script lang="ts" setup>
@ -141,7 +143,16 @@
<style lang="less">
.ds-pay-apply-detail-fee-info {
.vben-basic-table-header__toolbar {
h4 {
margin-bottom: 0;
}
justify-content: space-between;
}
.vben-basic-table .ant-table-wrapper {
padding: 0;
.ant-table-title {
padding: 4px 0;
}
}
}
</style>

@ -6,9 +6,21 @@
<template>
<div class="ds-pay-apply-detail ds-detail-box">
<a-spin :spinning="dloading">
<div class="ds-card">
<a-button @click="save" type="link">保存</a-button>
<a-button @click="deleteItem" type="link">删除</a-button>
<div class="act-box">
<!-- 保存按钮组 -->
<ActionBar
:id="route.query.id"
code="sea_freight_export"
name="hyck"
:save="save"
:submit="save"
:del="deleteItem"
:paramJsonStr="'{id:' + route.query.id + '}'"
:showBtns="['save', 'delete', 'submit', 'print', 'next', 'last']"
layout="horizontal"
></ActionBar>
<!-- <a-button @click="save" type="link">保存</a-button>
<a-button @click="deleteItem" type="link">删除</a-button> -->
</div>
<!-- 表单区域 -->
<div class="form-area">
@ -201,11 +213,19 @@
</script>
<style lang="less">
.form-area {
.ds-pay-apply-detail {
.act-box {
height: 48px;
background: #F5F9FC;
width: 100%;
margin-left: -20px;
padding-left: 13.2px;
}
.form-area {
padding: 10px;
background: #ffffff;
}
.fee-modal {
}
.fee-modal {
.ant-modal-body {
padding-top: 0 10px;
border-radius: 4px;
@ -213,5 +233,6 @@
.ant-modal-footer {
display: none;
}
}
}
</style>

@ -5,27 +5,40 @@
-->
<template>
<div class="ds-pay-apply">
<BasicTable
class="ds-table"
:scroll="{ x: '100%', y: '500px' }"
@register="registerTable"
@row-dbClick="edit"
>
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="edit">
<template #toolbar>
<TableActionBar :selectRow="getSelectRows" :reload="reload" @exportFile="exportFile"></TableActionBar>
</template>
<template v-slot:bodyCell="{ column, record }">
<!-- 复制单号 -->
<template v-if="column.dataIndex == 'applicationNO'">
<span @click="copyNo($event, record.applicationNO)" style="cursor: pointer"><span class="iconfont icon-fuzhi" :style="{'fontSize': '12px', 'color': '#419638'}"></span> <span class="ds-green-status">{{ record.applicationNO }}</span></span>
<span @click="copyNo($event, record.applicationNO)" style="cursor: pointer"><span>{{ record.applicationNO }}</span><span class="iconfont icon-fuzhi11"></span></span>
</template>
<!-- 状态 -->
<template v-if="column.dataIndex == 'status'">
<span v-if="record.status == 0" class="ds-green-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="record.status == 1" class="ds-blue-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="/^2|3|4|5|6$/.test(record.status)" class="ds-orange-status"> {{ FeeStatus[record.status] }}</span>
<span v-else-if="/^7|8$/.test(record.status)" class="ds-red-status"> {{ FeeStatus[record.status] }}</span>
<span v-else class="ds-purple-status"> {{ FeeStatus[record.status] }}</span>
<template v-if="column.dataIndex == 'statusText'">
<span v-if="record.status == 0" class="ds-blue-tag">
{{ record.statusText }}</span>
<span v-else-if="record.status == 1" class="ds-green-tag">{{
record.statusText
}}</span>
<span v-else-if="/^2|3|4|5|6$/.test(record.status)" class="ds-orange-tag">{{
record.statusText
}}</span>
<span v-else-if="/^7|8$/.test(record.status)" class="ds-red-tag">{{
record.statusText
}}</span>
<span v-else class="ds-purple-tag">{{ record.statusText }}</span>
</template>
<template v-if="column.key === 'action'">
<TableAction :actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: () => {
edit(record)
}
}
]" />
</template>
</template>
</BasicTable>
@ -33,9 +46,10 @@
</template>
<script lang="ts" setup>
import { onMounted, ref, watch } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import TableActionBar from './components/tableActionBar.vue'
import { useMessage } from '/@/hooks/web/useMessage'
import { formatParams } from '/@/hooks/web/common'
const { createMessage } = useMessage()
import { GetList } from './api'
import { columns, searchFormSchema, FeeStatus } from './columns'
@ -43,75 +57,54 @@
import { exportExcel } from '/@/hooks/web/common'
const go = useGo()
const params = ref([])
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows, getColumns }] = useTable({
const [registerTable, { reload, getSelectRows, getColumns }] = useTable({
title: '',
api: async (p) => {
params.value = p
const res = await GetList(p)
const res: API.DataResult = await GetList(p)
res.data.forEach(item => {
if (item.amountRMB) item.amountRMB = item.amountRMB.toLocaleString()
if (item.amountUSD) item.amountUSD = item.amountUSD.toLocaleString()
if (item.amountOther) item.amountOther = item.amountOther.toLocaleString()
if (item.settlementRMB) item.settlementRMB = item.settlementRMB.toLocaleString()
if (item.settlementUSD) item.settlementUSD = item.settlementUSD.toLocaleString()
if (item.settlementOther) item.settlementOther = item.settlementOther.toLocaleString()
})
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
},
beforeFetch: () => {
var currentPageInfo: any = getPaginationRef()
var data = getForm().getFieldsValue()
const postParam = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
let condition: API.ConditionItem[] = []
if (!!data.billNO) {
condition.push({
FieldName: 'billNO',
FieldValue: data.billNO,
ConditionalType: 1,
})
}
if (!!data.applicationNO) {
condition.push({
FieldName: 'applicationNO',
FieldValue: data.applicationNO,
ConditionalType: 1,
})
}
if (!!data.customerId) {
condition.push({
FieldName: 'customerId',
FieldValue: data.customerId,
ConditionalType: 1,
})
}
if (!!data.status) {
condition.push({
FieldName: 'status',
FieldValue: data.status,
ConditionalType: 1,
})
}
console.log(condition)
postParam.queryCondition = JSON.stringify(condition)
return postParam
beforeFetch: (p) => {
return formatParams(p)
},
columns,
formConfig: {
labelWidth: 120,
schemas: searchFormSchema,
// ()
useAdvancedSearch: true
},
isTreeTable: false,
pagination: true,
striped: false,
striped: true,
useSearchForm: true,
showTableSetting: true,
bordered: true,
showIndexColumn: true,
canResize: false,
immediate: false,
id: '0'
indexColumnProps: {
width: 60,
},
canResize: true,
resizeHeightOffset: 15,
immediate: true,
actionColumn: {
width: 50,
title: '操作',
dataIndex: 'action',
fixed: 'right'
},
})
// Excel
const exportFile = () => {
exportExcel(GetList, params.value, getColumns(), '费用申请')
@ -142,10 +135,13 @@
<style lang="less">
.ds-pay-apply {
display: fle;
flex-direction: column;
.vben-basic-table-header__toolbar {
justify-content: space-between;
}
.icon-fuzhi11 {
color: #257AFA;
margin-left: 5px;
}
}
</style>

@ -385,6 +385,7 @@
watch(
() => props.details,
(nval) => {
console.log(nval)
if (Object.keys(nval).length) {
setFieldsValue1({ marks: nval.marks, description: nval.description })
setFieldsValue2(nval)
@ -393,7 +394,10 @@
if (nval.cargoId) cargoId.value = nval.cargoId
}
},
{ deep: true }
{
deep: true,
immediate: true
}
)
const id = ref()
watch(

@ -961,11 +961,14 @@
loadingTable.value = false
createMessage.success(data.message)
}
const res = list.value.filter((item) => {
return !item.selected
})
list.value = res
hotmain.value.hotInstance.loadData(res)
for (let i = 0; i < list.value.length; i++) {
if (list.value[i].selected) {
list.value.splice(i, 1)
i--
}
}
hotmain.value.hotInstance.loadData(list.value)
computing()
}
const moreVisible = ref(false)
@ -1627,6 +1630,7 @@
},
{
deep: true,
immediate: true
}
)
//

@ -275,7 +275,7 @@
</div>
</template>
<script lang="ts" setup name="订单管理">
import { onMounted, ref, defineAsyncComponent } from 'vue'
import { onMounted, ref, defineAsyncComponent, onActivated } from 'vue'
const TableActionBar = defineAsyncComponent(() => import("./components/tableActionBar.vue"))
import { CheckCircleFilled, CloseCircleFilled, RedoOutlined } from '@ant-design/icons-vue'
const tableActionBarRight = defineAsyncComponent(() => import("./components/tableActionBarRight.vue"))
@ -582,7 +582,7 @@ function compareSuccess(){
setLoading(false);
reload()
}
onMounted(() => {
onActivated(() => {
//
reload()
// createdInit()

@ -995,6 +995,7 @@ function handleEdit(data) {
case 'WAIT_CHANDIZHENG':
case 'WAIT_TUOCHE':
case 'WAIT_Insurance':
case 'ORDER_AUDIT_REJECTED':
//
go({
path: '/taskmanage/booking-approval',

Loading…
Cancel
Save