提交代码
This commit is contained in:
parent
063312b5a6
commit
7ba3f01f4c
|
|
@ -26,7 +26,7 @@
|
|||
<div class="bennian" style="margin-left: 10px;">本 年</div>
|
||||
</div>
|
||||
<div class="flexEndCenter" style="margin-top: 11px;">
|
||||
<div class="shangyinianMoney" style="margin-left: 10px;">{{ formatValue(yingshouObj.lastReceivablesDate) }}</div>
|
||||
<div class="shangyinianMoney" style="margin-left: 10px;">{{ formatValue(yingshouObj.LastReceivablesDate) }}</div>
|
||||
<div class="shangyinian" style="margin-left: 10px;">上一年</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -181,6 +181,7 @@ import { getAction } from '@/api/manage'
|
|||
// 获取总支出
|
||||
async zongzhichu() {
|
||||
const res = await getAction(`/contract/bigscreen/expenditureSum`)
|
||||
console.log('总支出', res)
|
||||
this.zongzhichuObj = res.data
|
||||
},
|
||||
// 获取毛利润
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ export const tableColumns = [
|
|||
width: [190, 210],
|
||||
},
|
||||
{
|
||||
title: "其他返点",
|
||||
title: "其他返点1",
|
||||
dataIndex: "otherReverPoit",
|
||||
dataIndexType: "media",
|
||||
align: "right",
|
||||
|
|
@ -244,13 +244,29 @@ export const tableColumns = [
|
|||
width: [102, 135],
|
||||
},
|
||||
{
|
||||
title: "其他返点金额",
|
||||
title: "其他返点2",
|
||||
dataIndex: "otherReverPoit2",
|
||||
dataIndexType: "media",
|
||||
align: "right",
|
||||
isCheck: false,
|
||||
width: [102, 135],
|
||||
},
|
||||
{
|
||||
title: "其他返点金额1",
|
||||
dataIndex: "otherReverMoney",
|
||||
dataIndexType: "media",
|
||||
align: "right",
|
||||
isCheck: false,
|
||||
width: [190, 210],
|
||||
},
|
||||
{
|
||||
title: "其他返点金额2",
|
||||
dataIndex: "otherReverMoney2",
|
||||
dataIndexType: "media",
|
||||
align: "right",
|
||||
isCheck: false,
|
||||
width: [190, 210],
|
||||
},
|
||||
// {
|
||||
// title: "合同盖章时间",
|
||||
// dataIndex: "contrantSealTime",
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@
|
|||
</template>
|
||||
<!-- 比稿返点结束 -->
|
||||
|
||||
<!-- 其他返点 -->
|
||||
<!-- 其他返点1 -->
|
||||
<template #otherReverPoit="{ record, isEdit }">
|
||||
<div
|
||||
style="
|
||||
|
|
@ -153,7 +153,24 @@
|
|||
></el-input>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 其他返点结束 -->
|
||||
<!-- 其他返点1结束 -->
|
||||
|
||||
<!-- 其他返点金额2 -->
|
||||
<template #otherReverPoit2="{ record, isEdit }">
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
align-items: center;
|
||||
text-align: right;
|
||||
"
|
||||
>
|
||||
<el-input
|
||||
v-model="record.otherReverPoit2"
|
||||
></el-input>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 其他返点2结束 -->
|
||||
</el-edit-table>
|
||||
</template>
|
||||
<!-- 媒体信息结束 -->
|
||||
|
|
@ -463,7 +480,7 @@ export default {
|
|||
const sums = [];
|
||||
columns.forEach((column, index) => {
|
||||
let total = "N/A";
|
||||
if (![8, 11, 12, 15, 17].includes(index)) {
|
||||
if (![8, 11, 12, 15, 17, 19].includes(index)) {
|
||||
return;
|
||||
}
|
||||
const values = data.map((item) => Number(item[column.property]));
|
||||
|
|
|
|||
|
|
@ -1,62 +1,37 @@
|
|||
<template>
|
||||
<div class="procurement-contract">
|
||||
<el-group-form
|
||||
ref="formRef"
|
||||
:rules="AEform.rules"
|
||||
:formModel="AEform.formModel"
|
||||
:formGroup="formGroup"
|
||||
>
|
||||
<el-group-form ref="formRef" :rules="AEform.rules" :formModel="AEform.formModel" :formGroup="formGroup">
|
||||
<!-- 发票类型开始 -->
|
||||
<template #invoiceId>
|
||||
<el-custom-select
|
||||
v-model="AEform.formModel.invoiceId"
|
||||
:dataSource="getinvoiceList"
|
||||
:remoteAdd="handleAddInvoice"
|
||||
@change="(v, t) => (AEform.formModel.invoiceName = t)"
|
||||
/>
|
||||
<el-custom-select v-model="AEform.formModel.invoiceId" :dataSource="getinvoiceList"
|
||||
:remoteAdd="handleAddInvoice" @change="(v, t) => (AEform.formModel.invoiceName = t)" />
|
||||
<!-- {{ AEform.formModel.invoiceId }} -->
|
||||
</template>
|
||||
<!-- 发票类型结束 -->
|
||||
<!-- 媒介部门开始 -->
|
||||
<template #mediaDeptId>
|
||||
<el-custom-select
|
||||
v-model="AEform.formModel.mediaDeptId"
|
||||
:dataSource="getMediaDepartment"
|
||||
:remoteAdd="handleAddMediaDepartment"
|
||||
@change="(v, t) => (AEform.formModel.mediaDeptName = t)"
|
||||
/>
|
||||
<el-custom-select v-model="AEform.formModel.mediaDeptId" :dataSource="getMediaDepartment"
|
||||
:remoteAdd="handleAddMediaDepartment" @change="(v, t) => (AEform.formModel.mediaDeptName = t)" />
|
||||
</template>
|
||||
<!-- 媒介部门结束 -->
|
||||
|
||||
<!-- 客户名称开始 -->
|
||||
<template #clientId>
|
||||
<el-custom-select
|
||||
v-model="AEform.formModel.clientId"
|
||||
:dataSource="getclientList"
|
||||
:remoteAdd="handleAddClient"
|
||||
@change="(v, t) => (AEform.formModel.clientName = t)"
|
||||
/>
|
||||
<el-custom-select v-model="AEform.formModel.clientId" :dataSource="getclientList" :remoteAdd="handleAddClient"
|
||||
@change="(v, t) => (AEform.formModel.clientName = t)" />
|
||||
</template>
|
||||
<!-- 客户名称结束 -->
|
||||
|
||||
<!-- 甲方名称开始 -->
|
||||
<template #firstId>
|
||||
<el-custom-select
|
||||
v-model="AEform.formModel.firstId"
|
||||
:dataSource="getFirstPartyList"
|
||||
:remoteAdd="handleAddFirstParty"
|
||||
@change="(v, t) => (AEform.formModel.firstName = t)"
|
||||
/>
|
||||
<el-custom-select v-model="AEform.formModel.firstId" :dataSource="getFirstPartyList"
|
||||
:remoteAdd="handleAddFirstParty" @change="(v, t) => (AEform.formModel.firstName = t)" />
|
||||
</template>
|
||||
<!-- 甲方名称结束 -->
|
||||
|
||||
<!-- 签订时间开始 -->
|
||||
<template #signTime>
|
||||
<el-date-picker
|
||||
v-model="AEform.formModel.signTime"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="AEform.formModel.signTime" value-format="yyyy-MM-dd" style="width: 100%" />
|
||||
</template>
|
||||
<!-- 签订时间结束 -->
|
||||
|
||||
|
|
@ -68,48 +43,31 @@
|
|||
|
||||
<!-- 媒体信息开始 -->
|
||||
<template #purchaseMediaBoList>
|
||||
<el-edit-table
|
||||
:columns="mediaListColumns"
|
||||
v-model="AEform.formModel.purchaseMediaBoList"
|
||||
show-summary
|
||||
:summary-method="mediaTypeSummary"
|
||||
@update-items="updateItemsPurchaseMediaBoList"
|
||||
>
|
||||
<el-edit-table :columns="mediaListColumns" v-model="AEform.formModel.purchaseMediaBoList" show-summary
|
||||
:summary-method="mediaTypeSummary" @update-items="updateItemsPurchaseMediaBoList">
|
||||
<!-- 城市选择开始 -->
|
||||
<template #cityId="{ record, isEdit }">
|
||||
<el-custom-cascader v-model="record.cityIds" :dataSource="cityList" :cascaderStyle="{ width: '100%' }" @change="(v, t) => (record.cityId = v, record.cityName = t)" />
|
||||
<el-custom-cascader v-model="record.cityIds" :dataSource="cityList" :cascaderStyle="{ width: '100%' }"
|
||||
@change="(v, t) => (record.cityId = v, record.cityName = t)" />
|
||||
</template>
|
||||
<!-- 城市选择结束 -->
|
||||
|
||||
<!-- 媒体类型开始 -->
|
||||
<template #mediaId="{ record, isEdit }">
|
||||
<el-custom-select
|
||||
v-model="record.mediaId"
|
||||
|
||||
:dataSource="mediaTypeList"
|
||||
:remoteAdd="handleAddMediaTypeParty"
|
||||
@change="(v, t) => (record.mediaName = t)"
|
||||
/>
|
||||
<el-custom-select v-model="record.mediaId" :dataSource="mediaTypeList" :remoteAdd="handleAddMediaTypeParty"
|
||||
@change="(v, t) => (record.mediaName = t)" />
|
||||
</template>
|
||||
<!-- 媒体类型结束 -->
|
||||
|
||||
<!-- 上刊时间开始 -->
|
||||
<template #upTime="{ record, isEdit }">
|
||||
<el-date-picker
|
||||
v-model="record.upTime"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="record.upTime" value-format="yyyy-MM-dd" style="width: 100%" />
|
||||
</template>
|
||||
<!-- 上刊时间结束 -->
|
||||
|
||||
<!-- 下刊时间开始 -->
|
||||
<template #downTime="{ record, isEdit }">
|
||||
<el-date-picker
|
||||
v-model="record.downTime"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="record.downTime" value-format="yyyy-MM-dd" style="width: 100%" />
|
||||
</template>
|
||||
<!-- 下刊时间结束 -->
|
||||
|
||||
|
|
@ -122,10 +80,7 @@
|
|||
<!-- 折扣开始 -->
|
||||
<template #discount="{ record, isEdit }">
|
||||
<div class="flexRowCenter">
|
||||
<el-input
|
||||
v-model="record.discount"
|
||||
@change="handleNumberChange(record.discount, $event)"
|
||||
></el-input>
|
||||
<el-input v-model="record.discount" @change="handleNumberChange(record.discount, $event)"></el-input>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 折扣结束 -->
|
||||
|
|
@ -135,13 +90,8 @@
|
|||
|
||||
<!-- 付款管理开始 -->
|
||||
<template #purchasePaymentBoList>
|
||||
<el-edit-table
|
||||
:columns="contranctPayListColumns"
|
||||
v-model="AEform.formModel.purchasePaymentBoList"
|
||||
show-summary
|
||||
:summary-method="paymentSummary"
|
||||
@update-items="updateItemsPurchasePaymentBoList"
|
||||
>
|
||||
<el-edit-table :columns="contranctPayListColumns" v-model="AEform.formModel.purchasePaymentBoList" show-summary
|
||||
:summary-method="paymentSummary" @update-items="updateItemsPurchasePaymentBoList">
|
||||
<!-- 笔数开始 -->
|
||||
<template #transactionsNumber="{ record, isEdit }">
|
||||
<el-select v-model="record.transactionsNumber" style="width: 100%;">
|
||||
|
|
@ -155,21 +105,13 @@
|
|||
<!-- 笔数结束 -->
|
||||
<!-- 约定付款时间开始 -->
|
||||
<template #payTime="{ record, isEdit }">
|
||||
<el-date-picker
|
||||
v-model="record.payTime"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="record.payTime" value-format="yyyy-MM-dd" style="width: 100%" />
|
||||
</template>
|
||||
<!-- 约定付款时间结束 -->
|
||||
|
||||
<!-- 实际付款时间开始 -->
|
||||
<template #arrivalTime="{ record, isEdit }">
|
||||
<el-date-picker
|
||||
v-model="record.arrivalTime"
|
||||
value-format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-date-picker v-model="record.arrivalTime" value-format="yyyy-MM-dd" style="width: 100%" />
|
||||
</template>
|
||||
<!-- 实际付款时间结束 -->
|
||||
|
||||
|
|
@ -203,6 +145,12 @@
|
|||
</template>
|
||||
<!-- 合同附件结束 -->
|
||||
|
||||
<!-- 检测照片开始 -->
|
||||
<template #detectPicAttr>
|
||||
<el-file-upload ref="detectPicAttr" />
|
||||
</template>
|
||||
<!-- 检测照片结束 -->
|
||||
|
||||
<!-- 监测报告附件开始 -->
|
||||
<template #reportAttachment>
|
||||
<div class="report-attachment">
|
||||
|
|
@ -309,7 +257,7 @@ export default {
|
|||
// 获取详情
|
||||
async getDetailData() {
|
||||
const res = await getAction(`/system/purchase/${this.$route.query.id}`)
|
||||
console.log('%c [ res ]-213', 'font-size:13px; background:pink; color:#bf2c9f;', res)
|
||||
console.log('采购合同详情', res)
|
||||
if (res.data.purchaseMediaVoList) {
|
||||
res.data.purchaseMediaBoList = res.data.purchaseMediaVoList
|
||||
console.log(this.cityList, 'this.cityList')
|
||||
|
|
@ -325,6 +273,9 @@ export default {
|
|||
if (res.data.contractAccessList) {
|
||||
this.$refs.contractAccess.setFileList(res.data.contractAccessList)
|
||||
}
|
||||
if (res.data.detectPicAttrList) {
|
||||
this.$refs.detectPicAttr.setFileList(res.data.detectPicAttrList)
|
||||
}
|
||||
if (res.data.upPrintList) {
|
||||
this.$refs.upPrint.setFileList(res.data.upPrintList)
|
||||
}
|
||||
|
|
@ -668,6 +619,22 @@ export default {
|
|||
this.AEform.formModel.contractAccess = contractAccess3.toString()
|
||||
this.AEform.formModel.contractAccess = this.removeLeadingAndTrailingCommas(this.AEform.formModel.contractAccess)
|
||||
|
||||
// 监测照片附件
|
||||
var detectPicAttr = []
|
||||
for (const i in this.$refs.detectPicAttr.getFileList()) {
|
||||
detectPicAttr.push(this.$refs.detectPicAttr.getFileList()[i].md5)
|
||||
}
|
||||
var detectPicAttr2 = []
|
||||
if (this.AEform.formModel.detectPicAttrList && this.AEform.formModel.detectPicAttrList.length) {
|
||||
for (const i in this.AEform.formModel.detectPicAttrList) {
|
||||
detectPicAttr2.push(this.AEform.formModel.detectPicAttrList[i].identifier)
|
||||
}
|
||||
}
|
||||
var detectPicAttr3 = [...detectPicAttr, ...detectPicAttr2]
|
||||
detectPicAttr3 = Array.from(new Set(detectPicAttr3))
|
||||
this.AEform.formModel.detectPicAttr = detectPicAttr3.toString()
|
||||
this.AEform.formModel.detectPicAttr = this.removeLeadingAndTrailingCommas(this.AEform.formModel.detectPicAttr)
|
||||
|
||||
// 上刊附件
|
||||
var upPrint = []
|
||||
for (const i in this.$refs.upPrint.getFileList()) {
|
||||
|
|
@ -783,6 +750,7 @@ export default {
|
|||
});
|
||||
}
|
||||
await this.$refs.formRef.validate();
|
||||
console.log('this.AEform.formModel', this.AEform.formModel)
|
||||
if (this.AEform.formModel.id) {
|
||||
const res = await putAction(`/system/purchase/edit`, { ...this.AEform.formModel })
|
||||
console.log('%c [ res ]-361', 'font-size:13px; background:pink; color:#bf2c9f;', res)
|
||||
|
|
@ -830,6 +798,7 @@ export default {
|
|||
.el-group-form {
|
||||
::v-deep {
|
||||
>.el-card {
|
||||
|
||||
&:nth-child(3),
|
||||
&:nth-child(4) {
|
||||
.el-card__body {
|
||||
|
|
@ -847,6 +816,7 @@ export default {
|
|||
|
||||
::v-deep {
|
||||
.media-summary {
|
||||
|
||||
&-title,
|
||||
&-value {
|
||||
font-family: Microsoft YaHei;
|
||||
|
|
|
|||
|
|
@ -35,13 +35,17 @@ export const formGroup = [
|
|||
title: "合同附件",
|
||||
items: [{ slot: true, prop: "contractAccess", span: 24 }],
|
||||
},
|
||||
{
|
||||
title: "检测照片",
|
||||
items: [{ slot: true, prop: "detectPicAttr", span: 25 }],
|
||||
},
|
||||
{
|
||||
title: "监测报告附件",
|
||||
items: [{ slot: true, prop: "reportAttachment", span: 24 }],
|
||||
items: [{ slot: true, prop: "reportAttachment", span: 26 }],
|
||||
},
|
||||
{
|
||||
title: "媒体链条附件",
|
||||
items: [{ slot: true, prop: "mediaLink", span: 24 }],
|
||||
items: [{ slot: true, prop: "mediaLink", span: 27 }],
|
||||
},
|
||||
];
|
||||
// 采购合同媒体信息表格配置
|
||||
|
|
@ -421,7 +425,7 @@ export const SalesContractMediaColumns = [
|
|||
required: true,
|
||||
},
|
||||
{
|
||||
title: "其他返点",
|
||||
title: "其他返点1",
|
||||
dataIndex: "otherReverPoit",
|
||||
width: 120,
|
||||
attrs: { min: 0 },
|
||||
|
|
@ -429,7 +433,7 @@ export const SalesContractMediaColumns = [
|
|||
required: true,
|
||||
},
|
||||
{
|
||||
title: "其他返点金额",
|
||||
title: "其他返点金额1",
|
||||
dataIndex: "otherReverMoney",
|
||||
width: 220,
|
||||
attrs: { min: 0 },
|
||||
|
|
@ -437,6 +441,23 @@ export const SalesContractMediaColumns = [
|
|||
type: "number",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
title: "其他返点2",
|
||||
dataIndex: "otherReverPoit2",
|
||||
width: 120,
|
||||
attrs: { min: 0 },
|
||||
align: "center",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
title: "其他返点金额2",
|
||||
dataIndex: "otherReverMoney2",
|
||||
width: 220,
|
||||
attrs: { min: 0 },
|
||||
align: "right",
|
||||
type: "number",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "remark",
|
||||
|
|
|
|||
|
|
@ -1,33 +1,16 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<ElQueryTable
|
||||
ref="tableRef"
|
||||
:searchItems="searchItems"
|
||||
:tableConfig="tableConfig"
|
||||
:isExtendAction="false"
|
||||
:selectedRowKeys.sync="selectedRowKeys"
|
||||
:isRowCheck="showColumnBtn"
|
||||
:showCheckFlag="showCheckFlag"
|
||||
@showExtendAction="showExtendAction"
|
||||
@hiddenExtendActionColumn="hiddenExtendActionColumn"
|
||||
@returnTableColumn="returnTableColumn"
|
||||
@update:selectedRowKeys="updateSelectedRowKeys"
|
||||
@search="handleCancelExport"
|
||||
@reset="handleCancelExport"
|
||||
autoresize
|
||||
:class="showCheckFlag? 'is-check-flag-show': ''"
|
||||
>
|
||||
<ElQueryTable ref="tableRef" :searchItems="searchItems" :tableConfig="tableConfig" :isExtendAction="false"
|
||||
:selectedRowKeys.sync="selectedRowKeys" :isRowCheck="showColumnBtn" :showCheckFlag="showCheckFlag"
|
||||
@showExtendAction="showExtendAction" @hiddenExtendActionColumn="hiddenExtendActionColumn"
|
||||
@returnTableColumn="returnTableColumn" @update:selectedRowKeys="updateSelectedRowKeys"
|
||||
@search="handleCancelExport" @reset="handleCancelExport" autoresize
|
||||
:class="showCheckFlag ? 'is-check-flag-show' : ''">
|
||||
<!-- keyword -->
|
||||
<template #query-keyword="{ queryParams }">
|
||||
<div style="width: 1200px">
|
||||
<el-input
|
||||
v-model="queryParams.keyword"
|
||||
type="search"
|
||||
clearable
|
||||
placeholder="媒体位置/乙方姓名/项目编号/项目名称"
|
||||
style="width: 547px"
|
||||
@change="handleSearch"
|
||||
>
|
||||
<el-input v-model="queryParams.keyword" type="search" clearable placeholder="媒体位置/乙方姓名/项目编号/项目名称"
|
||||
style="width: 547px" @change="handleSearch">
|
||||
<i slot="prefix" class="el-input__icon el-icon-search"></i>
|
||||
</el-input>
|
||||
</div>
|
||||
|
|
@ -35,19 +18,9 @@
|
|||
|
||||
<!-- 客户名称 -->
|
||||
<template #query-clientId="{ queryParams }">
|
||||
<el-select
|
||||
v-model="queryParams.clientId"
|
||||
style="width: 200px"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
@change="handleSearch"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in clientList"
|
||||
:key="item.id"
|
||||
:label="item.clientName"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-select v-model="queryParams.clientId" style="width: 200px" placeholder="请选择" clearable
|
||||
@change="handleSearch">
|
||||
<el-option v-for="item in clientList" :key="item.id" :label="item.clientName" :value="item.id">
|
||||
</el-option>
|
||||
<template #prefix>
|
||||
<span style="position: absolute;left: 150px;color: #3B588A;cursor: pointer;" v-if="queryParams.clientId"
|
||||
|
|
@ -57,19 +30,9 @@
|
|||
</template>
|
||||
<!-- 媒体类型 -->
|
||||
<template #query-mediaId="{ queryParams }">
|
||||
<el-select
|
||||
v-model="queryParams.mediaId"
|
||||
style="width: 200px"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
@change="handleSearch"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in mediaTypeList"
|
||||
:key="item.id"
|
||||
:label="item.mediaType"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-select v-model="queryParams.mediaId" style="width: 200px" placeholder="请选择" clearable
|
||||
@change="handleSearch">
|
||||
<el-option v-for="item in mediaTypeList" :key="item.id" :label="item.mediaType" :value="item.id">
|
||||
</el-option>
|
||||
<template #prefix>
|
||||
<span style="position: absolute;left: 150px;color: #3B588A;cursor: pointer;" v-if="queryParams.mediaId"
|
||||
|
|
@ -88,19 +51,9 @@
|
|||
</template>
|
||||
<!-- 甲方 乙方 -->
|
||||
<template #query-firstId="{ queryParams }">
|
||||
<el-select
|
||||
v-model="queryParams.firstId"
|
||||
style="width: 200px"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
@change="handleSearch"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in firstList"
|
||||
:key="item.id"
|
||||
:label="item.firstName"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-select v-model="queryParams.firstId" style="width: 200px" placeholder="请选择" clearable
|
||||
@change="handleSearch">
|
||||
<el-option v-for="item in firstList" :key="item.id" :label="item.firstName" :value="item.id">
|
||||
</el-option>
|
||||
<template #prefix>
|
||||
<span style="position: absolute;left: 150px;color: #3B588A;cursor: pointer;" v-if="queryParams.firstId"
|
||||
|
|
@ -112,12 +65,7 @@
|
|||
<template #query-isOverdue="{ queryParams }">
|
||||
<el-select v-model="queryParams.isOverdue" placeholder="请选择" style="width: 200px" clearable
|
||||
@change="handleSearch">
|
||||
<el-option
|
||||
v-for="item in isOverdueList"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-option v-for="item in isOverdueList" :key="item.id" :label="item.label" :value="item.id">
|
||||
</el-option>
|
||||
<template #prefix>
|
||||
<span style="position: absolute;left: 150px;color: #3B588A;cursor: pointer;" v-if="queryParams.isOverdue"
|
||||
|
|
@ -129,12 +77,7 @@
|
|||
<template #query-isCompet="{ queryParams }">
|
||||
<el-select v-model="queryParams.isCompet" placeholder="请选择" style="width: 200px" clearable
|
||||
@change="handleSearch">
|
||||
<el-option
|
||||
v-for="item in isCompetList"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-option v-for="item in isCompetList" :key="item.id" :label="item.label" :value="item.id">
|
||||
</el-option>
|
||||
<template #prefix>
|
||||
<span style="position: absolute;left: 150px;color: #3B588A;cursor: pointer;" v-if="queryParams.isCompet"
|
||||
|
|
@ -162,13 +105,8 @@
|
|||
</el-col> -->
|
||||
<el-col :span="1.5">
|
||||
<div class="flexRowCenter">
|
||||
<el-upload
|
||||
class="flexCenterCenter pubBtn"
|
||||
:action="importUrl"
|
||||
:headers="importHeaders"
|
||||
:on-success="handleUploadSuccess"
|
||||
:show-file-list="false"
|
||||
:file-list="fileList">
|
||||
<el-upload class="flexCenterCenter pubBtn" :action="importUrl" :headers="importHeaders"
|
||||
:on-success="handleUploadSuccess" :show-file-list="false" :file-list="fileList">
|
||||
<el-button size="small" style="font-size: 16px" type="primary">导入</el-button>
|
||||
</el-upload>
|
||||
<div class="flexCenterCenter pubBtn" style="width:120px;" @click="downloadTemplate">下载导入模板</div>
|
||||
|
|
@ -187,22 +125,13 @@
|
|||
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="tableConfig.query"></right-toolbar> -->
|
||||
</template>
|
||||
<template #extendSearch>
|
||||
<div
|
||||
v-if="!tableConfig.showExtendSearch"
|
||||
@click="ocClickShowExtendSearch(true)"
|
||||
>
|
||||
<div v-if="!tableConfig.showExtendSearch" @click="ocClickShowExtendSearch(true)">
|
||||
展开
|
||||
<i
|
||||
class="el-icon-arrow-down"
|
||||
style="color: #00a026; margin-left: 10px"
|
||||
/>
|
||||
<i class="el-icon-arrow-down" style="color: #00a026; margin-left: 10px" />
|
||||
</div>
|
||||
<div v-else @click="ocClickShowExtendSearch(false)">
|
||||
折叠
|
||||
<i
|
||||
class="el-icon-arrow-up"
|
||||
style="color: #00a026; margin-left: 10px"
|
||||
/>
|
||||
<i class="el-icon-arrow-up" style="color: #00a026; margin-left: 10px" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -249,20 +178,14 @@
|
|||
</template>
|
||||
<template #table-mediaPosition="{ text, record, index, align }">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="item.mediaPosition"
|
||||
>
|
||||
" :title="item.mediaPosition">
|
||||
{{ item.mediaPosition }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -354,7 +277,7 @@
|
|||
<!-- 比稿返点金额结束 -->
|
||||
|
||||
|
||||
<!-- 其他返点开始 -->
|
||||
<!-- 其他返点开始1 -->
|
||||
<template #table-otherReverPoit="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
|
|
@ -369,9 +292,9 @@
|
|||
<span :title="record.otherReverPoit">{{ record.otherReverPoit }}</span>
|
||||
</template>
|
||||
</template>
|
||||
<!-- 其他返点结束 -->
|
||||
<!-- 其他返点结束1 -->
|
||||
|
||||
<!-- 其他返点金额开始 -->
|
||||
<!-- 其他返点金额开始1 -->
|
||||
<template #table-otherReverMoney="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
|
|
@ -386,63 +309,80 @@
|
|||
<span :title="record.otherReverMoney">{{ record.otherReverMoney }}</span>
|
||||
</template>
|
||||
</template>
|
||||
<!-- 其他返点金额结束 -->
|
||||
<!-- 其他返点金额结束1 -->
|
||||
|
||||
<!-- 其他返点开始2 -->
|
||||
<template #table-otherReverPoit2="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id"
|
||||
:style="align == 'right' ? 'text-align: right;' : align == 'left' ? 'text-align: left;' : align == 'center' ? 'text-align: center;' : ''"
|
||||
:title="item.releaseFrequency">
|
||||
{{ item.otherReverPoit2 }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span :title="record.otherReverPoit2">{{ record.otherReverPoit2 }}</span>
|
||||
</template>
|
||||
</template>
|
||||
<!-- 其他返点结束2 -->
|
||||
|
||||
<!-- 其他返点金额开始2 -->
|
||||
<template #table-otherReverMoney2="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id"
|
||||
:style="align == 'right' ? 'text-align: right;' : align == 'left' ? 'text-align: left;' : align == 'center' ? 'text-align: center;' : ''"
|
||||
:title="item.releaseFrequency">
|
||||
{{ formatNumber(item.otherReverMoney2) }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span :title="record.otherReverMoney2">{{ record.otherReverMoney2 }}</span>
|
||||
</template>
|
||||
</template>
|
||||
<!-- 其他返点金额结束2 -->
|
||||
|
||||
<template #table-upTime="{ text, record, index, align }">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="item.upTime"
|
||||
>
|
||||
" :title="item.upTime">
|
||||
{{ item.upTime }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template #table-downTime="{ text, record, index, align }">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="item.downTime"
|
||||
>
|
||||
" :title="item.downTime">
|
||||
{{ item.downTime }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template #table-period="{ text, record, index, align }">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="item.period"
|
||||
>
|
||||
" :title="item.period">
|
||||
{{ item.period }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -458,20 +398,14 @@
|
|||
<template #table-discount="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="item.discount"
|
||||
>
|
||||
" :title="item.discount">
|
||||
{{
|
||||
item.discount
|
||||
}}
|
||||
|
|
@ -485,19 +419,14 @@
|
|||
<template #table-mediaFee="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="formatNumber(item.mediaFee)">
|
||||
" :title="formatNumber(item.mediaFee)">
|
||||
{{ formatNumber(item.mediaFee) }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -509,19 +438,14 @@
|
|||
<template #table-productFee="{ text, record, index, align }">
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div class="table-column-child">
|
||||
<div
|
||||
v-for="item in record.conSaleMediaVoList"
|
||||
:key="index + item.id"
|
||||
:style="
|
||||
align == 'right'
|
||||
<div v-for="item in record.conSaleMediaVoList" :key="index + item.id" :style="align == 'right'
|
||||
? 'text-align: right;'
|
||||
: align == 'left'
|
||||
? 'text-align: left;'
|
||||
: align == 'center'
|
||||
? 'text-align: center;'
|
||||
: ''
|
||||
"
|
||||
:title="formatNumber(item.productFee)">
|
||||
" :title="formatNumber(item.productFee)">
|
||||
{{ formatNumber(item.productFee) }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -583,18 +507,12 @@
|
|||
</template>
|
||||
<template #table-action="{ record }">
|
||||
<template v-if="!tableConfig.isExtendAction">
|
||||
<img
|
||||
src="@/assets/images/icon-option.png"
|
||||
alt=""
|
||||
style="width: 18px; height: 18px"
|
||||
@click="showOrCloseActionExtend(true)"
|
||||
/>
|
||||
<img src="@/assets/images/icon-option.png" alt="" style="width: 18px; height: 18px"
|
||||
@click="showOrCloseActionExtend(true)" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="record.serial != '合计'">
|
||||
<div
|
||||
style="white-space: nowrap; vertical-align: middle; color: #00a026"
|
||||
>
|
||||
<div style="white-space: nowrap; vertical-align: middle; color: #00a026">
|
||||
<template v-if="record.state != 2">
|
||||
<a @click="handleView(record)">查看</a>
|
||||
<span style="margin-left: 5px; margin-right: 5px">|</span>
|
||||
|
|
@ -603,11 +521,7 @@
|
|||
<a @click="handleCollectManage(record)">回款管理</a>
|
||||
<span style="margin-left: 5px; margin-right: 5px">|</span>
|
||||
<a @click="handleDown(record)">下载</a>
|
||||
<span
|
||||
style="margin-left: 5px; margin-right: 5px"
|
||||
v-if="record.state == 1 || record.state == 2"
|
||||
>|</span
|
||||
>
|
||||
<span style="margin-left: 5px; margin-right: 5px" v-if="record.state == 1 || record.state == 2">|</span>
|
||||
</template>
|
||||
<a @click="handleNullify(record)" v-if="record.state == 1">作废</a>
|
||||
<a @click="handleRecovery(record)" v-if="record.state == 2">恢复</a>
|
||||
|
|
@ -619,18 +533,14 @@
|
|||
|
||||
|
||||
<!-- 下载附件的弹窗 -->
|
||||
<el-dialog-copy
|
||||
class="el-custom-form"
|
||||
:visible.sync="enclosureObj.visible"
|
||||
title="附件下载"
|
||||
@close="closeModal"
|
||||
>
|
||||
<el-dialog-copy class="el-custom-form" :visible.sync="enclosureObj.visible" title="附件下载" @close="closeModal">
|
||||
<template #bo>
|
||||
<div class="flexEndCenter" style="margin-bottom: 10px;">
|
||||
<div class="pubBtn flexCenterCenter" @click="downloadAll">全部下载</div>
|
||||
</div>
|
||||
<Enclosure :fileList="enclosureObj.formModel.contractAccessList" title="合同附件"
|
||||
v-if="enclosureObj.formModel.contractAccessList && enclosureObj.formModel.contractAccessList.length"></Enclosure>
|
||||
v-if="enclosureObj.formModel.contractAccessList && enclosureObj.formModel.contractAccessList.length">
|
||||
</Enclosure>
|
||||
<Enclosure :fileList="enclosureObj.formModel.mediaLinkList" title="其他附件"
|
||||
v-if="enclosureObj.formModel.mediaLinkList && enclosureObj.formModel.mediaLinkList.length"></Enclosure>
|
||||
</template>
|
||||
|
|
@ -811,6 +721,7 @@ export default {
|
|||
})
|
||||
if (code == 200) {
|
||||
this.summarys = data
|
||||
console.log('summarys', this.summarys)
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
|
|
@ -830,7 +741,8 @@ export default {
|
|||
productFeeTotal, // 制作费
|
||||
contractMoneyTotal, // 合同金额
|
||||
competReverMoneySum, // 比稿返点金额
|
||||
otherReverMoneySum, // 其他返点金额
|
||||
otherReverMoneySum, // 其他返点金额1
|
||||
otherReverMoneySum2, // 其他返点金额2
|
||||
} = this.summarys
|
||||
|
||||
const totalEle = this.getSummaryElement('总计', total, '条')
|
||||
|
|
@ -839,7 +751,8 @@ export default {
|
|||
const productFeeEle = this.getSummaryElement('制作费金额', productFeeTotal, '元', '¥')
|
||||
const contractMoneySumEle = this.getSummaryElement('合同总金额', contractMoneyTotal, '元', '¥')
|
||||
const competReverMoneySumEle = this.getSummaryElement('比稿返点金额', competReverMoneySum, '元', '¥')
|
||||
const otherReverMoneySumEle = this.getSummaryElement('其他返点金额', otherReverMoneySum, '元', '¥')
|
||||
const otherReverMoneySumEle = this.getSummaryElement('其他返点金额1', otherReverMoneySum, '元', '¥')
|
||||
const otherReverMoneySumEle2 = this.getSummaryElement('其他返点金额2', otherReverMoneySum2, '元', '¥')
|
||||
|
||||
// 如果显示了多选按钮
|
||||
if (this.showCheckFlag) {
|
||||
|
|
@ -851,6 +764,7 @@ export default {
|
|||
sums[18] = contractMoneySumEle
|
||||
sums[21] = competReverMoneySumEle
|
||||
sums[23] = otherReverMoneySumEle
|
||||
sums[25] = otherReverMoneySumEle2
|
||||
} else {
|
||||
sums[0] = '合计'
|
||||
sums[1] = totalEle
|
||||
|
|
@ -860,6 +774,7 @@ export default {
|
|||
sums[17] = contractMoneySumEle
|
||||
sums[20] = competReverMoneySumEle
|
||||
sums[22] = otherReverMoneySumEle
|
||||
sums[24] = otherReverMoneySumEle2
|
||||
}
|
||||
|
||||
return sums;
|
||||
|
|
@ -1141,9 +1056,13 @@ export default {
|
|||
line-height: 45px;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
white-space: nowrap; /* 确保文本在一行内显示 */
|
||||
overflow: hidden; /* 超出容器部分隐藏 */
|
||||
text-overflow: ellipsis; /* 超出部分显示为... */
|
||||
white-space: nowrap;
|
||||
/* 确保文本在一行内显示 */
|
||||
overflow: hidden;
|
||||
/* 超出容器部分隐藏 */
|
||||
text-overflow: ellipsis;
|
||||
|
||||
/* 超出部分显示为... */
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
|
@ -1256,4 +1175,3 @@ export default {
|
|||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ module.exports = {
|
|||
proxy: {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
target: `http://192.168.1.17:9077`,
|
||||
target: `http://43.143.229.145:9077`,
|
||||
// target: `http://182.40.36.180:9077`,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user