diff --git a/src/views/ContainerManagement/Templat/TenantAuditStepModal.vue b/src/views/ContainerManagement/Templat/TenantAuditStepModal.vue index 84f74372..8651d1cf 100644 --- a/src/views/ContainerManagement/Templat/TenantAuditStepModal.vue +++ b/src/views/ContainerManagement/Templat/TenantAuditStepModal.vue @@ -245,18 +245,18 @@ }, { title: '顺序', - width: 200, + width: 50, data: 'sortNumber', }, { title: '列标题', - width: 120, + width: 200, data: 'columnTitle', }, { title: '对应变动字段', - width: 120, + width: 200, data: 'fieldName', type: 'dropdown', // 下拉框数据,可以同步或者异步返回(异步需要process返回) diff --git a/src/views/ContainerManagement/TemplatImport/columns.tsx b/src/views/ContainerManagement/TemplatImport/columns.tsx index e311862b..562e7188 100644 --- a/src/views/ContainerManagement/TemplatImport/columns.tsx +++ b/src/views/ContainerManagement/TemplatImport/columns.tsx @@ -77,7 +77,14 @@ export const formSchema: FormSchema[] = [ queryCondition: '[]', pageCondition: { pageIndex: 1, pageSize: 100, sortConditions: [] }, }).then((res) => { - resolve(res) + let RData = { ...res } + RData.data = [] + res.data.forEach((item) => { + if (item.templetName) { + RData.data.push(item) + } + }) + resolve(RData) }) }) }, @@ -85,7 +92,6 @@ export const formSchema: FormSchema[] = [ valueField: 'templetName', resultField: 'data', onChange: (e, obj) => { - console.log(e, obj) if (e && obj) { formModel.templetName = obj.label formModel.templetId = obj.value diff --git a/src/views/baseinfo/infoclient/abc.json b/src/views/baseinfo/infoclient/abc.json index 01289a32..1b151abb 100644 --- a/src/views/baseinfo/infoclient/abc.json +++ b/src/views/baseinfo/infoclient/abc.json @@ -1,124 +1,214 @@ { "code": 0, - "multiCode": "", + "multiCode": "string", "count": 0, - "message": "", + "message": "string", "succeeded": true, - "data": [ - { - "type": "STATUS", - "data": [ - { "code": "Create", "name": "待处理" }, - { "code": "Retransmit", "name": "已转发" }, - { "code": "Complete", "name": "已完成" }, - { "code": "Cancel", "name": "已取消" }, - { "code": "Pending", "name": "已挂起" } - ] + "data": { + "id": 0, + "codeName": "string", + "shortName": "string", + "description": "string", + "name": "string", + "enFullName": "string", + "address": "string", + "email": "string", + "web": "string", + "tel": "string", + "fax": "string", + "chief": "string", + "country": "string", + "province": "string", + "city": "string", + "blContent": "string", + "isStop": true, + "level": "string", + "qq": "string", + "msn": "string", + "farCode": "string", + "fapCode": "string", + "unitPrice": "string", + "registrationNo": "string", + "orderNo": "string", + "taxNo": "string", + "ediCode": "string", + "ediCode2": "string", + "ediCode3": "string", + "organizationCode": "string", + "pcorpId": 0, + "pcorpName": "string", + "inspectionNo": "string", + "auditStatus": 0, + "auditStatusText": "string", + "auditTime": "2024-09-19T06:55:51.134Z", + "auditNote": "string", + "feeFRT": "string", + "sourceId": 0, + "invoiceBank": "string", + "invoiceAddrTel": "string", + "saleOrgId": "string", + "saleOrgIdList": [0], + "saleOrgNames": "string", + "commissionRate": 0, + "proportionRate": 0, + "commissionUserId": 0, + "carrierList": "string", + "ctnType": "string", + "enShortName": "string", + "wmsFeeRateType": "string", + "status": 0, + "note": "string", + "createTime": "2024-09-19T06:55:51.134Z", + "clientTag": { + "id": 0, + "clientId": 0, + "isCarrier": true, + "isBooking": true, + "isYard": true, + "isTruck": true, + "isController": true, + "isCustom": true, + "isAgent": true, + "isAgentCn": true, + "isExpress": true, + "isAirLines": true, + "isShipper": true, + "isConsignee": true, + "isNotifyParty": true, + "isWareHouse": true, + "isWharf": true, + "isInsurer": true, + "isLeasing": true, + "isTradingAgency": true, + "isOther": true, + "others": "string", + "isShipAgency": true, + "isEnterprise": true, + "isShipperCn": true, + "isContract": true, + "note": "string", + "createTime": "2024-09-19T06:55:51.134Z" }, - { - "type": "TASK_TYPE", - "data": [ - { "code": "CAUTION_NOTICE", "name": "重要提醒" }, - { "code": "BC", "name": "BC" }, - { "code": "DRAFT", "name": "DRAFT" }, - { "code": "CANCELLATION", "name": "Cancellation" }, - { "code": "SEAWAYBILL_DOWN", "name": "SEAWAY BILL" }, - { "code": "ORIGINAL_DOWN", "name": "提单正本下载" }, - { "code": "NOT_LOADED", "name": "未装载" }, - { "code": "NOT_SHIPMENG", "name": "未装船" }, - { "code": "INVOICE_BILL_MAIL", "name": "航次账单" }, - { "code": "VGM_COMPARE", "name": "VGM对比" }, - { "code": "TELEX_NOTICE", "name": "电放通知" }, - { "code": "SI_FEEDBACK", "name": "SI回执" }, - { "code": "PER_BILL", "name": "单票账单" }, - { "code": "CHANGE_SHIP", "name": "换船通知" }, - { "code": "ABORT_CHANGE_SHIP", "name": "取消换船通知" }, - { "code": "SHIPPING_ORDER", "name": "下货纸" }, - { "code": "ORIGINAL_LOST", "name": "正本缺失" }, - { "code": "VGM_EXCEPT", "name": "VGM异常" }, - { "code": "SHIPPING_ORDER_COMPARE", "name": "比对下货纸" }, - { "code": "TRUCK_DISPATCH", "name": "派车" }, - { "code": "BC_MODIFY", "name": "Amendment" }, - { "code": "CUT_MODIFY", "name": "截止时间变更" }, - { "code": "ROLLING_NOMINATION", "name": "RollingNomination" }, - { "code": "TRANSFER_NOMINATION", "name": "TransferNomination" }, - { "code": "VGM_FEEDBACK", "name": "VGM回执" }, - { "code": "VGM_MISSING", "name": "VGM未提交" }, - { "code": "POD_DISCHARGE_FULL", "name": "目的港未提货" }, - { "code": "POD_GATEOUT_FULL", "name": "目的港未返空箱" }, - { "code": "ROUTE_CUT_CHANGE", "name": "航线截止时间调整" }, - { "code": "POL_CTN_NOT_PICKUP", "name": "装货港未提箱" }, - { "code": "TRNAS_PLAN_HAS_CHANGE", "name": "运输计划已变更" }, - { "code": "WAIT_ORDER_AUDIT", "name": "审单" }, - { "code": "WAIT_BOOKING", "name": "订舱" }, - { "code": "WAIT_BC", "name": "收BC" }, - { "code": "WAIT_SPACE_RELEASE", "name": "放舱" }, - { "code": "WAIT_BILL_CONFIRM", "name": "提单确认" }, - { "code": "WAIT_SI", "name": "提交SI" }, - { "code": "WAIT_DRAFT", "name": "处理Draft" }, - { "code": "WAIT_CHECKOUT_BILL", "name": "截单" }, - { "code": "WAIT_BAOGUAN", "name": "报关" }, - { "code": "WAIT_CANGDAN", "name": "发舱单" }, - { "code": "WAIT_VGM", "name": "提交VGM" }, - { "code": "WAIT_AFR", "name": "发AFR" }, - { "code": "WAIT_AMS", "name": "发AMS" }, - { "code": "WAIT_ISF", "name": "发ISF" }, - { "code": "WAIT_XUNZHENG", "name": "熏蒸" }, - { "code": "WAIT_SHANGJIAN", "name": "商检" }, - { "code": "WAIT_COA", "name": "报COA" }, - { "code": "WAIT_CHANDIZHENG", "name": "出产地证" }, - { "code": "WAIT_TUOCHE", "name": "拖车" }, - { "code": "WAIT_INSURANCE", "name": "保险" }, - { "code": "WAIT_CHUHAO", "name": "出号" }, - { "code": "WAIT_NDRH", "name": "内点入货" }, - { "code": "WAIT_DELIVERY", "name": "快递" }, - { "code": "WAIT_XIANGSHI", "name": "箱使" }, - { "code": "RETURN_CABIN", "name": "退舱" }, - { "code": "INFO_CLIENT_AUDIT", "name": "客户/供应商审核" }, - { "code": "FEE_AUDIT", "name": "费用审核" }, - { "code": "FEE_MODIFY_AUDIT", "name": "费用修改" }, - { "code": "FEE_DELETE_AUDIT", "name": "费用删除" }, - { "code": "FEE_BUSINESS_AUDIT", "name": "费用整单审核" }, - { "code": "APPLICATION_PAYMENT_AUDIT", "name": "付费申请审核" }, - { "code": "APPLICATION_INVOICE_AUDIT", "name": "发票申请审核" }, - { "code": "WORK_FLOW_MAIN", "name": "工作流任务创建主流程" }, - { "code": "WORK_FLOW_RETURN_CABIN", "name": "工作流退舱流程" }, - { "code": "WORK_FLOW_HANDLE_DRAFT", "name": "工作流处理DRAFT流程" }, - { "code": "APPLICATION_INVOICE_REJECTED", "name": "发票申请驳回" }, - { "code": "APPLICATION_PAYMENT_REJECTED", "name": "付费申请驳回" }, - { "code": "FEE_BUSINESS_REJECTED", "name": "费用整单审核驳回" }, - { "code": "FEE_DELETE_REJECTED", "name": "费用删除驳回" }, - { "code": "FEE_MODIFY_REJECTED", "name": "费用修改驳回" }, - { "code": "FEE_REJECTED", "name": "费用审核驳回" }, - { "code": "INFO_CLIENT_REJECTED", "name": "客户/供应商审核驳回" }, - { "code": "RETURN_CABIN_REJECTED", "name": "退舱驳回" }, - { "code": "ORDER_AUDIT_REJECTED", "name": "审单驳回" }, - { "code": "NOT_SPECIFIED", "name": "未指定" } - ] + "clientContactList": [ + { + "id": 0, + "clientId": 0, + "name": "string", + "enName": "string", + "job": "string", + "jobs": ["string"], + "address": "string", + "email": "string", + "mobile": "string", + "tel": "string", + "fax": "string", + "qq": "string", + "isDefault": true, + "isOperator": true, + "isFinancialStaff": true, + "isSaleMan": true, + "isOther": true, + "isInsurance": true, + "isCheckAccount": true, + "anniversary1": "2024-09-19T06:55:51.134Z", + "anniversary2": "2024-09-19T06:55:51.134Z", + "anniversaryNote1": "string", + "anniversaryNote2": "string", + "status": 0, + "note": "string", + "createTime": "2024-09-19T06:55:51.134Z" + } + ], + "saleId": 0, + "sale": "string", + "doc": 0, + "docName": "string", + "operatorId": 0, + "operatorName": "string", + "customerService": 0, + "customerServiceName": "string", + "isShared": true, + "invoicingMethod": 1, + "invoicingMethodText": "string", + "notification": 0, + "notifications": [0], + "isOverdueDeduction": true, + "overdueDays": 0, + "isMortgageLastOrder": true, + "invoiceHeaders": [ + { + "id": 0, + "relativeId": 0, + "header": "string", + "addressTel": "string" + } + ], + "sourceDetailId": 0, + "sourceName": "string", + "sourceDetailName": "string", + "saleOrgName": "string", + "serviceItemCodes": ["string"], + "isCustomer": true, + "isSupplier": true, + "grade": "string", + "registeredCapital": 0, + "registrationTime": "2024-09-19T06:55:51.134Z", + "defaultContact": { + "id": 0, + "clientId": 0, + "name": "string", + "enName": "string", + "job": "string", + "jobs": ["string"], + "address": "string", + "email": "string", + "mobile": "string", + "tel": "string", + "fax": "string", + "qq": "string", + "isDefault": true, + "isOperator": true, + "isFinancialStaff": true, + "isSaleMan": true, + "isOther": true, + "isInsurance": true, + "isCheckAccount": true, + "anniversary1": "2024-09-19T06:55:51.134Z", + "anniversary2": "2024-09-19T06:55:51.134Z", + "anniversaryNote1": "string", + "anniversaryNote2": "string", + "status": 0, + "note": "string", + "createTime": "2024-09-19T06:55:51.134Z" }, - { - "type": "SOURCE", - "data": [ - { "code": "EDI", "name": "EDI" }, - { "code": "MAIL", "name": "邮件" }, - { "code": "MAIL_PARSE", "name": "邮件解析" }, - { "code": "FTP", "name": "FTP" }, - { "code": "RETRANSMIT", "name": "转发" }, - { "code": "BILL_TRACE", "name": "运踪" }, - { "code": "WEBSITE", "name": "网站查询" }, - { "code": "CUSTOMER_SUBMIT", "name": "客户提交" }, - { "code": "SYSTEM", "name": "系统" }, - { "code": "WORK_FLOW", "name": "工作流" } - ] - }, - { - "type": "CATEGORY", - "data": [ - { "code": "EXCPTION", "name": "异常" }, - { "code": "PERSON", "name": "个人" }, - { "code": "PUBLIC", "name": "公共" } - ] + "lastAccountDate": { + "id": 0, + "clientId": 0, + "sourceId": 0, + "beginDate": "2024-09-19T06:55:51.134Z", + "endDate": "2024-09-19T06:55:51.134Z", + "businessType": "string", + "saleId": 0, + "accountType": "string", + "accountTypeName": "string", + "accountStartDate": "string", + "accountStartDateName": "string", + "accountMonth": 0, + "accountDays": 0, + "accountFirstHalf": 0, + "accountSecondHalf": 0, + "allowAmount": 0, + "contractId": 0, + "commissionRate": 0, + "status": 0, + "note": "string", + "createTime": "2024-09-19T06:55:51.134Z", + "isSpecial": true } - ], - "additionalData": null + }, + "additionalData": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + } } diff --git a/src/views/baseinfo/infoclient/columns.tsx b/src/views/baseinfo/infoclient/columns.tsx index 5e37e129..887fb196 100644 --- a/src/views/baseinfo/infoclient/columns.tsx +++ b/src/views/baseinfo/infoclient/columns.tsx @@ -62,6 +62,9 @@ if (res13.succeeded) { UserData.push(e) }) } +// 账期 字典 +const accountTypeList = await getDictOption('infoclient_business_accountType') +const Jobres = await getDictOption('infoclient-Jobs') export const columns: BasicColumn[] = [ { title: '助记码', @@ -149,6 +152,18 @@ export const columns: BasicColumn[] = [ sorter: true, width: 150, }, + { + title: '默认联系人', + dataIndex: 'defaultContact_name', + sorter: true, + width: 150, + }, + { + title: '手机', + dataIndex: 'defaultContact_mobile', + sorter: true, + width: 150, + }, { title: '电话', dataIndex: 'tel', @@ -281,6 +296,46 @@ export const columns: BasicColumn[] = [ sorter: true, width: 150, }, + { + title: '职务', + dataIndex: 'defaultContact_jobs', + sorter: true, + width: 200, + customRender: ({ text }) => { + let RData = '' + if (text) { + text.forEach((e) => { + Jobres.forEach((item) => { + if (item.value == e) { + RData = RData == '' ? item.label : `${RData},${item.label}` + } + }) + }) + } + return RData + }, + }, + { + title: '账期', + dataIndex: 'lastAccountDate_accountType', + sorter: true, + width: 150, + customRender: ({ text }) => { + let RData = text + accountTypeList.forEach((e) => { + if (e.value == text) { + RData = e.label + } + }) + return RData + }, + }, + { + title: '末次合作时间', + dataIndex: 'etd', + sorter: true, + width: 150, + }, { title: '备注', @@ -343,6 +398,21 @@ export const searchFormSchema: FormSchema[] = [ unCheckedValue: false, }, }, + { + field: 'etd', + label: '超期未合作客户', + component: 'Select', + colProps: { span: 4 }, + defaultValue: false, + componentProps: { + options: [ + { value: 1, label: '1月' }, + { value: 2, label: '2月' }, + { value: 3, label: '3月' }, + { value: 4, label: '6月' }, + ], + }, + }, { label: '客户属性', field: 'clientTag', diff --git a/src/views/baseinfo/infoclient/index.vue b/src/views/baseinfo/infoclient/index.vue index 445960b2..c1f538d3 100644 --- a/src/views/baseinfo/infoclient/index.vue +++ b/src/views/baseinfo/infoclient/index.vue @@ -71,7 +71,7 @@ import { useRoute } from 'vue-router' const route = useRoute() import { useAppStore } from '/@/store/modules/app' - import { e } from 'unocss' + import dayjs from 'dayjs' const appStore = useAppStore() const [registerTable, { reload, getForm, getSelectRows }] = useTable({ title: '', @@ -83,6 +83,19 @@ const ids = res.data.map((item) => { return item.id }) + res.data.forEach((e) => { + if (e?.lastAccountDate) { + Object.keys(e.lastAccountDate).forEach((item) => { + e[`lastAccountDate_${item}`] = e.lastAccountDate[item] + }) + } + if (e.defaultContact) { + Object.keys(e.defaultContact).forEach((item) => { + e[`defaultContact_${item}`] = e.defaultContact[item] + }) + } + }) + appStore.setIds(ids, 'wldw') let Sourceres = await GetClientSourceSelectList() if (Sourceres.succeeded && Sourceres?.data) { @@ -112,12 +125,26 @@ } else if (route.path == '/Supplierinfoclient') { p.isSupplier = 1 } + console.log(p) - return formatParams( + let Rdata = formatParams( p, ['isCustomer', 'isSupplier'], - ['contactInfo', 'isContractExpired', 'clientTag'] + ['contactInfo', 'isContractExpired', 'clientTag'], ) + if (p.etd) { + const now = dayjs() + const MonthsLater = now.add(p.etd, 'month') + let etd = JSON.parse(Rdata.queryCondition) + etd.forEach((item) => { + if (item.FieldName == 'etd') { + item.FieldValue = MonthsLater.format('YYYY-MM-DD') + item.ConditionalType = 2 + } + }) + Rdata.queryCondition = JSON.stringify(etd) + } + return Rdata }, columns, formConfig: { diff --git a/src/views/bookingcabin/generation/index.vue b/src/views/bookingcabin/generation/index.vue index 03e6b35d..f1690e5b 100644 --- a/src/views/bookingcabin/generation/index.vue +++ b/src/views/bookingcabin/generation/index.vue @@ -58,7 +58,7 @@ import { useMessage } from '/@/hooks/web/useMessage' import { getOptions } from '/@/hooks/dict' const { createMessage } = useMessage() import { BasicColumn, FormSchema } from '/@/components/Table' -import { GetControllerClientList, GetSaleUserList, GetCustomerServiceList, GetVouchingClerkList,GetSaleList } from '/@/views/operation/seaexport/api/BookingLedger' +import { GetControllerClientList, GetSaleUserList, GetCustomerServiceList, GetVouchingClerkList,GetSaleList,GetOperatorUserList,GetLaneUserList } from '/@/views/operation/seaexport/api/BookingLedger' import { GetClientInfoWithContact } from './api' import { GetClientListByCode } from '/@/api/common' import dayjs from 'dayjs'; @@ -245,7 +245,7 @@ const formSchema: FormSchema[] = [ colProps: { span: 6 }, componentProps: ({ formModel }) => { return { - api: GetCustomerServiceList, + api: GetOperatorUserList, labelField: 'pinYinCode', valueField: 'userName', showName: 'userName', @@ -353,7 +353,7 @@ const formSchema: FormSchema[] = [ colProps: { span: 6 }, componentProps: ({ formModel }) => { return { - api: GetCustomerServiceList, + api: GetLaneUserList, labelField: 'pinYinCode', valueField: 'userName', showName: 'userName', @@ -380,7 +380,7 @@ const formSchema: FormSchema[] = [ colProps: { span: 6 }, componentProps: ({ formModel }) => { return { - api: GetCustomerServiceList, + api: GetLaneUserList, labelField: 'pinYinCode', valueField: 'userName', showName: 'userName', diff --git a/src/views/operation/invoiceIssue/detail/editCompent.vue b/src/views/operation/invoiceIssue/detail/editCompent.vue new file mode 100644 index 00000000..49f8bc7c --- /dev/null +++ b/src/views/operation/invoiceIssue/detail/editCompent.vue @@ -0,0 +1,36 @@ + + + \ No newline at end of file diff --git a/src/views/operation/invoiceIssue/detail/index.vue b/src/views/operation/invoiceIssue/detail/index.vue index 301a4bbf..173c90f8 100644 --- a/src/views/operation/invoiceIssue/detail/index.vue +++ b/src/views/operation/invoiceIssue/detail/index.vue @@ -74,11 +74,55 @@ +
+ +
+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/views/system/CodeDataRuleTemplate/columnView.vue b/src/views/system/CodeDataRuleTemplate/columnView.vue index e6cc7da7..ccf293f4 100644 --- a/src/views/system/CodeDataRuleTemplate/columnView.vue +++ b/src/views/system/CodeDataRuleTemplate/columnView.vue @@ -5,9 +5,9 @@
-
+
- @@ -38,7 +38,7 @@ 添加条件 - + 删除整组 @@ -103,12 +103,12 @@ const emit = defineEmits(['toSearch']) const modalFlag = ref(false) const queryData = reactive({ logicalOperator: '0', - conditions: [], + groups: [], }) // 默认模版数据 const queryOldData = reactive({ logicalOperator: '0', - conditions: [ + groups: [ { logicalOperator: '0', conditions: [ @@ -207,7 +207,7 @@ const operatorOptions = [ // 存储接口返回的查询条件 const sourceData = { logicalOperator: '', - conditions: '', + groups: '', } function filterOption(input, option) { return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 @@ -218,12 +218,12 @@ const init = (IsApiData) => { if (props.IsApi) { const content = IsApiData ? IsApiData : {} const source = JSON.parse(JSON.stringify(queryOldData)) - if (content && content?.conditions?.length) { + if (content && content?.groups?.length) { queryData.logicalOperator = content.logicalOperator - queryData.conditions = content.conditions + queryData.groups = content.groups } else { queryData.logicalOperator = source.logicalOperator - queryData.conditions = source.conditions + queryData.groups = source.groups } } else { let source = JSON.parse(JSON.stringify(queryOldData)) @@ -231,7 +231,7 @@ const init = (IsApiData) => { source = JSON.parse(IsApiData) } queryData.logicalOperator = source.logicalOperator - queryData.conditions = source.conditions + queryData.groups = source.groups } } @@ -246,11 +246,11 @@ const changeHandle = (e, row) => { } // 删除单组 const deleteItem = (index, key) => { - queryData.conditions[index].conditions.splice(key, 1) + queryData.groups[index].conditions.splice(key, 1) } // 添加行 const addRow = (index) => { - queryData.conditions[index].conditions.push({ + queryData.groups[index].conditions.push({ field: null, operator: null, value: '', @@ -259,11 +259,11 @@ const addRow = (index) => { } // 删除组 const deleteGroup = (index) => { - queryData.conditions.splice(index, 1) + queryData.groups.splice(index, 1) } // 添加组 const addGroup = () => { - queryData.conditions.push({ + queryData.groups.push({ logicalOperator: 'and', conditions: [ {