06/21
commit
90db7d8d26
@ -0,0 +1,90 @@
|
|||||||
|
<!--
|
||||||
|
* @Description: 审核审批 -> 修改后的新值
|
||||||
|
* @Author: lijj
|
||||||
|
* @Date: 2024-06-13 17:08:08
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="ds-approve-alter-new-value">
|
||||||
|
<a-spin :spinning="loading">
|
||||||
|
<a-form layout="vertical" class="ds-form-detail">
|
||||||
|
<a-row :gutter="15">
|
||||||
|
<a-col v-for="item in list" :span="item.span" :key='item.value'>
|
||||||
|
<a-form-item
|
||||||
|
:label="item.label"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<span v-if="item.field != 'isAdvancedPay'">
|
||||||
|
{{ detailData[item.field] || '-' }}
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
{{ detailData[item.field] ? '是' : '否' }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { onMounted, ref, reactive, defineProps, watch, defineEmits } from 'vue'
|
||||||
|
import { GetModifyValue } from '../api'
|
||||||
|
const props = defineProps({
|
||||||
|
// 勾选中的id
|
||||||
|
id: {
|
||||||
|
type: String
|
||||||
|
},
|
||||||
|
selectRow: {
|
||||||
|
type: Object
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const list = [
|
||||||
|
{ label: '费用名称', field: 'feeName', span: 5 },
|
||||||
|
{ label: '费用对象', field: 'customerName', span: 5 },
|
||||||
|
{ label: '核算单位', field: 'saleOrg', span: 5 },
|
||||||
|
{ label: '单位标准', field: 'unitText', span: 5 },
|
||||||
|
{ label: '不含税单价', field: 'noTaxPrice', span: 5 },
|
||||||
|
{ label: '税率', field: 'taxRate', span: 5 },
|
||||||
|
{ label: '含税单价', field: 'unitPrice', span: 5 },
|
||||||
|
{ label: '计费数量', field: 'quantity', span: 5 },
|
||||||
|
{ label: '不含税金额', field: 'noTaxAmount', span: 5 },
|
||||||
|
{ label: '含税金额', field: 'amount', span: 5 },
|
||||||
|
{ label: '币别', field: 'currency', span: 5 },
|
||||||
|
{ label: '汇率', field: 'exchangeRate', span: 5 },
|
||||||
|
{ label: '财务税率', field: 'accTaxRate', span: 5 },
|
||||||
|
{ label: '是否垫付', field: 'isAdvancedPay', span: 5 },
|
||||||
|
{ label: '修改原因', field: 'reason', span: 5 },
|
||||||
|
{ label: '责任人', field: 'manager', span: 5 },
|
||||||
|
{ label: '备注', field: 'remark', span: 5 },
|
||||||
|
{ label: '申请人', field: 'updateBy', span: 5 },
|
||||||
|
{ label: '申请时间', field: 'updateTime', span: 5 },
|
||||||
|
{ label: '更改前利润', field: 'updateTime', span: 5 },
|
||||||
|
{ label: '更改后利润', field: 'updateTime', span: 5 },
|
||||||
|
{ label: '利润差额', field: 'updateTime', span: 5 },
|
||||||
|
]
|
||||||
|
const detailData = ref({})
|
||||||
|
const loading = ref(false)
|
||||||
|
const init =() => {
|
||||||
|
if (props.id) {
|
||||||
|
loading.value = true
|
||||||
|
GetModifyValue({ id: props.id }).then(res => {
|
||||||
|
loading.value = false
|
||||||
|
detailData.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
init()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less">
|
||||||
|
.ds-approve-alter-new-value {
|
||||||
|
background: #ffffff;
|
||||||
|
height: 100%;
|
||||||
|
padding: 5px 10px;
|
||||||
|
border: 1px solid #d1d1d1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* @Description: 费用管理 -> 币别设置接口
|
||||||
|
* @Author: lijj
|
||||||
|
* @Date: 2024-04-25 15:48:33
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { request } from '/@/utils/request'
|
||||||
|
import { DataResult, PageRequest } from '/@/api/model/baseModel'
|
||||||
|
enum Api {
|
||||||
|
list = '/feeApi/PaymentApplication/GetList',
|
||||||
|
edit = '/feeApi/FeeCurrency/EditFeeCurrency',
|
||||||
|
info = '/feeApi/FeeCurrency/GetFeeCurrencyInfo'
|
||||||
|
}
|
||||||
|
// 列表 (Auth)
|
||||||
|
export function GetList(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.list,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 编辑 (Auth)
|
||||||
|
export function editFeeCurrency(data: PageRequest) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.edit,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 详情 (Auth)
|
||||||
|
export function getFeeCurrencyInfo(query) {
|
||||||
|
return request<DataResult>({
|
||||||
|
url: Api.info,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
@ -0,0 +1,306 @@
|
|||||||
|
/*
|
||||||
|
* @Description: 币别设置tsx
|
||||||
|
* @Author: lijj
|
||||||
|
* @Date: 2024-04-25 15:48:33
|
||||||
|
*/
|
||||||
|
import { ref } from 'vue'
|
||||||
|
import { BasicColumn, FormSchema } from '/@/components/Table'
|
||||||
|
import { getOptions } from '/@/hooks/dict'
|
||||||
|
import { getDictOption } from '/@/utils/dictUtil'
|
||||||
|
import { useOptionsStore } from '/@/store/modules/options'
|
||||||
|
const optionsStore = useOptionsStore()
|
||||||
|
// 申请单状态
|
||||||
|
const ApplyBillStatus = ref([])
|
||||||
|
getDictOption('apply_bill_status').then((res) => {
|
||||||
|
ApplyBillStatus.value = res
|
||||||
|
})
|
||||||
|
// 结算对象下拉数据
|
||||||
|
import { GetClientListByCode } from '/@/api/common'
|
||||||
|
// 人员下拉
|
||||||
|
import { getList } from '/@/views/flowcenter/flowInstances/api'
|
||||||
|
// 费用状态
|
||||||
|
export const FeeStatus = [ '审核通过' ,'录入状态', '提交审核', '申请修改 ', '申请删除', '撤销申请', '驳回提交', '驳回申请, 部分结算, 结算完毕']
|
||||||
|
export const columns: BasicColumn[] = [
|
||||||
|
{
|
||||||
|
title: '申请单号',
|
||||||
|
dataIndex: 'applicationNO',
|
||||||
|
width: 150,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '状态',
|
||||||
|
dataIndex: 'status',
|
||||||
|
width: 100,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '结算单位',
|
||||||
|
dataIndex: 'customerName',
|
||||||
|
width: 150,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '币别',
|
||||||
|
dataIndex: 'currency',
|
||||||
|
width: 80,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'RMB',
|
||||||
|
dataIndex: 'amountRMB',
|
||||||
|
width: 100,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'USD',
|
||||||
|
dataIndex: 'amountUSD',
|
||||||
|
width: 100,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '其他币别',
|
||||||
|
dataIndex: 'amountOther',
|
||||||
|
width: 100,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: '结算RMB',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '结算USD',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '结算其他币别',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: '申请日期',
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
width: 120,
|
||||||
|
align: 'left'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '申请人',
|
||||||
|
dataIndex: 'createByName',
|
||||||
|
width: 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '申请支付日期',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '最后审核日期',
|
||||||
|
dataIndex: 'auditTime',
|
||||||
|
width: 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '最后审核人',
|
||||||
|
dataIndex: 'auditerName',
|
||||||
|
width: 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '结算对象银行',
|
||||||
|
dataIndex: 'customerBank',
|
||||||
|
width: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '结算对象账户',
|
||||||
|
dataIndex: 'customerBAN',
|
||||||
|
width: 140
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '备注',
|
||||||
|
dataIndex: 'note',
|
||||||
|
width: 150
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: '已开发票',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '发票备注',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '预计结算RMBRMB',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '预计结算RMBUSD',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '预计结算其他',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '未申请',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '未申请USD',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '未申请其他',
|
||||||
|
// dataIndex: 'financeSoftCode',
|
||||||
|
// width: 200
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: '委托单位',
|
||||||
|
dataIndex: 'client',
|
||||||
|
width: 120
|
||||||
|
},
|
||||||
|
////////////////////
|
||||||
|
{
|
||||||
|
title: '申请方式',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '已打印',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '入账申请编号',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '驳回原因',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '结算方式',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '申请部门',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '打印次数',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '所属分部',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '发票日期',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '发票金额',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '收到发票',
|
||||||
|
dataIndex: 'financeSoftCode',
|
||||||
|
width: 200
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export const searchFormSchema: FormSchema[] = [
|
||||||
|
{
|
||||||
|
field: 'billNO',
|
||||||
|
label: '业务编号',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'applicationNO',
|
||||||
|
label: '申请单编号',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'customerId',
|
||||||
|
label: '结算单位',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
componentProps: () => {
|
||||||
|
return {
|
||||||
|
api: GetClientListByCode,
|
||||||
|
labelField: 'shortName',
|
||||||
|
valueField: 'id',
|
||||||
|
resultField: 'data',
|
||||||
|
immediate: false,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'billStatus',
|
||||||
|
label: '申请单状态',
|
||||||
|
component: 'Select',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
componentProps: {
|
||||||
|
options: ApplyBillStatus,
|
||||||
|
allowClear: true,
|
||||||
|
showSearch: true,
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'applicationNO',
|
||||||
|
label: '发票备注',
|
||||||
|
component: 'Input',
|
||||||
|
colProps: { span: 4 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'createTime',
|
||||||
|
label: '费用申请日期',
|
||||||
|
component: 'RangePicker',
|
||||||
|
required: false,
|
||||||
|
dynamicDisabled: false,
|
||||||
|
colProps: { span: 4 },
|
||||||
|
componentProps: {
|
||||||
|
allowClear: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'createBy',
|
||||||
|
label: '申请人',
|
||||||
|
component: 'ApiSelect',
|
||||||
|
colProps: { span: 4 },
|
||||||
|
componentProps: () => {
|
||||||
|
return {
|
||||||
|
api: getList,
|
||||||
|
labelField: 'label',
|
||||||
|
valueField: 'value',
|
||||||
|
immediate: false,
|
||||||
|
resultField: 'data',
|
||||||
|
filterOption: (input: string, option: any) => {
|
||||||
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,208 @@
|
|||||||
|
<!--
|
||||||
|
* @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">
|
||||||
|
<i class="iconfont icon-jiahao2fill"></i>入账申请加入
|
||||||
|
</div>
|
||||||
|
<div class="nav"
|
||||||
|
><i class="iconfont icon-fuzhi"></i>提交审核</div
|
||||||
|
>
|
||||||
|
<div class="nav"
|
||||||
|
><i class="iconfont icon-fuzhi1"></i>撤销提交</div
|
||||||
|
>
|
||||||
|
<a-popconfirm
|
||||||
|
title="确定删除当前选中订舱?"
|
||||||
|
ok-text="是"
|
||||||
|
cancel-text="否"
|
||||||
|
@confirm="removeMoreFun"
|
||||||
|
>
|
||||||
|
<div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div>
|
||||||
|
</a-popconfirm>
|
||||||
|
<div class="nav"><i class="iconfont icon-xiaopiaodayin"></i>打印</div>
|
||||||
|
|
||||||
|
<div class="nav">
|
||||||
|
<i class="iconfont icon-shishijifei"></i>导出Excel
|
||||||
|
</div>
|
||||||
|
</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'
|
||||||
|
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}`)
|
||||||
|
}
|
||||||
|
// 复制
|
||||||
|
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,
|
||||||
|
})
|
||||||
|
// 删除
|
||||||
|
function removeMoreFun() {
|
||||||
|
const select = props.selectRow()
|
||||||
|
if (select.length === 0) {
|
||||||
|
createMessage.warning('请选择操作订单!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
const removeArr = select.map((item) => {
|
||||||
|
return item.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.ds-table-action-bar {
|
||||||
|
padding: 0 10px;
|
||||||
|
.nav {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0);
|
||||||
|
padding: 0 10px;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 26px;
|
||||||
|
color: #000;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&: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>
|
@ -0,0 +1,111 @@
|
|||||||
|
<!--
|
||||||
|
* @Description: 操作管理 -> 付费申请
|
||||||
|
* @Author: lijj
|
||||||
|
* @Date: 2024-06-20 11:54:04
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="ds-pay-apply">
|
||||||
|
<BasicTable @register="registerTable">
|
||||||
|
<template #toolbar>
|
||||||
|
<TableActionBar :selectRow="getSelectRows" :reload="reload"></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>
|
||||||
|
</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>
|
||||||
|
</template>
|
||||||
|
</BasicTable>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { onMounted, ref } from 'vue'
|
||||||
|
import { BasicTable, useTable } from '/@/components/Table'
|
||||||
|
import TableActionBar from './components/tableActionBar.vue'
|
||||||
|
import { useMessage } from '/@/hooks/web/useMessage'
|
||||||
|
const { createMessage } = useMessage()
|
||||||
|
import { GetList } from './api'
|
||||||
|
import { columns, searchFormSchema, FeeStatus } from './columns'
|
||||||
|
const [registerTable, { reload, getForm, getPaginationRef, getSelectRows }] = useTable({
|
||||||
|
title: '',
|
||||||
|
api: async (p) => {
|
||||||
|
const res = await GetList(p)
|
||||||
|
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.UserName) {
|
||||||
|
condition.push({
|
||||||
|
FieldName: 'UserName',
|
||||||
|
FieldValue: data.UserName,
|
||||||
|
ConditionalType: 1,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!!data.UserCode) {
|
||||||
|
condition.push({
|
||||||
|
FieldName: 'UserCode',
|
||||||
|
FieldValue: data.UserCode,
|
||||||
|
ConditionalType: 1,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
postParam.queryCondition = JSON.stringify(condition)
|
||||||
|
// console.log(postParam);
|
||||||
|
return postParam
|
||||||
|
},
|
||||||
|
columns,
|
||||||
|
formConfig: {
|
||||||
|
labelWidth: 120,
|
||||||
|
schemas: searchFormSchema,
|
||||||
|
},
|
||||||
|
isTreeTable: false,
|
||||||
|
pagination: true,
|
||||||
|
striped: false,
|
||||||
|
useSearchForm: true,
|
||||||
|
showTableSetting: true,
|
||||||
|
bordered: true,
|
||||||
|
showIndexColumn: true,
|
||||||
|
canResize: false,
|
||||||
|
rowSelection: { type: 'checkbox' },
|
||||||
|
immediate: false
|
||||||
|
})
|
||||||
|
const copyNo = (e, v) => {
|
||||||
|
e.stopPropagation()
|
||||||
|
navigator.clipboard.writeText(v)
|
||||||
|
createMessage.success("复制成功")
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
//初始化
|
||||||
|
reload()
|
||||||
|
})
|
||||||
|
function handleSuccess() {
|
||||||
|
reload()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less">
|
||||||
|
.ds-pay-apply {
|
||||||
|
.vben-basic-table-header__toolbar {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue