szh-new
张同海 5 months ago
parent ef8079b2b3
commit 9270da0014

@ -456,9 +456,9 @@
}
}
.ant-table-small {
font-size: 12px!important;
font-size: 12px !important;
.ant-table-cell {
padding: 5px 8px!important;
padding: 9px 15px !important;
}
}
</style>

@ -50,13 +50,13 @@ html[data-theme='dark'] {
.ant-pagination-next,
.ant-pagination-item {
margin: 0 4px !important;
background-color: #f4f4f5 !important;
// background-color: #f4f4f5 !important;
border: none;
border-radius: none !important;
font-weight: 400 !important;
a {
margin-top: 1px;
color: #606266;
color: rgba(122, 135, 152, 1) !important;
}
&:last-child {
@ -65,24 +65,51 @@ html[data-theme='dark'] {
}
.ant-pagination-item-active {
background-color: @primary-color !important;
// background-color: @primary-color !important;
border: none;
border-radius: none !important;
a {
color: @white !important;
color: rgba(70, 145, 255, 1) !important;
}
}
.ant-pagination-options {
margin-left: 12px;
.ant-select-selector {
width: 100px !important;
height: 20px !important;
border: none !important;
text-align: center;
border-radius: 4px;
background: rgba(240, 244, 250, 1);
.ant-select-selection-item {
padding: 0 !important;
font-size: 12px;
font-weight: 400;
letter-spacing: 1px;
line-height: 20px !important;
color: rgba(122, 135, 152, 1);
}
}
.ant-select-arrow {
display: none !important;
}
}
.ant-pagination-options-quick-jumper input {
height: 22px;
margin: 0 6px;
line-height: 22px;
border: none !important;
text-align: center;
border-radius: 4px;
background: rgba(240, 244, 250, 1);
line-height: 22px;
font-size: 12px;
font-weight: 400;
letter-spacing: 1px;
line-height: 20px !important;
color: rgba(122, 135, 152, 1);
}
.ant-select-arrow {

@ -56,10 +56,12 @@
// 自定义最小输入框
.ant-form-small {
.ant-input-affix-wrapper-sm, .ant-select-selector, .ant-input-number {
height: 28px!important;
.ant-input-affix-wrapper-sm,
.ant-select-selector,
.ant-input-number {
height: 28px !important;
.ant-select-selection-item {
line-height: 26px!important;
line-height: 26px !important;
}
}
.ant-picker-small {
@ -71,38 +73,63 @@
line-height: 26px;
}
.ant-form-item-label > label {
height: 20px!important;
height: 20px !important;
}
}
.ant-col-5 {
max-width: 20%!important;
max-width: 20% !important;
flex: 0;
}
.ant-modal-close-x {
text-align: right!important;
text-align: right !important;
padding-right: 15px;
}
.ant-tabs-card {
.ant-tabs-tab {
padding: 5px 15px!important;
padding: 5px 15px !important;
}
}
.ant-table-thead {
th {
background-color: #f7f9fb!important;
font-weight: 600!important;
color: #262626!important;
background-color: rgba(240, 244, 250, 1) !important;
font-size: 12px;
font-weight: 400 !important;
letter-spacing: 1px;
line-height: 15.84px;
color: rgba(51, 56, 61, 1) !important;
text-align: left !important;
vertical-align: bottom;
border: none !important;
border-bottom: 1px solid rgba(232, 232, 232, 1) !important;
&.ant-table-selection-column {
border-right: 1px solid rgba(232, 232, 232, 1) !important;
}
}
}
.ant-table-tbody {
td {
font-family: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif!important;
font-weight: 400!important;
color: #262626!important;
.ant-table-row {
td {
font-size: 12px;
letter-spacing: 0px;
line-height: 15.84px;
color: rgba(51, 56, 61, 1) !important;
text-align: left !important;
vertical-align: bottom;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial,
sans-serif !important;
font-weight: 400 !important;
color: #262626 !important;
background: rgba(255, 255, 255, 1);
border: none !important;
border-bottom: 1px solid rgba(232, 232, 232, 1) !important;
&.ant-table-selection-column {
border-right: 1px solid rgba(232, 232, 232, 1) !important;
}
}
}
}
.ant-table-cell {
@ -110,7 +137,8 @@
}
.ds-approve-mian-action-bar {
.ant-btn-link, .ant-checkbox-wrapper {
.ant-btn-link,
.ant-checkbox-wrapper {
font-size: 12px;
}
.ant-btn-link:hover {
@ -124,15 +152,17 @@
// basetbale form
.vben-basic-form {
.ant-select-selector, .ant-input-number-input-wrap {
height: 28px!important;
min-height: 28px!important;
.ant-select-selector,
.ant-input-number-input-wrap {
height: 28px !important;
min-height: 28px !important;
}
.ant-select-selection-search-input {
height: 26px!important;
height: 26px !important;
}
.ant-select-selection-item, .ant-select-selection-placeholder {
line-height: 26px!important;
.ant-select-selection-item,
.ant-select-selection-placeholder {
line-height: 26px !important;
}
.ant-select-selection-placeholder {
line-height: 26px;

@ -1,5 +1,9 @@
h1, h2, h3, h4, h5 {
font-weight: 600;
h1,
h2,
h3,
h4,
h5 {
font-weight: 600;
color: #262626;
padding: 0;
margin: 0;
@ -14,18 +18,18 @@ h2 {
}
h3 {
font-size: 14px;
font-weight: bold!important;
font-weight: bold !important;
height: 40px;
line-height: 40px;
padding-left: 15px;
border-bottom: 0.7px solid #D9D9D9;
border-bottom: 0.7px solid #d9d9d9;
}
h4 {
font-size: 12px;
}
h5 {
font-size: 12px;
color: #8C8C8C;
color: #8c8c8c;
margin-bottom: 8px;
}
@ -44,9 +48,9 @@ h5 {
overflow: hidden;
}
.ant-form-item-label {
padding: 0!important;
padding: 0 !important;
label {
font-family: PingFang SC-Semibold,PingFang SC;
font-family: PingFang SC-Semibold, PingFang SC;
font-weight: 600;
font-size: 12px;
color: #79868c;
@ -71,7 +75,7 @@ h5 {
tbody {
tr {
td {
height: 24px!important;
height: 24px !important;
line-height: 22px;
font-size: 12px;
color: #262626;
@ -90,17 +94,17 @@ h5 {
}
}
.handsontableInput {
height: 24px!important;
line-height: 24px!important;
height: 24px !important;
line-height: 24px !important;
}
.hot-green {
background: #9acd32!important;
background: #9acd32 !important;
}
.hot-yellow {
background: #FFE37E!important;
background: #ffe37e !important;
}
.hot-red {
background-color: #FF4500;
background-color: #ff4500;
}
}
.ds-tb-check {
@ -123,27 +127,27 @@ h5 {
}
.mt2 {
margin-top: 2px!important;
margin-top: 2px !important;
}
.mt5 {
margin-top: 5px!important;
margin-top: 5px !important;
}
.mt10 {
margin-top: 10px!important;
margin-top: 10px !important;
}
.mr10 {
margin-right: 10px!important;
margin-right: 10px !important;
}
.mb10 {
margin-bottom: 10px!important;
margin-bottom: 10px !important;
}
.ml10 {
margin-left: 10px!important;
margin-left: 10px !important;
}
.ds-card {
@ -152,40 +156,57 @@ h5 {
}
.mr15 {
margin-right: 15px!important;
margin-right: 15px !important;
}
// 使
.ds-green-tag, .ds-blue-tag, .ds-orange-tag, .ds-red-tag, .ds-purple-tag {
padding: 2px 10px 3px;
.ds-green-tag,
.ds-blue-tag,
.ds-orange-tag,
.ds-red-tag,
.ds-purple-tag {
padding: 5px 13px;
border-radius: 30px;
font-size: 12px;
// font-size: 10px;
font-size: 11px;
font-weight: 700 !important;
color: #ffffff;
display: inline-block;
vertical-align: bottom;
}
.ds-green-tag {
background-color: #9acd32;
background-color: rgba(223, 247, 247, 1);
color: rgba(43, 176, 194, 1);
}
.ds-blue-tag {
background-color: #096dd9;
background-color: rgba(222, 242, 255, 1);
color: rgba(70, 145, 255, 1);
}
.ds-orange-tag {
background-color: #d46b08;
background-color: rgba(255, 232, 204, 1);
color: rgba(219, 146, 72, 1);
}
.ds-red-tag {
background-color: #ff2626;
background-color: rgba(255, 232, 232, 1);
color: rgba(255, 128, 145, 1);
}
.ds-purple-tag {
background-color: #531dab;
background-color: rgba(232, 232, 255, 1);
color: rgba(137, 124, 222, 1);
}
// 使2
.ds-green-status, .ds-blue-status, .ds-orange-status, .ds-red-status, .ds-purple-status, .ds-grey-status {
.ds-green-status,
.ds-blue-status,
.ds-orange-status,
.ds-red-status,
.ds-purple-status,
.ds-grey-status {
font-family: Arial, Helvetica, sans-serif;
font-weight: 600;
}
@ -199,11 +220,11 @@ h5 {
}
.ds-orange-status {
color: #E1A200;
color: #e1a200;
}
.ds-red-status {
color: #F5222D;
color: #f5222d;
}
.ds-purple-status {
@ -211,5 +232,5 @@ h5 {
}
.ds-grey-status {
color: #8C8C8C;
color: #8c8c8c;
}

@ -70,12 +70,12 @@ code {
}
.ant-table-container::after{
width: 1px !important;
width: 0px !important;
box-shadow: none !important;
background: #F0F0F0;
}
.ant-table-container::before{
width: 1px !important;
width: 0px !important;
box-shadow: none !important;
background: #F0F0F0;
}

@ -5,15 +5,14 @@
-->
<template>
<div class="ds-table-action-bar">
<div class="nav" @click="addBooking">
<i class="iconfont icon-jiahao2fill"></i>新建
<div class="nav"><i class="iconfont icon-shishijifei"></i>定时订舱</div>
<div class="nav" @click="handleSearchTxxp">
<i class="iconfont icon-xiaopiaodayin"></i>小票状态
</div>
<div class="nav" @click="copyBooking"
><i class="iconfont icon-fuzhi"></i>复制</div
>
<div class="nav" @click="copyBookingMore"
><i class="iconfont icon-fuzhi1"></i>复制多票</div
>
<!-- <div class="nav" @click="addBooking"> <i class="iconfont icon-jiahao2fill"></i>新建 </div>
<div class="nav" @click="copyBookingMore"><i class="iconfont icon-fuzhi1"></i>复制多票</div>
<div class="nav">
<a-dropdown>
<span> <i class="iconfont icon-bianjiwenjian"></i>批量操作 </span>
@ -25,9 +24,9 @@
</a-menu>
</template>
</a-dropdown>
</div>
</div> -->
<a-popconfirm
<!-- <a-popconfirm
title="确定删除当前选中订舱?"
ok-text="是"
cancel-text="否"
@ -39,41 +38,7 @@
<div class="nav" @click="handleSearchTxxp">
<i class="iconfont icon-xiaopiaodayin"></i>小票状态
</div>
<!-- <div class="nav" @click="openTraceModel"
><i class="iconfont icon-yunshu1"></i>运踪订阅</div
>
<div class="nav">
<a-dropdown>
<span>
<i
class="iconfont icon-a-wendangcaozuoxiazaishangchuanshanchuxinzengfujianyasuochakan-01"
></i
>船公司文件
</span>
<template #overlay>
<a-menu>
<a-menu-item>
<a @click="handleDownByBc(1)" href="javascript:;">BC下载</a>
</a-menu-item>
<a-menu-item>
<a @click="handleDownByBc(2)" href="javascript:;">DRAFT下载</a>
</a-menu-item>
<a-menu-item>
<a @click="handleDownByBc(4)" href="javascript:;">舱位分配查询</a>
</a-menu-item>
<a-menu-item>
<a @click="handleImportBc" href="javascript:;">单票BC引入</a>
</a-menu-item>
<a-menu-item>
<a @click="handleImportBcMore" href="javascript:;">多票BC引入</a>
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
</div>
<div class="nav" @click="GoExpress"><i class="iconfont icon-goods"></i>快递</div> -->
<!-- 多票复制 -->
</div> -->
<a-modal
title="输入复制数量"
:visible="copyMoreFlag"
@ -100,7 +65,6 @@
</a-form-item>
</a-form>
</a-modal>
<!-- 批量操作 -->
<BatchModification @register="registerModal" @success="BMSuccess" />
</div>
</template>
@ -117,29 +81,17 @@
const go = useGo()
const props = defineProps({
selectRow: {
type: Function
type: Function,
},
reload: {
type: Function
}
type: Function,
},
})
//
function addBooking() {
const addNum = Math.round(Math.random() * 1000)
go(`/BookingDetail?addNum=${addNum}`)
}
//
function copyBooking() {
const select = props.selectRow()
const pkIdArr = select.map((item, index) => {
return item.id
})
if (pkIdArr.length === 0 || pkIdArr.length > 1) {
createMessage.warning('请仅选择一条数据!')
return false
}
go(`/BookingDetail?id=${pkIdArr[0]}&isCopy=${true}`)
}
const copyMoreFlag = ref(false)
const copyMoreForm = reactive({
number: 1,
@ -247,122 +199,21 @@
padding: 0 10px;
.nav {
display: inline-block;
margin-right: 8px;
margin-right: 27px;
cursor: pointer;
border: 1px solid rgba(255, 255, 255, 0);
padding: 0 10px;
height: 28px;
line-height: 26px;
color: #000;
font-size: 12px;
font-weight: 400;
letter-spacing: 1px;
line-height: 15.84px;
color: rgba(43, 176, 194, 1);
text-align: left;
.iconfont {
margin-right: 6px;
margin-right: 8px;
}
&:hover {
border: 1px solid rgba(255, 255, 255, 0);
border-radius: 4px;
}
&:nth-of-type(1) {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(2) {
.iconfont {
color: #865ef8;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(3) {
.iconfont {
color: #ff9702;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(4) {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(5) {
.iconfont {
color: #ff1062;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(6) {
.iconfont {
color: #1ebeca;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(7) {
.iconfont {
color: #82c93d;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(8) {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
&:nth-of-type(9) {
.iconfont {
color: #f6826b;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
}
}
}
}
</style>
</style>

@ -0,0 +1,213 @@
<!--
* @Description: 海运出口列表
* @Author: lijj
* @Date: 2024-04-29 11:54:04
-->
<template>
<div class="ds-table-action-bar">
<div class="nav" @click="addBooking"> <i class="iconfont icon-jiahao2fill"></i>新建 </div>
<div class="nav" @click="copyBookingMore"><i class="iconfont icon-fuzhi1"></i>复制多票</div>
<div class="nav">
<a-dropdown>
<span> <i class="iconfont icon-bianjiwenjian"></i>批量操作 </span>
<template #overlay>
<a-menu>
<a-menu-item>
<a @click="batchEditing()" href="javascript:;">批量编辑</a>
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
</div>
<a-popconfirm
title="确定删除当前选中订舱?"
ok-text="是"
cancel-text="否"
@confirm="removeMoreFun"
>
<div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div>
</a-popconfirm>
<a-modal
title="输入复制数量"
:visible="copyMoreFlag"
:footer="null"
@cancel="copyMoreFlag = false"
>
<a-form
ref="RefcopyMoreForm"
:model="copyMoreForm"
:label-col="{ span: 5 }"
:wrapper-col="{ span: 12 }"
@submit="handleSubmitCopyMore"
:style="{ padding: '10px' }"
>
<a-form-item
label="数量"
name="number"
:rules="[{ required: true, message: '请输入数量' }]"
>
<a-input-number :min="1" :max="10" v-model:value="copyMoreForm.number" />
</a-form-item>
<a-form-item :wrapper-col="{ span: 12, offset: 5 }">
<a-button type="primary" html-type="submit">确定</a-button>
</a-form-item>
</a-form>
</a-modal>
<BatchModification @register="registerModal" @success="BMSuccess" />
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref, defineProps, reactive } from 'vue'
import { useGo } from '/@/hooks/web/usePage'
import { useMessage } from '/@/hooks/web/useMessage'
import { useRouter } from 'vue-router'
import { useModal } from '/@/components/Modal'
import { SeaExportBatchDel, SaveBookingTxxp } from '../api/BookingLedger.js'
import BatchModification from '../modules/BatchModification.vue'
const router = useRouter()
const { createMessage } = useMessage()
const go = useGo()
const props = defineProps({
selectRow: {
type: Function,
},
reload: {
type: Function,
},
})
//
function addBooking() {
const addNum = Math.round(Math.random() * 1000)
go(`/BookingDetail?addNum=${addNum}`)
}
const copyMoreFlag = ref(false)
const copyMoreForm = reactive({
number: 1,
})
//
function copyBookingMore() {
const select = props.selectRow()
const pkIdArr = select.map((item, index) => {
return item.id
})
if (pkIdArr.length === 0 || pkIdArr.length > 1) {
createMessage.warning('请仅选择一条数据!')
return false
}
copyMoreFlag.value = true
}
function handleSubmitCopyMore(e) {
const select = props.selectRow()
const pkIdArr = select.map((item) => {
return item.id
})
for (let index = 0; index < copyMoreForm.number; index++) {
setTimeout(() => {
console.log(`/?id=${pkIdArr[0]}&isCopy=${true}&copyId=${index}`)
router.push({
path: '/BookingDetail',
query: { id: pkIdArr[0], isCopy: true, copyId: index },
})
}, 100)
}
copyMoreFlag.value = false
}
//
const [registerModal, { openModal }] = useModal()
//
const batchFlag = ref(false)
//
function batchEditing() {
const select = props.selectRow()
if (select.length === 0) {
createMessage.warning('请选择操作订单!')
return false
}
const removeArr = select.map((item) => {
return item.id
})
batchFlag.value = true
openModal(true, { removeArr, flag: true })
}
function BMSuccess() {
props.reload()
}
//
function removeMoreFun() {
const select = props.selectRow()
if (select.length === 0) {
createMessage.warning('请选择操作订单!')
return false
}
const removeArr = select.map((item) => {
return item.id
})
deleteBookingOrder(removeArr)
}
//
function deleteBookingOrder(arr) {
let api = []
arr.forEach((e, i) => {
api.push(e)
})
SeaExportBatchDel({ ids: api })
.then((res) => {
if (res.succeeded) {
createMessage.success('删除成功!')
props.reload()
}
})
.catch((err) => {
console.log(err)
})
}
const xGrid = ref()
const txxpForm = ref({})
//
function handleSearchTxxp() {
return
const select = xGrid.value.getCheckboxRecords()
if (select.length === 0) {
createMessage.warning('请选择操作订单!')
return false
}
const pkIdArr = select.map((item, index) => {
return item.id
})
SaveBookingTxxp({ Id: pkIdArr[0] }).then((res) => {
if (res.succeeded) {
txxpForm.value = res.data
}
})
}
</script>
<style lang="scss" scoped>
.ds-table-action-bar {
flex: 1;
text-align: right;
padding: 0 10px;
.nav {
display: inline-block;
margin-right: 27px;
cursor: pointer;
font-size: 12px;
font-weight: 400;
letter-spacing: 1px;
line-height: 15.84px;
color: rgba(51, 56, 61, 1);
text-align: left;
.iconfont {
color: rgba(37, 122, 250, 1);
margin-right: 8px;
font-size: 14px;
}
&:hover {
border: 1px solid rgba(255, 255, 255, 0);
border-radius: 4px;
}
}
}
</style>

@ -6,9 +6,12 @@
<template>
<div class="ds-sea-export-table">
<BasicTable @register="registerTable" @row-dbClick="handledbclick">
<template #toolbar>
<template #tableTitle>
<TableActionBar :selectRow="getSelectRows" :reload="reload"></TableActionBar>
</template>
<template #toolbar>
<tableActionBarRight :selectRow="getSelectRows" :reload="reload"></tableActionBarRight>
</template>
<template #form-more>
<a-button type="link" @click="tableMoreRefresh"></a-button>
<a-button type="link" @click="FnOpenAdvancedQuery"></a-button>
@ -53,6 +56,26 @@
<Icon icon="ant-design:copy-outlined" @click="FnCopy(record.mblno)" />
</div>
</template>
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:copy-outlined',
tooltip: '复制',
onClick: () => {
copyBooking(record)
},
},
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: () => {
handledbclick(record)
},
},
]"
/>
</template>
</template>
</BasicTable>
<!-- 多提单号查询 -->
@ -162,9 +185,10 @@
</template>
<script lang="ts" setup name="海运出口">
import TableActionBar from './components/tableActionBar.vue'
import tableActionBarRight from './components/tableActionBarRight.vue'
import ConditionFilter from '/@/components/Condition/index.vue'
import { onMounted, ref } from 'vue'
import { BasicTable, useTable } from '/@/components/Table'
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { PageDataByBooking, UpdateUserQuerySet, GetUserQuerySet } from './api/BookingLedger.js'
import { getColumnsByClient } from '/@/views/baseinfo/formcopy/api'
import { useModal } from '/@/components/Modal'
@ -359,10 +383,27 @@
striped: true,
useSearchForm: true,
showTableSetting: true,
tableSetting: {
redo: false,
size: false,
setting: true,
fullScreen: false,
},
bordered: true,
showIndexColumn: true,
canResize: false,
indexColumnProps: {
width: 60,
},
canResize: true,
resizeHeightOffset: 35,
immediate: false,
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
// showSummary: true,
})
function editColumns(row) {
if (row.mblno) {
@ -542,9 +583,13 @@
AdvancedQueryData.value = JSON.parse(res.data.content)
}
}
function handledbclick(record, index, event) {
function handledbclick(record) {
editColumns(record)
}
//
function copyBooking(record) {
go(`/BookingDetail?id=${record.id}&isCopy=${true}`)
}
onMounted(() => {
//
reload()

Loading…
Cancel
Save