szh-new
张同海 4 months ago
parent 56f7def6f9
commit c5cf0ada18

@ -1,14 +1,29 @@
{
"ClassName": "System.NullReferenceException",
"Message": "Object reference not set to an instance of an object.",
"Data": null,
"InnerException": null,
"HelpURL": null,
"StackTraceString": " at DS.WMS.ContainerManagement.Info.Dtos.CM_State_ChangeReq_Multi.getList() in D:\\ds8-solution-pro\\ds-wms-service\\DS.WMS.Core\\ContainerManagement\\Dtos\\CM_State_ChangeReq.cs:line 184\r\n at DS.WMS.ContainerManagement.Info.Method.CM_State_ChangeService.CM_State_Change_Multi(CM_State_ChangeReq req) in D:\\ds8-solution-pro\\ds-wms-service\\DS.WMS.Core\\ContainerManagement\\Method\\CM_State_ChangeService.cs:line 117",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": null,
"HResult": -2147467261,
"Source": "DS.WMS.Core",
"WatsonBuckets": null
"id": "",
"cntrno": "080605",
"isOnlineId": "1",
"changeSourceId": "0",
"usedState": "used",
"ctnOwner": "080605",
"ctnSourceId": "0",
"ctnBizState": "卖箱",
"ctnBizStateId": "5",
"billno": "080605",
"ctnReleaseNo": "080605",
"ctnStateId": "0",
"ctnBreakState": "080605",
"isHeavy": true,
"port": "NINGBO",
"portid": "1816754346457698304",
"depot": "港捷丰场站",
"vehicleName": "080605",
"ctnall": "22R0",
"mblno": "080605",
"customerName": "青岛捷丰",
"customerId": "qdjf",
"etd": "2024-08-06T09:09:27.470Z",
"eta": "2024-08-06T09:09:29.836Z",
"changeTime": "2024-08-06T09:09:31.375Z",
"ctnWeight": 666,
"ctnValue_Base": 666
}

@ -234,8 +234,16 @@ export const formSchema: FormSchema[] = [
{
field: 'ctnOwner',
label: '箱主',
component: 'Input',
component: 'Select',
colProps: { span: 6 },
componentProps: {
options: [],
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'ctnSourceId',
@ -506,3 +514,60 @@ export const formSchema: FormSchema[] = [
colProps: { span: 6 },
},
]
export const InfoColumns: BasicColumn[] = [
{
title: '箱号',
dataIndex: 'cntrno',
sorter: true,
width: 150,
},
{
title: '箱业务状态',
dataIndex: 'ctnBizState',
sorter: true,
width: 150,
},
{
title: '新旧箱',
dataIndex: 'usedState',
sorter: true,
width: 150,
},
{
title: '箱型',
dataIndex: 'ctnall',
sorter: true,
width: 150,
},
{
title: '箱状态',
dataIndex: 'ctnState',
sorter: true,
width: 150,
},
{
title: '空重箱',
dataIndex: 'isHeavy',
sorter: true,
width: 150,
},
{
title: '当前港口',
dataIndex: 'port',
sorter: true,
width: 150,
},
{
title: '码头或场站',
dataIndex: 'depot',
sorter: true,
width: 150,
},
{
title: '状态时间',
dataIndex: 'changeTime',
sorter: true,
width: 150,
},
]

@ -2,7 +2,6 @@
<div>
<BasicTable class="ds-table" @register="registerTable">
<template #tableTitle>
<!-- :disabled="checkPermissions('op:ctn:add')" -->
<a-button type="link" @click="handleCreate">
<span class="iconfont icon-piliangbianji"></span>
批量维护
@ -10,7 +9,6 @@
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<!-- disabled: checkPermissions('op:ctn:edit'), -->
<TableAction
:actions="[
{
@ -24,33 +22,25 @@
</template>
</BasicTable>
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
<a-modal
:visible="visible"
title="导入集装箱信息"
width="70%"
@ok="handleOk"
@cancel="handleCancel"
>
<ImportFlow v-if="visible" ref="refImportFlow" />
</a-modal>
<InfoModal @register="registerInfoModal" ref="refInfoModal" />
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { checkPermissions } from '/@/hooks/Permissions/index'
import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table'
import ImportFlow from './importFlow.vue'
import { ApiList, ApiImport, ApiDel } from './api'
import { ApiChangeList } from '../StateChange/api'
import InfoModal from './infoModal.vue'
import { ApiList } from './api'
import { useModal } from '/@/components/Modal'
import TenantAuditStepModal from './TenantAuditStepModal.vue'
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
const visible = ref<boolean>(false)
const refImportFlow = ref()
const refInfoModal = ref()
const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getSelectRows }] = useTable({
const [registerInfoModal, { openModal: openInfoModal }] = useModal()
const [registerTable, { reload, getForm }] = useTable({
title: '集装箱信息列表',
api: async (p) => {
const res: API.DataResult = await ApiList(p)
@ -120,45 +110,10 @@
isUpdate: false,
})
}
const handleOk = async () => {
let ids = []
refImportFlow.value.getSelectData().forEach((e) => {
ids.push(e.id)
})
const res: API.DataResult = await ApiImport({
ids,
id: '',
})
if (res.succeeded) {
notification.success({ message: res.message, duration: 3 })
} else {
notification.error({ message: res.message, duration: 3 })
}
reload()
visible.value = false
}
const handleCancel = () => {
visible.value = false
}
function handleAudit(record: Recordable) {
openModal(true, {
openInfoModal(true, {
cntrno: record.cntrno,
})
// // visible.value = true
// let ApiData: any = {
// queryCondition: `[{"FieldName":"Cntrno","FieldValue":"${record.cntrno}","ConditionalType":1}]`,
// otherQueryCondition: '',
// pageCondition: {
// isExport: false,
// pageIndex: 1,
// pageSize: 50,
// sortConditions: [],
// },
// }
// ApiChangeList(ApiData).then((res) => {
// console.log(res)
// })
}
function handleSuccess() {
reload()

@ -2,7 +2,7 @@
<BasicModal
v-bind="$attrs"
:use-wrapper="true"
title="箱状态批量维护"
title="箱状态详情"
width="55%"
@register="registerModal"
@ok="handleSave"
@ -30,7 +30,7 @@
import { ApiExistList } from './api'
import { ApiChangeList } from '../StateChange/api'
import { BasicModal, useModalInner } from '/@/components/Modal'
import { columns } from './columns'
import { InfoColumns } from './columns'
const cntrno = ref('')
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false, loading: true })
@ -42,7 +42,7 @@
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows }] = useTable({
// title: '',
maxHeight: 300,
rowSelection: { type: 'checkbox' },
// rowSelection: { type: 'checkbox' },
// rowSelection: { type: 'radio' },
api: async (p) => {
const res: API.DataResult = await ApiChangeList(p)
@ -62,27 +62,14 @@
},
}
let condition: API.ConditionItem[] = []
if (!!data.CtnName) {
condition.push({
FieldName: 'Cntrno',
FieldValue: cntrno.value,
ConditionalType: 1,
})
}
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns,
columns: InfoColumns,
pagination: true,
bordered: true,
useSearchForm: true,
showTableSetting: true,
tableSetting: {
redo: false,
size: false,
setting: false,
fullScreen: false,
},
immediate: true,
showTableSetting: false,
// actionColumn: {
// width: 80,
// title: '',

@ -903,11 +903,24 @@ export const formSchema: FormSchema[] = [
unCheckedChildren: '否',
},
},
{
field: 'saleOrgIdList',
label: '所属分部',
// required: true,
component: 'Select',
colProps: { span: 12 },
componentProps: {
options: DeptList,
allowClear: true,
mode: 'multiple',
class: 'NoLimitHeight',
},
},
{
field: 'isOverdueDeduction',
label: '是否超期扣单',
component: 'Switch',
colProps: { span: 5 },
colProps: { span: 4 },
componentProps: ({ formModel }) => {
return {
checkedChildren: '是',
@ -931,19 +944,7 @@ export const formSchema: FormSchema[] = [
unCheckedChildren: '否',
},
},
{
field: 'saleOrgIdList',
label: '所属分部',
// required: true,
component: 'Select',
colProps: { span: 4 },
componentProps: {
options: DeptList,
allowClear: true,
mode: 'multiple',
class: 'NoLimitHeight',
},
},
{
label: '客户属性',
field: 'ArrclientTag',

Loading…
Cancel
Save