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

@ -1,14 +1,29 @@
{ {
"ClassName": "System.NullReferenceException", "id": "",
"Message": "Object reference not set to an instance of an object.", "cntrno": "080605",
"Data": null, "isOnlineId": "1",
"InnerException": null, "changeSourceId": "0",
"HelpURL": null, "usedState": "used",
"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", "ctnOwner": "080605",
"RemoteStackTraceString": null, "ctnSourceId": "0",
"RemoteStackIndex": 0, "ctnBizState": "卖箱",
"ExceptionMethod": null, "ctnBizStateId": "5",
"HResult": -2147467261, "billno": "080605",
"Source": "DS.WMS.Core", "ctnReleaseNo": "080605",
"WatsonBuckets": null "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', field: 'ctnOwner',
label: '箱主', label: '箱主',
component: 'Input', component: 'Select',
colProps: { span: 6 }, colProps: { span: 6 },
componentProps: {
options: [],
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
}, },
{ {
field: 'ctnSourceId', field: 'ctnSourceId',
@ -506,3 +514,60 @@ export const formSchema: FormSchema[] = [
colProps: { span: 6 }, 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> <div>
<BasicTable class="ds-table" @register="registerTable"> <BasicTable class="ds-table" @register="registerTable">
<template #tableTitle> <template #tableTitle>
<!-- :disabled="checkPermissions('op:ctn:add')" -->
<a-button type="link" @click="handleCreate"> <a-button type="link" @click="handleCreate">
<span class="iconfont icon-piliangbianji"></span> <span class="iconfont icon-piliangbianji"></span>
批量维护 批量维护
@ -10,7 +9,6 @@
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<!-- disabled: checkPermissions('op:ctn:edit'), -->
<TableAction <TableAction
:actions="[ :actions="[
{ {
@ -24,33 +22,25 @@
</template> </template>
</BasicTable> </BasicTable>
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" /> <TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
<a-modal
:visible="visible" <InfoModal @register="registerInfoModal" ref="refInfoModal" />
title="导入集装箱信息"
width="70%"
@ok="handleOk"
@cancel="handleCancel"
>
<ImportFlow v-if="visible" ref="refImportFlow" />
</a-modal>
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue' import { ref } from 'vue'
import { checkPermissions } from '/@/hooks/Permissions/index'
import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table' import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table'
import ImportFlow from './importFlow.vue' import InfoModal from './infoModal.vue'
import { ApiList, ApiImport, ApiDel } from './api' import { ApiList } from './api'
import { ApiChangeList } from '../StateChange/api'
import { useModal } from '/@/components/Modal' import { useModal } from '/@/components/Modal'
import TenantAuditStepModal from './TenantAuditStepModal.vue' import TenantAuditStepModal from './TenantAuditStepModal.vue'
import { columns, searchFormSchema } from './columns' import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage() const { notification } = useMessage()
const visible = ref<boolean>(false) const refInfoModal = ref()
const refImportFlow = ref()
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getSelectRows }] = useTable({ const [registerInfoModal, { openModal: openInfoModal }] = useModal()
const [registerTable, { reload, getForm }] = useTable({
title: '集装箱信息列表', title: '集装箱信息列表',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await ApiList(p) const res: API.DataResult = await ApiList(p)
@ -120,45 +110,10 @@
isUpdate: false, 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) { function handleAudit(record: Recordable) {
openModal(true, { openInfoModal(true, {
cntrno: record.cntrno, 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() { function handleSuccess() {
reload() reload()

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

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

Loading…
Cancel
Save