|
|
@@ -4,7 +4,7 @@
|
|
|
<el-col :span="5">
|
|
|
<el-scrollbar>
|
|
|
<basic-container>
|
|
|
- <avue-tree :option="treeOption" :data="reportTypeData" @node-click="nodeClick">
|
|
|
+ <avue-tree :option="treeOption" :data="feesTypeData" @node-click="nodeClick">
|
|
|
</avue-tree>
|
|
|
</basic-container>
|
|
|
</el-scrollbar>
|
|
|
@@ -19,18 +19,14 @@
|
|
|
@resetColumn="resetColumnTwo('documentCrud', 'documentOption', 'documentOptionBack', 312.1)"
|
|
|
@saveColumn="saveColumnTwo('documentCrud', 'documentOption', 'documentOptionBack', 312.1)">
|
|
|
<template slot="menuLeft">
|
|
|
-<!-- :disabled="disabled"-->
|
|
|
- <el-button type="primary" size="small" icon="el-icon-plus"
|
|
|
+ <el-button type="primary" size="small" icon="el-icon-plus" :disabled="disabled"
|
|
|
@click="addbtnfun()">新增
|
|
|
</el-button>
|
|
|
- <spa style="color: #d4791a; " v-text="'单证类别:' + (businesstypeData && businesstypeData.label ? businesstypeData.label : '未选择')"></spa>
|
|
|
</template>
|
|
|
<template slot-scope="scope" slot="menu">
|
|
|
-<!-- :disabled="disabled"-->
|
|
|
- <el-button type="text" size="small"
|
|
|
+ <el-button type="text" size="small" :disabled="disabled"
|
|
|
@click="printEditing(scope.row)">编辑</el-button>
|
|
|
-<!-- :disabled="disabled"-->
|
|
|
- <el-button type="text" size="small" @click="printDelete(scope.row)">
|
|
|
+ <el-button type="text" size="small" :disabled="disabled" @click="printDelete(scope.row)">
|
|
|
<span v-if="disabled">删除</span>
|
|
|
<span v-else style="color: red">删除</span>
|
|
|
</el-button>
|
|
|
@@ -43,7 +39,7 @@
|
|
|
|
|
|
|
|
|
<!--添加编辑弹窗-->
|
|
|
- <el-dialog :title="businesstypeData.label" :close-on-click-modal="false" :visible.sync="documentVisible"
|
|
|
+ <el-dialog :title="businesstypeData.cnName" :close-on-click-modal="false" :visible.sync="documentVisible"
|
|
|
append-to-body width="60%" :before-close="corpTypeClose">
|
|
|
<Dispatch-Notice v-if="businesstypeData.reportsType == 'PCTZD'"
|
|
|
:documentForm="documentForm"></Dispatch-Notice>
|
|
|
@@ -53,13 +49,8 @@
|
|
|
v-else-if="businesstypeData.reportsType == 'TDXQ' || businesstypeData.reportsType == 'DCWTS'"
|
|
|
:documentForm="documentForm"></BillofLadingDetails>
|
|
|
<BillofLadingDetailsM v-else-if="businesstypeData.reportsType == 'MBL BOOKING SHEET'"
|
|
|
- :documentForm="documentForm"></BillofLadingDetailsM>
|
|
|
- <BillofLadingDetailsJMS v-else-if="businesstypeData.reportsType == 'JMS-BILL'"
|
|
|
- :documentForm="documentForm"></BillofLadingDetailsJMS>
|
|
|
- <BillofLadingDetailsCTO v-else-if="businesstypeData.reportsType == 'CTO'"
|
|
|
- :documentForm="documentForm"></BillofLadingDetailsCTO>
|
|
|
- <FreightNote v-else-if="businesstypeData.reportsType == 'FREIGHT NOTE'"
|
|
|
- :documentForm="documentForm"></FreightNote>
|
|
|
+ :documentForm="documentForm">
|
|
|
+ </BillofLadingDetailsM>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<!--<el-button type="success" @click="documentSubmit(true)" >保存并打印</el-button>-->
|
|
|
<el-button v-if="addShow" type="success" :disabled="!documentForm.id"
|
|
|
@@ -86,7 +77,7 @@
|
|
|
@refresh-change="PreviewRefreshChange">
|
|
|
<template slot-scope="scope" slot="menu">
|
|
|
<el-link type="primary" :disabled="scope.row.status == 1"
|
|
|
- @click="handleReportPreview(scope.row, scope.row.url, documentForm)">预览报表</el-link>
|
|
|
+ @click="handleReportPreview(scope.row.url, documentForm)">预览报表</el-link>
|
|
|
</template>
|
|
|
</avue-crud>
|
|
|
</el-dialog>
|
|
|
@@ -99,17 +90,9 @@ import {
|
|
|
reportsGetReportData,
|
|
|
reportsDetail,
|
|
|
reportsRemove,
|
|
|
- getList,
|
|
|
- getDocumentTypesList,
|
|
|
- getDocumentTypesListAll,
|
|
|
- buildExportFileName,
|
|
|
+ getList
|
|
|
} from "@/api/iosBasicData/reports";
|
|
|
-import {
|
|
|
- reportslogList,
|
|
|
- reportslogSubmit,
|
|
|
- getReportslogPrintCount,
|
|
|
- addReportPrintCount,
|
|
|
-} from "@/api/iosBasicData/bills";
|
|
|
+import { reportslogList, reportslogSubmit } from "@/api/iosBasicData/bills";
|
|
|
import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
|
|
|
import bbusinesstype from "@/views/iosBasicData/bbusinesstype/index.vue";
|
|
|
import reportformsList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsList.vue";
|
|
|
@@ -120,12 +103,6 @@ import BillofLadingDetails
|
|
|
from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetails.vue";
|
|
|
import BillofLadingDetailsM
|
|
|
from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetailsM.vue";
|
|
|
-import BillofLadingDetailsJMS
|
|
|
- from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetailsJMS.vue";
|
|
|
-import BillofLadingDetailsCTO
|
|
|
- from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetailsCTO.vue";
|
|
|
-import FreightNote
|
|
|
- from "@/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/FreightNote.vue";
|
|
|
import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assembly/businessReports.vue";
|
|
|
import losaudit from "@/views/wel/components/losAssembly/losaudit.vue";
|
|
|
import { dateFormat } from "@/util/date";
|
|
|
@@ -133,16 +110,7 @@ import { isProcurement } from "@/api/basicData/configuration";
|
|
|
export default {
|
|
|
components: {
|
|
|
businessReports,
|
|
|
- DispatchNotice,
|
|
|
- PurchaseNotice,
|
|
|
- BillofLadingDetails,
|
|
|
- BillofLadingDetailsM,
|
|
|
- BillofLadingDetailsJMS,
|
|
|
- BillofLadingDetailsCTO,
|
|
|
- FreightNote,
|
|
|
- reportContainer,
|
|
|
- reportformsList,
|
|
|
- bbusinesstype,
|
|
|
+ BillofLadingDetails, BillofLadingDetailsM, reportContainer, reportformsList, bbusinesstype, DispatchNotice, PurchaseNotice
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -174,15 +142,15 @@ export default {
|
|
|
trigger: "blur"
|
|
|
}]
|
|
|
},
|
|
|
- // {
|
|
|
- // label: "报表编码",
|
|
|
- // prop: "code",
|
|
|
- // rules: [{
|
|
|
- // required: true,
|
|
|
- // message: "请输入报表编码",
|
|
|
- // trigger: "blur"
|
|
|
- // }]
|
|
|
- // },
|
|
|
+ {
|
|
|
+ label: "报表编码",
|
|
|
+ prop: "code",
|
|
|
+ rules: [{
|
|
|
+ required: true,
|
|
|
+ message: "请输入报表编码",
|
|
|
+ trigger: "blur"
|
|
|
+ }]
|
|
|
+ },
|
|
|
{
|
|
|
label: "中文名称",
|
|
|
prop: "cnName",
|
|
|
@@ -197,18 +165,14 @@ export default {
|
|
|
prop: "enName"
|
|
|
},
|
|
|
{
|
|
|
- label: "已打印次数",
|
|
|
- prop: "printCount"
|
|
|
+ label: "报表格式",
|
|
|
+ prop: "content",
|
|
|
+ rules: [{
|
|
|
+ required: true,
|
|
|
+ message: "请输入报表格式",
|
|
|
+ trigger: "blur"
|
|
|
+ }]
|
|
|
},
|
|
|
- // {
|
|
|
- // label: "报表格式",
|
|
|
- // prop: "content",
|
|
|
- // rules: [{
|
|
|
- // required: true,
|
|
|
- // message: "请输入报表格式",
|
|
|
- // trigger: "blur"
|
|
|
- // }]
|
|
|
- // },
|
|
|
{
|
|
|
label: "备注",
|
|
|
prop: "remarks"
|
|
|
@@ -237,137 +201,47 @@ export default {
|
|
|
size: "small",
|
|
|
props: {
|
|
|
labelText: "标题",
|
|
|
- label: "label",
|
|
|
+ label: "cnName",
|
|
|
value: "value",
|
|
|
children: "children"
|
|
|
}
|
|
|
},
|
|
|
- reportTypeData: [
|
|
|
+ feesTypeData: [
|
|
|
{
|
|
|
- label: '入货通知',
|
|
|
- // cnName: '入货通知',
|
|
|
+ cnName: '入货通知',
|
|
|
classifyCode: '单证',
|
|
|
groupCode: '入货通知',
|
|
|
reportsType: 'RHTZ',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: "",
|
|
|
+ businessType: 'HYCK'
|
|
|
},
|
|
|
{
|
|
|
- label: '派车通知单',
|
|
|
- // cnName: '派车通知单',
|
|
|
+ cnName: '派车通知单',
|
|
|
classifyCode: '单证',
|
|
|
groupCode: '派车通知单',
|
|
|
reportsType: 'PCTZD',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: "",
|
|
|
+ businessType: 'HYCK'
|
|
|
},
|
|
|
{
|
|
|
- label: 'HBL BOOKING SHEET',
|
|
|
- // cnName: '提单详情(H)',
|
|
|
+ cnName: '提单详情(H)',
|
|
|
classifyCode: '单证',
|
|
|
groupCode: '提单详情(H)',
|
|
|
reportsType: 'TDXQ',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: {
|
|
|
- marks:{
|
|
|
- lineLength: 22,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- commodityDescr:{
|
|
|
- lineLength: 18,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- },
|
|
|
+ businessType: 'HYCK'
|
|
|
},
|
|
|
{
|
|
|
- label: 'MBL BOOKING SHEET',
|
|
|
- // cnName: '提单详情(M)',
|
|
|
+ cnName: '提单详情(M)',
|
|
|
classifyCode: '单证',
|
|
|
groupCode: '提单详情(M)',
|
|
|
reportsType: 'MBL BOOKING SHEET',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: {
|
|
|
- marks:{
|
|
|
- lineLength: 22,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- commodityDescr:{
|
|
|
- lineLength: 18,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- label: 'JMS 提单',
|
|
|
- // cnName: 'JMS 提单',
|
|
|
- classifyCode: '单证',
|
|
|
- groupCode: 'JMS提单',
|
|
|
- reportsType: 'JMS-BILL',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: {
|
|
|
- // 件重尺是否添加箱型箱量
|
|
|
- NumOfContainersOrPackagesAddPreCntrQty: true,
|
|
|
- // 货描首行添加字符
|
|
|
- commodityDescrFirstLine: "SHIPPER'S LOAD,COUNT AND SEAL",
|
|
|
- // 唛头是否添加箱封号
|
|
|
- marksAddCntrNoSealNoList: true,
|
|
|
- // 唛头是否添加箱号件重尺
|
|
|
- marksAddCntrPGVList: true,
|
|
|
- marks:{
|
|
|
- lineLength: 22,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- commodityDescr:{
|
|
|
- lineLength: 18,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- },
|
|
|
+ businessType: 'HYCK'
|
|
|
},
|
|
|
{
|
|
|
- label: 'CTO',
|
|
|
- // cnName: 'CTO',
|
|
|
- classifyCode: '单证',
|
|
|
- groupCode: 'CTO',
|
|
|
- reportsType: 'CTO',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: {
|
|
|
- // 件重尺是否添加箱型箱量
|
|
|
- NumOfContainersOrPackagesAddPreCntrQty: true,
|
|
|
- // 货描首行添加字符
|
|
|
- commodityDescrFirstLine: "SHIPPER'S LOAD,COUNT AND SEAL",
|
|
|
- // 唛头是否添加箱封号
|
|
|
- marksAddCntrNoSealNoList: true,
|
|
|
- // 唛头是否添加箱号件重尺
|
|
|
- marksAddCntrPGVList: true,
|
|
|
- marks:{
|
|
|
- lineLength: 22,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- commodityDescr:{
|
|
|
- lineLength: 18,
|
|
|
- lineCount: 18,
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- label: '订舱委托书',
|
|
|
- // cnName: '订舱委托书',
|
|
|
+ cnName: '订舱委托书',
|
|
|
classifyCode: '单证',
|
|
|
groupCode: '提单详情',
|
|
|
reportsType: 'DCWTS',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: "",
|
|
|
- },
|
|
|
- {
|
|
|
- label: '运费证明',
|
|
|
- // cnName: 'FREIGHT NOTE',
|
|
|
- classifyCode: '单证',
|
|
|
- groupCode: 'FREIGHT NOTE',
|
|
|
- reportsType: 'FREIGHT NOTE',
|
|
|
- businessType: 'HYCK',
|
|
|
- params: "",
|
|
|
- },
|
|
|
-
|
|
|
+ businessType: 'HYCK'
|
|
|
+ }
|
|
|
], // 左侧获取的数据
|
|
|
documentOption: {},
|
|
|
documentOptionBack: {
|
|
|
@@ -445,7 +319,7 @@ export default {
|
|
|
this.textareaNumber = res.data.data
|
|
|
}
|
|
|
})
|
|
|
- this.reportsListfun()
|
|
|
+ // this.reportsListfun()
|
|
|
},
|
|
|
methods: {
|
|
|
// 打印预览按钮
|
|
|
@@ -458,12 +332,11 @@ export default {
|
|
|
const data = await this.PreviewOnLoad(this.PreviewPage, {
|
|
|
businessType: 'HYCK',
|
|
|
classifyCode: '单证',
|
|
|
- groupCode: row.groupCode == '提单详情(H)' ? '提单详情' : row.groupCode,
|
|
|
- logId: row.id,
|
|
|
+ groupCode: row.groupCode == '提单详情(H)' ? '提单详情' : row.groupCode
|
|
|
});
|
|
|
this.$nextTick(() => {
|
|
|
if (data.length == 1) {
|
|
|
- this.handleReportPreview(data[0], data[0].url, this.documentForm)
|
|
|
+ this.handleReportPreview(data[0].url, this.documentForm)
|
|
|
} else {
|
|
|
this.previewDialog = true
|
|
|
this.documentVisible = false
|
|
|
@@ -525,14 +398,12 @@ export default {
|
|
|
this.PreviewOnLoad(this.PreviewPage, {
|
|
|
businessType: 'HYCK',
|
|
|
classifyCode: '单证',
|
|
|
- groupCode: this.editData.groupCode,
|
|
|
- logId: this.editData.id,
|
|
|
+ groupCode: this.editData.groupCode
|
|
|
});
|
|
|
},
|
|
|
PreviewSearchChange(params, done) {
|
|
|
this.PreviewQuery = params;
|
|
|
this.PreviewPage.currentPage = 1;
|
|
|
- params.logId=this.editData.id,
|
|
|
this.PreviewOnLoad(this.PreviewPage, params);
|
|
|
done();
|
|
|
},
|
|
|
@@ -546,8 +417,7 @@ export default {
|
|
|
this.PreviewOnLoad(this.PreviewPage, {
|
|
|
businessType: 'HYCK',
|
|
|
classifyCode: '单证',
|
|
|
- groupCode: this.editData.groupCode,
|
|
|
- logId: this.editData.id,
|
|
|
+ groupCode: this.editData.groupCode
|
|
|
});
|
|
|
},
|
|
|
// 打印预览弹窗数据
|
|
|
@@ -564,42 +434,33 @@ export default {
|
|
|
this.$message.warning("请先保存数据");
|
|
|
return;
|
|
|
}
|
|
|
- if (!this.businesstypeData.label) {
|
|
|
+ if (!this.businesstypeData.cnName) {
|
|
|
this.$message.warning("请先选择报表类型");
|
|
|
return
|
|
|
}
|
|
|
this.addShow = false
|
|
|
reportsGetReportData({
|
|
|
billId: this.assemblyForm.id,
|
|
|
- businessType: this.assemblyForm.businessType,
|
|
|
reportCode: this.businesstypeData.classifyCode,
|
|
|
- groupCode: this.businesstypeData.groupCode,
|
|
|
+ groupCode: this.businesstypeData.groupCode=='提单详情(H)'?'提单详情':this.businesstypeData.groupCode,
|
|
|
reportsType: this.businesstypeData.reportsType,
|
|
|
- type: 'HYCK',
|
|
|
- allowCreateCount: this.businesstypeData.allowCreateCount,
|
|
|
- params: this.businesstypeData.params,
|
|
|
+ type: 'HYCK'
|
|
|
}).then(res => {
|
|
|
this.editData.groupCode = this.businesstypeData.groupCode
|
|
|
this.documentForm = res.data.data.data
|
|
|
// 联系人
|
|
|
this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel
|
|
|
- // this.documentForm.prepaidAt = this.documentForm.mpaymode=='FREIGHT PREPAID'?this.documentForm.mpayplace:null
|
|
|
- // this.documentForm.payableAt = this.documentForm.mpaymode=='FREIGHT COLLECT'?this.documentForm.mpayplace:null
|
|
|
+ this.documentForm.prepaidAt =this.documentForm.mpaymode=='FREIGHT PREPAID'?this.documentForm.mpayplace:null
|
|
|
+ this.documentForm.payableAt =this.documentForm.mpaymode=='FREIGHT COLLECT'?this.documentForm.mpayplace:null
|
|
|
// this.documenturl = this.businesstypeData.url;
|
|
|
// 打开报表选择框
|
|
|
this.documentVisible = true
|
|
|
|
|
|
})
|
|
|
},
|
|
|
- focusBusinesstypeData(row){
|
|
|
- var bus = this.reportTypeData.find(b=>b.groupCode==row.groupCode && b.reportsType==row.reportsCode)
|
|
|
- this.businesstypeData = bus ? bus : {}
|
|
|
- },
|
|
|
// 编辑
|
|
|
printEditing(row) {
|
|
|
- this.focusBusinesstypeData(row)
|
|
|
-
|
|
|
- if (!this.businesstypeData.label) {
|
|
|
+ if (!this.businesstypeData.cnName) {
|
|
|
this.$message.warning("请先选择报表类型");
|
|
|
return
|
|
|
}
|
|
|
@@ -629,7 +490,7 @@ export default {
|
|
|
if (this.editData.id) {
|
|
|
obj = this.editData
|
|
|
} else {
|
|
|
- // obj.remarks = this.assemblyForm.remarks
|
|
|
+ obj.remarks = this.assemblyForm.remarks
|
|
|
obj.businessType = this.assemblyForm.businessType
|
|
|
obj.billId = this.assemblyForm.id
|
|
|
obj.billNo = this.assemblyForm.billNo
|
|
|
@@ -638,22 +499,21 @@ export default {
|
|
|
obj.reportsCode = this.businesstypeData.reportsType
|
|
|
obj.groupCode = this.businesstypeData.groupCode
|
|
|
obj.reportsType = this.businesstypeData.reportsType
|
|
|
- obj.allowPrintCount = 0
|
|
|
- obj.printCount = 0
|
|
|
}
|
|
|
+ console.log(this.documentForm)
|
|
|
obj.printContent = JSON.stringify({
|
|
|
data: {
|
|
|
...this.documentForm,
|
|
|
- // to: this.documentForm.corpCnName,
|
|
|
- // attn: this.documentForm.corpAttnName,
|
|
|
+ to: this.documentForm.corpCnName,
|
|
|
+ attn: this.documentForm.corpAttnName,
|
|
|
fm: this.documentForm.createUserName,
|
|
|
fax: this.documentForm.fax,
|
|
|
cc: this.documentForm.cc,
|
|
|
- email: this.documentForm.email,
|
|
|
+ email: this.documentForm.ematl,
|
|
|
department: this.documentForm.corpAttnName,
|
|
|
operate: this.documentForm.operatorName,
|
|
|
mobilePhone: this.documentForm.mobilePhone,
|
|
|
- // remarks: this.documentForm.remarks,
|
|
|
+ remarks: this.documentForm.remarks,
|
|
|
contacts: this.documentForm.cyContacts,
|
|
|
deliverylocation: this.documentForm.cyCnName,
|
|
|
shippingAgency: this.documentForm.bookingAgentCnName,
|
|
|
@@ -662,6 +522,7 @@ export default {
|
|
|
}
|
|
|
// url:this.documenturl
|
|
|
})
|
|
|
+ console.log(obj)
|
|
|
// 保存
|
|
|
reportslogSubmit(obj).then(res => {
|
|
|
if (type) {
|
|
|
@@ -709,7 +570,7 @@ export default {
|
|
|
}).then(_ => {
|
|
|
// 成功操作。。。。
|
|
|
this.documenturl = documentaa
|
|
|
- this.handleReportPreview(obj, this.documenturl, this.documentForm)
|
|
|
+ this.handleReportPreview(this.documenturl, this.documentForm)
|
|
|
this.reportslogListfun(this.documentPage, { ...this.query, reportsCode: res.data.data.reportsCode });
|
|
|
this.editData = {}
|
|
|
this.documentForm = {}
|
|
|
@@ -745,47 +606,22 @@ export default {
|
|
|
this.reportslogListfun(this.documentPage, { reportsType: data.reportsType });
|
|
|
},
|
|
|
// 左侧数据获取
|
|
|
- reportsListfun(){
|
|
|
- // reportsList(1,20,{
|
|
|
- // businessType:'HYCK',
|
|
|
- // classifyCode:'单证',
|
|
|
- // groupCode:'派车通知单,入货通知,提单详情',
|
|
|
- // code:'BZRHTZ,TDXQ,PCTZD,'
|
|
|
- // }).then(res=>{
|
|
|
- // this.reportTypeData = res.data.data.records
|
|
|
- // })
|
|
|
- /*
|
|
|
- getDocumentTypesList(1, 100,{
|
|
|
- businessType:'HYCK',
|
|
|
- }).then(res=>{
|
|
|
- console.log("bdocumentTypes.list", res.data.data.records)
|
|
|
- // this.reportTypeData = res.data.data.records
|
|
|
- })
|
|
|
- */
|
|
|
- getDocumentTypesListAll({
|
|
|
- businessType:'HYCK',
|
|
|
- }).then(res=>{
|
|
|
- res.data.data.forEach(r=>{
|
|
|
- r.label = r.typeName
|
|
|
- r.cnName = r.typeName
|
|
|
- if(r.params){
|
|
|
- try {
|
|
|
- r.params = JSON.parse(r.params);
|
|
|
- }catch (e){
|
|
|
- r.params = "";
|
|
|
- }
|
|
|
- }else
|
|
|
- r.params = "";
|
|
|
- })
|
|
|
- // console.log("bdocumentTypes.listAll", res.data.data)
|
|
|
- this.reportTypeData = res.data.data
|
|
|
- })
|
|
|
- },
|
|
|
+ // reportsListfun(){
|
|
|
+ // reportsList(1,20,{
|
|
|
+ // businessType:'HYCK',
|
|
|
+ // classifyCode:'单证',
|
|
|
+ // groupCode:'派车通知单,入货通知,提单详情',
|
|
|
+ // code:'BZRHTZ,TDXQ,PCTZD,'
|
|
|
+ // }).then(res=>{
|
|
|
+ // this.feesTypeData = res.data.data.records
|
|
|
+ // })
|
|
|
+ // },
|
|
|
// 类别弹窗关闭
|
|
|
corpTypeClose(done) {
|
|
|
+ console.log(1111)
|
|
|
this.editData = {}
|
|
|
this.documentForm = {}
|
|
|
- // this.businesstypeData = {}
|
|
|
+ this.businesstypeData = {}
|
|
|
done();
|
|
|
},
|
|
|
// 点击搜索触发
|
|
|
@@ -817,9 +653,6 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
this.loading = true;
|
|
|
- if(this.businesstypeData && this.businesstypeData.reportsType){
|
|
|
- params = {...params, reportsType: this.businesstypeData.reportsType}
|
|
|
- }
|
|
|
reportslogList(documentPage.currentPage, documentPage.pageSize, {
|
|
|
...Object.assign(params, this.query),
|
|
|
billId: this.assemblyForm.id
|
|
|
@@ -831,91 +664,9 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 预览报表
|
|
|
- //去除首尾空格
|
|
|
- removeHeadTailSpace(txt) {
|
|
|
- if(typeof txt=="string"){
|
|
|
- return txt.replace(/^\s*|\s*$/g, "")
|
|
|
- }else{
|
|
|
- return ''
|
|
|
- }
|
|
|
- },
|
|
|
- formatBLText (s, lineLen){
|
|
|
- let reg = /^[A-Za-z0-9]$/g
|
|
|
- let lines=[]
|
|
|
- if(s){
|
|
|
- // this.removeHeadTailSpace(s)
|
|
|
- var lns1=s.split(/\r\n|\r|\n/), lns=[]
|
|
|
- lns1.forEach(ln=>{
|
|
|
- // this.removeHeadTailSpace(ln)
|
|
|
- var line=ln
|
|
|
- // if(line){
|
|
|
- lns.push(line)
|
|
|
- // }
|
|
|
- })
|
|
|
-
|
|
|
- while(lns.length>0){
|
|
|
- let ln=lns[0]
|
|
|
- let lnLen=ln.length
|
|
|
-
|
|
|
- if (lnLen <= lineLen) {
|
|
|
- lines.push(ln)
|
|
|
- lns.splice(0, 1)
|
|
|
- } else {
|
|
|
- reg.lastIndex=0
|
|
|
- if (reg.test(ln.charAt(lineLen - 1))) {
|
|
|
- // 字母和数字,不截断单词
|
|
|
- //倒序查
|
|
|
- let pos1 = lineLen - 2
|
|
|
- let isWord = true
|
|
|
- while (pos1 >= 0) {
|
|
|
- reg.lastIndex=0
|
|
|
- if (reg.test(ln.charAt(pos1))) {
|
|
|
- pos1 -= 1
|
|
|
- continue
|
|
|
- } else {
|
|
|
- isWord = false
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //不是单词断开了
|
|
|
- if (!isWord) {
|
|
|
- lines.push(ln.substr(0, pos1 + 1))
|
|
|
- ln = ln.substr(pos1 + 1, lnLen - (pos1 + 1))
|
|
|
- lnLen = ln.length
|
|
|
- }
|
|
|
- //最后一直是则直接截取
|
|
|
- else {
|
|
|
- lines.push(ln.substr(0, lineLen))
|
|
|
- ln = ln.substr(lineLen, lnLen - lineLen)
|
|
|
- lnLen = ln.length
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 不是字母和数字,直接截取
|
|
|
- lines.push(ln.substr(0, lineLen))
|
|
|
- ln = ln.substr(lineLen, lnLen - lineLen)
|
|
|
- lnLen = ln.length
|
|
|
- }
|
|
|
-
|
|
|
- if (lnLen > 0) {
|
|
|
- if (lns.length > 1) {
|
|
|
- // lns[1] = ln + ' ' + lns[1]
|
|
|
- // lns.unshift(ln)
|
|
|
- lns[0] = ln
|
|
|
- } else {
|
|
|
- lns.push(ln)
|
|
|
- lns.splice(0, 1)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return lines
|
|
|
- },
|
|
|
- async handleReportPreview(row, url, data) {
|
|
|
- let rptType = this.reportTypeData.find(r=>r.groupCode == row.groupCode)
|
|
|
-
|
|
|
+ handleReportPreview(url, data) {
|
|
|
+ console.log(url, 1670)
|
|
|
+ console.log(data, 1671)
|
|
|
// 处理时间
|
|
|
data.end = data.end ? data.end.slice(0, 10) : ''
|
|
|
data.goodsTime = data.goodsTime ? data.goodsTime.slice(0, 10) : ''
|
|
|
@@ -951,8 +702,13 @@ export default {
|
|
|
// 是创建一个 Stimulsoft 报表查看器的实例的代码
|
|
|
let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
|
|
|
|
|
|
+ // 报表
|
|
|
+ console.log("创建一个报表实例");
|
|
|
+ console.log()
|
|
|
let report = new window.Stimulsoft.Report.StiReport();
|
|
|
|
|
|
+ // 加载文件
|
|
|
+ console.log("从url加载报表");
|
|
|
// report.loadFile("/reports/stimulsoft/demos/SimpleList.mrt");
|
|
|
report.load(url)
|
|
|
|
|
|
@@ -1034,7 +790,6 @@ export default {
|
|
|
// data.numberOfObl += ' (' + data.numberOfOblDigit + ')'
|
|
|
// }
|
|
|
|
|
|
- /*
|
|
|
if (data.commodityDescr) {
|
|
|
var descriptionIndex2 = data.commodityDescr.indexOf('\n')
|
|
|
for (let i = 0; i < 19; i++) {
|
|
|
@@ -1049,37 +804,8 @@ export default {
|
|
|
data.extraLongText = extraLongText
|
|
|
}
|
|
|
}
|
|
|
- */
|
|
|
- if(rptType && rptType.params){
|
|
|
- let m = rptType.params.marks
|
|
|
- if(m){
|
|
|
- if(m.lineLength && m.lineLength>0){
|
|
|
- data.marks = this.formatBLText(data.marks, m.lineLength).join('\n')
|
|
|
- }
|
|
|
- if(m.lineCount && m.lineCount>0){
|
|
|
- var lns1=data.marks.split(/\r\n|\r|\n/)
|
|
|
- if(lns1.length>m.lineCount){
|
|
|
- data.hasLargeMarks = true
|
|
|
- data.largeMarks = data.marks
|
|
|
- data.marks = " SEE ATTACHED PAPER"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- m = rptType.params.commodityDescr
|
|
|
- if(m){
|
|
|
- if(m.lineLength && m.lineLength>0){
|
|
|
- data.commodityDescr = this.formatBLText(data.commodityDescr, m.lineLength).join('\n')
|
|
|
- }
|
|
|
- if(m.lineCount && m.lineCount>0){
|
|
|
- var lns1=data.commodityDescr.split(/\r\n|\r|\n/)
|
|
|
- if(lns1.length>m.lineCount){
|
|
|
- data.hasLargeCommodityDescr = true
|
|
|
- data.largeCommodityDescr = data.commodityDescr
|
|
|
- data.commodityDescr = " SEE ATTACHED PAPER"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ // console.log(data.hshipperDetails, 'hshipperDetails2')
|
|
|
|
|
|
// 创建一个 Stimulsoft 数据集(DataSet)的实例的代码
|
|
|
var dataSet = new Stimulsoft.System.Data.DataSet(
|
|
|
@@ -1096,53 +822,6 @@ export default {
|
|
|
// 这是将报表对象指定给报表查看器的属性。viewer 是报表查看器的实例,而 report 是之前创建的报表对象。
|
|
|
viewer.report = report;
|
|
|
|
|
|
- let printData = this.editData
|
|
|
- let printRow = row
|
|
|
-
|
|
|
- viewer.los={
|
|
|
- logId: printData.id,
|
|
|
- reportId: printRow.id,
|
|
|
- allowPrintCount: printRow.allowPrintCount,
|
|
|
- printCount: 0,
|
|
|
- canPrint: printRow.allowPrintCount>=0,
|
|
|
- fileName: buildExportFileName(printRow, printData),
|
|
|
- }
|
|
|
-
|
|
|
- if(printRow.allowPrintCount>0) {
|
|
|
- let pc = await getReportslogPrintCount(printData.id, printRow.id)
|
|
|
- viewer.los.printCount = pc.data.data.count
|
|
|
- viewer.los.canPrint = pc.data.data.canPrint
|
|
|
- }
|
|
|
-
|
|
|
- viewer.onPrintReport = function (sender, args){
|
|
|
- sender.preventDefault = !viewer.los.canPrint
|
|
|
-
|
|
|
- if(viewer.los.allowPrintCount>0){
|
|
|
- addReportPrintCount(viewer.los.logId, viewer.los.reportId)
|
|
|
- viewer.los.printCount += 1
|
|
|
- viewer.los.canPrint = viewer.los.allowPrintCount==0 || viewer.los.printCount<viewer.los.allowPrintCount
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- viewer.onBeginExportReport = async (args) => {
|
|
|
- // if (args.format == Stimulsoft.Report.StiExportFormat.Pdf)
|
|
|
- // args.settings.imageQuality = 0.5;
|
|
|
- args.preventDefault= !viewer.los.canPrint
|
|
|
- }
|
|
|
-
|
|
|
- viewer.onEndExportReport = async (args) => {
|
|
|
- // args.fileName = "SampleFileName.txt";
|
|
|
- // args.preventDefault=true
|
|
|
- if(viewer.los.fileName){
|
|
|
- args.fileName = viewer.los.fileName;
|
|
|
- }
|
|
|
- if(viewer.los.allowPrintCount>0){
|
|
|
- addReportPrintCount(viewer.los.logId, viewer.los.reportId)
|
|
|
- viewer.los.printCount += 1
|
|
|
- viewer.los.canPrint = viewer.los.allowPrintCount==0 || viewer.los.printCount<viewer.los.allowPrintCount
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
this.$refs.reportContainer.showContainer(
|
|
|
() => {
|
|
|
setTimeout(() => {
|
|
|
@@ -1154,6 +833,7 @@ export default {
|
|
|
|
|
|
},
|
|
|
)
|
|
|
+ console.log("加载成功完成!");
|
|
|
},
|
|
|
createViewerButtons(viewer) {
|
|
|
viewer.jsObject.collections.images['myClose.png'] =
|
|
|
@@ -1177,31 +857,28 @@ export default {
|
|
|
// 获取打印按钮的位置
|
|
|
const buttonsTablePrint = toolbarTable.rows[0].childNodes[0].lastChild // 打印按钮
|
|
|
const userButtonPrint = buttonsTablePrint.rows[0].childNodes[0] // 打印按钮dom位置
|
|
|
- const userButtonSave = buttonsTablePrint.rows[0].childNodes[1] // 保存按钮dom位置
|
|
|
+
|
|
|
|
|
|
userButtonPrint.addEventListener("click", (event) => {
|
|
|
- // console.log("打印点击");
|
|
|
+ console.log("打印点击");
|
|
|
// event.preventDefault()
|
|
|
});
|
|
|
userButtonPrint.addEventListener("mouseover", (event) => {
|
|
|
- // console.log("移入打印按钮");
|
|
|
- // console.log(event, 1035)
|
|
|
+ console.log("移入打印按钮");
|
|
|
+ console.log(event, 1035)
|
|
|
|
|
|
});
|
|
|
|
|
|
- if(!viewer.los.canPrint) {
|
|
|
- userButtonPrint.hidden=true
|
|
|
- userButtonSave.hidden=true
|
|
|
- }
|
|
|
-
|
|
|
userButtonCell.className = 'stiJsViewerClearAllStyles'
|
|
|
userButtonCell.appendChild(closeBtn) // 添加关闭节点
|
|
|
|
|
|
// userButtonPrint.prepend(printBtn) // 在 printBtn 节点里最前面增加一个子级节点
|
|
|
|
|
|
+
|
|
|
let that = this
|
|
|
// 关闭按钮的监听点击
|
|
|
closeBtn.action = function () {
|
|
|
+ console.log(that.$refs.ReportContainer, '1022')
|
|
|
if (that.$refs.reportContainer)
|
|
|
that.$refs.reportContainer.hideContainer()
|
|
|
}
|
|
|
@@ -1217,8 +894,8 @@ export default {
|
|
|
//自定义列保存
|
|
|
async saveColumnTwo(ref, option, optionBack, code) {
|
|
|
/**
|
|
|
- * 已定义全局方法,直接使用,saveColumnData 保存列数据方法,参数传值(表格名称,当前表格的option数据)
|
|
|
- * 已定义全局方法,直接使用,getColumnName 方法用来获取枚举值,参数根据自己定义的code值获取中文名
|
|
|
+ * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
|
|
|
+ * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
|
|
|
* 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
|
|
|
*/
|
|
|
const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
|