张同海 3 months ago
commit f41ea97cd8

@ -103,7 +103,7 @@
</span>
</a-tooltip>
</div>
<DsPrint ref="dsPrint" :code="code" />
<DsPrint ref="dsPrint" :code="code" :paramJsonStr="paramJsonStr" />
</div>
</template>
<script lang="ts">
@ -171,6 +171,11 @@
showBtns: {
type: Array,
default: ['save', 'submit', 'copy', 'print', 'next', 'last']
},
//
paramJsonStr: {
type: String,
default: null
}
},
emits: ['copy'],

@ -43,15 +43,15 @@
{{ item.templateName }}
</span>
<span class="flex flex-btns">
<dl @click="toPrint(item.id, '1')">
<dl @click="toPrint(item, '1')">
<dt><img src="../../assets/images/PDF2.png" alt=""></dt>
<dd>pdf</dd>
</dl>
<dl @click="toPrint(item.id, '2', item.name)">
<dl @click="toPrint(item, '2', item.name)">
<dt><img src="../../assets/images/xksx2.png" alt=""></dt>
<dd>xlsx</dd>
</dl>
<dl @click="toPrint(item.id, '3')">
<dl @click="toPrint(item, '3')">
<dt><img src="../../assets/images/DOC2.png" alt=""></dt>
<dd>doc</dd>
</dl>
@ -72,7 +72,8 @@
<script lang="ts" setup name="DsPrint">
import { ref, defineExpose, defineProps } from 'vue'
import { GetOpenPrintTemplateList, GetOpenJsonPrintInfo } from '/@/views/operation/seaexport/api/BookingLedger.js'
import { useUserStore } from '/@/store/modules/user'
import { GetOpenPrintTemplateList, GetOpenJsonPrintInfo, GetOpenSqlPrintInfo } from '/@/views/operation/seaexport/api/BookingLedger.js'
import { useMessage } from '/@/hooks/web/useMessage'
const { createMessage } = useMessage()
const props = defineProps({
@ -80,6 +81,11 @@
code: {
type: String,
default: null
},
//
paramJsonStr: {
type: String,
default: null
}
})
//
@ -141,11 +147,37 @@
}
//
const toPrint = (id, type, name) => {
const toPrint = (item, type) => {
if (item.isUseDataSource) {
const userStore = useUserStore()
const postData = {
printType: type,
templateId: item.id,
paramJsonStr: props.paramJsonStr,
templateCode: item.templateCode,
tenantId: userStore.getUserInfo.tenantId
}
loading.value = true
GetOpenSqlPrintInfo(postData).then(res => {
loading.value = false
if (res.succeeded) {
let fileURL = `http://118.190.144.189:3008/printtempfile/${res.data}`
if (type == 1) {
window.open(fileURL)
} else {
window.open(`//118.190.144.189:3008/printtempfile/${res.data}`, '_blank')
}
} else {
createMessage.error(res.message)
}
}).catch(() => {
loading.value = false
})
} else {
const postData = {
jsonDataStr: jsonDataStr.value || '',
printType: type,
templateId: id
templateId: item.id
}
loading.value = true
GetOpenJsonPrintInfo(postData).then(res => {
@ -164,6 +196,7 @@
loading.value = false
})
}
}
defineExpose({
init

@ -350,7 +350,7 @@ export function GetOpenPrintTemplateList(data) {
data,
})
}
// 获取Json打印信息 (Auth)
// 获取Json打印信息 (不使用数据源)
export function GetOpenJsonPrintInfo(parameter) {
return request({
url: '/printApi/OpenPrint/GetOpenJsonPrintInfoAsync',
@ -359,6 +359,15 @@ export function GetOpenJsonPrintInfo(parameter) {
})
}
// 获取Json打印信息 (使用数据源)
export function GetOpenSqlPrintInfo(parameter) {
return request({
url: '/printApi/OpenPrint/GetOpenSqlPrintInfo',
method: 'post',
data: parameter,
})
}
// 获取服务项目列表 (Auth)
export function GetServiceProjectList(parameter) {
return request({

@ -25,6 +25,7 @@
:save="save"
:copy="copyData"
:submit="submit"
:paramJsonStr="'{id:' + id + '}'"
:showBtns="(route.query.source == 'Create' && route.query.status == 'WAIT_ORDER_AUDIT') ? ['save'] : ['save', 'submit', 'copy', 'print', 'next', 'last']"
layout="horizontal"
></ActionBar>

@ -822,6 +822,10 @@ export const mailingInfoFormSchemaR: FormSchema[] = [
formActionType ? formActionType.linkageForm({ key: 'dischargePortCode', value: obj }) : null
formModel.dischargePortId = obj.id
formModel.dischargePort = obj.portName
// 带出交货地
formModel.deliveryPlaceId = obj.id
formModel.deliveryPlace = obj.portName
formModel.deliveryPlaceCode = e
}
if (!e && !obj) {
formActionType ? formActionType.linkageForm({ key: 'dischargePortCode', value: null }) : null
@ -2760,6 +2764,7 @@ export const personFormSchema: FormSchema[] = [
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
mode: 'SECRET_COMBOBOX_MODE_DO_NOT_USE',
onChange: (v, obj) => {
if (obj) {
formModel.name = obj.label

Loading…
Cancel
Save