doctor-admin-components 1.0.10 → 1.0.11-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/packages/index.js +51 -56
- package/packages/src/api/biz/bizContract.js +8 -0
- package/packages/src/components/DictTag/index.vue +1 -3
- package/packages/src/index.js +12 -9
- package/packages/src/utils/request.js +1 -2
- package/packages/src/views/biz/bizFileInfo/contract.vue +64 -35
- package/packages/src/views/biz/bizFileInfo/fileShow.vue +5 -0
- package/packages/src/views/biz/contractTracing/billInfo.vue +90 -22
- package/packages/src/views/biz/contractTracing/contractInfo.vue +4 -2
- package/packages/src/views/biz/contractTracing/contractSummary.vue +63 -20
- package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +48 -33
- package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +50 -28
package/package.json
CHANGED
package/packages/index.js
CHANGED
|
@@ -6,23 +6,22 @@
|
|
|
6
6
|
// Vue.use(ZpwComTest); // use install
|
|
7
7
|
// Vue.config.productionTip = false;
|
|
8
8
|
|
|
9
|
-
import Cookies from
|
|
10
|
-
import router from
|
|
11
|
-
import Element from
|
|
12
|
-
import enLocale from
|
|
13
|
-
import zhLocale from
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import plugins from
|
|
9
|
+
import Cookies from "js-cookie";
|
|
10
|
+
import router from "./src/router";
|
|
11
|
+
import Element from "element-ui";
|
|
12
|
+
import enLocale from "element-ui/lib/locale/lang/en";
|
|
13
|
+
import zhLocale from "element-ui/lib/locale/lang/zh-CN";
|
|
14
|
+
import "./src/assets/icons"; // icon
|
|
15
|
+
import "./src/assets/styles/element-variables.scss";
|
|
16
|
+
|
|
17
|
+
import "./src/assets/styles/index.scss"; // global css
|
|
18
|
+
import "./src/assets/styles/ruoyi.scss"; // ruoyi css
|
|
19
|
+
import plugins from "./src/plugins";
|
|
20
20
|
|
|
21
21
|
// import VueI18n from 'vue-i18n'
|
|
22
22
|
// Vue.use(plugins)
|
|
23
23
|
// Vue.use(VueI18n)
|
|
24
24
|
|
|
25
|
-
|
|
26
25
|
import {
|
|
27
26
|
parseTime,
|
|
28
27
|
resetForm,
|
|
@@ -31,59 +30,54 @@ import {
|
|
|
31
30
|
selectDictLabels,
|
|
32
31
|
handleTree,
|
|
33
32
|
utc2local,
|
|
34
|
-
removeMarketContent
|
|
33
|
+
removeMarketContent,
|
|
35
34
|
} from "./src/utils/ruoyi";
|
|
36
35
|
|
|
37
|
-
import {
|
|
38
|
-
getDicts
|
|
39
|
-
} from "./src/api/system/dict/data";
|
|
36
|
+
import { getDicts } from "./src/api/system/dict/data";
|
|
40
37
|
|
|
41
|
-
import DictTag from
|
|
38
|
+
import DictTag from "./src/components/DictTag";
|
|
42
39
|
|
|
43
|
-
import { download } from
|
|
44
|
-
import moment from
|
|
45
|
-
import ImagePreview from "./src/components/ImagePreview"
|
|
46
|
-
import ImageUpload from "./src/components/ImageUpload/aliyun"
|
|
40
|
+
import { download } from "./src/utils/request";
|
|
41
|
+
import moment from "moment";
|
|
42
|
+
import ImagePreview from "./src/components/ImagePreview";
|
|
43
|
+
import ImageUpload from "./src/components/ImageUpload/aliyun";
|
|
47
44
|
|
|
48
|
-
import DictData from
|
|
45
|
+
import DictData from "./src/components/DictData";
|
|
49
46
|
|
|
50
47
|
// 导入button组件
|
|
51
|
-
import XButton from
|
|
52
|
-
import {
|
|
53
|
-
|
|
54
|
-
ContractTracingDetail
|
|
55
|
-
} from "./src";
|
|
56
|
-
import locale from 'element-ui/src/locale';
|
|
48
|
+
import XButton from "./Button";
|
|
49
|
+
import { Claim, ContractTracingDetail, PurchaseInvoiceUpload } from "./src";
|
|
50
|
+
import locale from "element-ui/src/locale";
|
|
57
51
|
|
|
58
52
|
// 组件列表
|
|
59
53
|
const components = [
|
|
60
54
|
XButton,
|
|
61
55
|
Claim,
|
|
62
|
-
ContractTracingDetail
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
ContractTracingDetail,
|
|
57
|
+
PurchaseInvoiceUpload,
|
|
58
|
+
];
|
|
65
59
|
|
|
66
60
|
// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,那么所有的组件都会被注册
|
|
67
61
|
const install = function (Vue, options) {
|
|
68
|
-
console.log(
|
|
69
|
-
Vue.use(plugins)
|
|
62
|
+
console.log("---options", options);
|
|
63
|
+
Vue.use(plugins);
|
|
70
64
|
// Vue.use(VueI18n)
|
|
71
|
-
Vue.prototype.getDicts = getDicts
|
|
72
|
-
Vue.prototype.parseTime = parseTime
|
|
73
|
-
Vue.prototype.resetForm = resetForm
|
|
74
|
-
Vue.prototype.addDateRange = addDateRange
|
|
75
|
-
Vue.prototype.selectDictLabel = selectDictLabel
|
|
76
|
-
Vue.prototype.selectDictLabels = selectDictLabels
|
|
77
|
-
Vue.prototype.download = download
|
|
78
|
-
Vue.prototype.handleTree = handleTree
|
|
79
|
-
Vue.prototype.utc2local = utc2local
|
|
80
|
-
Vue.prototype.removeMarketContent = removeMarketContent
|
|
65
|
+
Vue.prototype.getDicts = getDicts;
|
|
66
|
+
Vue.prototype.parseTime = parseTime;
|
|
67
|
+
Vue.prototype.resetForm = resetForm;
|
|
68
|
+
Vue.prototype.addDateRange = addDateRange;
|
|
69
|
+
Vue.prototype.selectDictLabel = selectDictLabel;
|
|
70
|
+
Vue.prototype.selectDictLabels = selectDictLabels;
|
|
71
|
+
Vue.prototype.download = download;
|
|
72
|
+
Vue.prototype.handleTree = handleTree;
|
|
73
|
+
Vue.prototype.utc2local = utc2local;
|
|
74
|
+
Vue.prototype.removeMarketContent = removeMarketContent;
|
|
81
75
|
Vue.prototype.$moment = moment;
|
|
82
|
-
Vue.component(
|
|
83
|
-
Vue.component(
|
|
84
|
-
Vue.component(
|
|
76
|
+
Vue.component("ImagePreview", ImagePreview);
|
|
77
|
+
Vue.component("ImageUpload", ImageUpload);
|
|
78
|
+
Vue.component("DictTag", DictTag);
|
|
85
79
|
|
|
86
|
-
DictData.install(Vue)
|
|
80
|
+
DictData.install(Vue);
|
|
87
81
|
|
|
88
82
|
// 字典数据组件
|
|
89
83
|
// const lang = options?.lang || Cookies.get('lang') || localStorage.getItem('lang') || (navigator.language === 'zh-CN' ? 'zh' : 'en') || 'en'
|
|
@@ -95,7 +89,7 @@ const install = function (Vue, options) {
|
|
|
95
89
|
// 'en': require('./src/lang/en.json')
|
|
96
90
|
// }
|
|
97
91
|
// })
|
|
98
|
-
|
|
92
|
+
|
|
99
93
|
// Vue.use(Element, {
|
|
100
94
|
// enLocale,
|
|
101
95
|
// zhLocale
|
|
@@ -103,20 +97,20 @@ const install = function (Vue, options) {
|
|
|
103
97
|
|
|
104
98
|
// locale.use(lang);
|
|
105
99
|
// locale.i18n(lang);
|
|
106
|
-
|
|
100
|
+
|
|
107
101
|
// new Vue({
|
|
108
102
|
// i18n,
|
|
109
103
|
// }).$mount('#contract-detail')
|
|
110
104
|
|
|
111
105
|
// 判断是否安装
|
|
112
|
-
if (install.installed) return
|
|
106
|
+
if (install.installed) return;
|
|
113
107
|
// 遍历注册全局组件
|
|
114
|
-
components.map(component => Vue.component(component.name, component))
|
|
115
|
-
}
|
|
108
|
+
components.map((component) => Vue.component(component.name, component));
|
|
109
|
+
};
|
|
116
110
|
|
|
117
111
|
// 判断是否是直接引入文件
|
|
118
|
-
if (typeof window !==
|
|
119
|
-
install(window.Vue)
|
|
112
|
+
if (typeof window !== "undefined" && window.Vue) {
|
|
113
|
+
install(window.Vue);
|
|
120
114
|
}
|
|
121
115
|
export default {
|
|
122
116
|
// 导出的对象必须具有 install,才能被 Vue.use() 方法安装
|
|
@@ -124,5 +118,6 @@ export default {
|
|
|
124
118
|
// 以下是具体的组件列表
|
|
125
119
|
// XButton,
|
|
126
120
|
ContractTracingDetail,
|
|
127
|
-
Claim
|
|
128
|
-
|
|
121
|
+
Claim,
|
|
122
|
+
PurchaseInvoiceUpload,
|
|
123
|
+
};
|
|
@@ -26,6 +26,14 @@ export function getBizContract(id) {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
// 查询合同详细
|
|
30
|
+
export function getSaleContractInfo(dealId) {
|
|
31
|
+
return request({
|
|
32
|
+
url: "/biz/contract/saleContract/" + dealId,
|
|
33
|
+
method: "get",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
29
37
|
// 查询合同文件详细
|
|
30
38
|
export function getBizContractFileInfo(id) {
|
|
31
39
|
return request({
|
|
@@ -46,13 +46,11 @@ export default {
|
|
|
46
46
|
},
|
|
47
47
|
...mapGetters(["language"]),
|
|
48
48
|
isChina() {
|
|
49
|
-
|
|
50
|
-
return ["zh-CN", "zh-TW","zh"].includes(this.language);
|
|
49
|
+
return ["zh-CN", "zh-TW", "zh"].includes(this.language);
|
|
51
50
|
},
|
|
52
51
|
},
|
|
53
52
|
methods: {
|
|
54
53
|
getName(item) {
|
|
55
|
-
console.log('item',item);
|
|
56
54
|
return this.isChina ? item?.label : item?.raw?.dictLabelEn;
|
|
57
55
|
},
|
|
58
56
|
},
|
package/packages/src/index.js
CHANGED
|
@@ -8,25 +8,28 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/* eslint-disable import/prefer-default-export */
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
// export { default as ZpwComTestSample } from './lib-components/zpw-com-test-sample.vue';
|
|
13
12
|
// export { default as ZpwButton } from './lib-components/zpw-button.vue';
|
|
14
13
|
// export { default as ContractTracingDetail } from './views/biz/contractTracing/contractTracingDetail.vue';
|
|
15
14
|
// // export { default as Test } from './views/test.vue111111111111';
|
|
16
15
|
|
|
17
|
-
import ContractTracingDetail from
|
|
18
|
-
import Claim from
|
|
16
|
+
import ContractTracingDetail from "./views/biz/contractTracing/contractTracingDetail.vue";
|
|
17
|
+
import Claim from "./views/biz/claim/Claim.vue";
|
|
18
|
+
import PurchaseInvoiceUpload from "./views/biz/contractTracing/purchaseInvoiceUpload.vue";
|
|
19
19
|
|
|
20
20
|
// 为组件提供 install 安装方法,供按需引入
|
|
21
21
|
|
|
22
22
|
ContractTracingDetail.install = function (Vue) {
|
|
23
|
-
Vue.component(ContractTracingDetail.name, ContractTracingDetail)
|
|
24
|
-
}
|
|
23
|
+
Vue.component(ContractTracingDetail.name, ContractTracingDetail);
|
|
24
|
+
};
|
|
25
25
|
|
|
26
26
|
Claim.install = function (Vue) {
|
|
27
|
-
Vue.component(Claim.name, Claim)
|
|
28
|
-
}
|
|
27
|
+
Vue.component(Claim.name, Claim);
|
|
28
|
+
};
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
PurchaseInvoiceUpload.install = function (Vue) {
|
|
31
|
+
Vue.component(PurchaseInvoiceUpload.name, PurchaseInvoiceUpload);
|
|
32
|
+
};
|
|
32
33
|
|
|
34
|
+
// 导出组件
|
|
35
|
+
export { ContractTracingDetail, Claim, PurchaseInvoiceUpload };
|
|
@@ -15,7 +15,7 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
|
|
|
15
15
|
// 创建axios实例
|
|
16
16
|
const service = axios.create({
|
|
17
17
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
|
18
|
-
baseURL:
|
|
18
|
+
baseURL: "/prod-admin",
|
|
19
19
|
// 超时
|
|
20
20
|
timeout: 60000,
|
|
21
21
|
});
|
|
@@ -87,7 +87,6 @@ service.interceptors.request.use(
|
|
|
87
87
|
// if (config.url.includes('/system/dict/data/type/')) {
|
|
88
88
|
// config.url = '/prod-api' + config.url
|
|
89
89
|
// }
|
|
90
|
-
console.log('==config.url==', config.url);
|
|
91
90
|
return config;
|
|
92
91
|
},
|
|
93
92
|
(error) => {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
{{
|
|
20
20
|
contract.contractType == "sale"
|
|
21
21
|
? $t("contractDetail.saleContract")
|
|
22
|
-
:
|
|
22
|
+
: $t("contractDetail.purchaseContract")
|
|
23
23
|
}}
|
|
24
24
|
<el-button
|
|
25
25
|
v-if="channel !== 'official-website'"
|
|
@@ -81,20 +81,16 @@
|
|
|
81
81
|
></el-col>
|
|
82
82
|
</el-row>
|
|
83
83
|
<el-divider></el-divider>
|
|
84
|
-
<div
|
|
85
|
-
v-if="channel !== 'official-website'"
|
|
86
|
-
class="sub-title">
|
|
87
|
-
{{
|
|
88
|
-
contract.contractType == "sale"
|
|
89
|
-
? $t("contractDetail.signSaleContract")
|
|
90
|
-
: $t("contractDetail.signPuchaseContract")
|
|
91
|
-
}}
|
|
92
|
-
</div>
|
|
93
|
-
<div v-esle class="sub-title">
|
|
84
|
+
<div v-if="channel !== 'official-website'" class="sub-title">
|
|
94
85
|
{{
|
|
95
|
-
|
|
86
|
+
contract.contractType == "sale"
|
|
87
|
+
? $t("contractDetail.signSaleContract")
|
|
88
|
+
: $t("contractDetail.signPuchaseContract")
|
|
96
89
|
}}
|
|
97
90
|
</div>
|
|
91
|
+
<div v-else class="sub-title">
|
|
92
|
+
{{ $t("contractDetail.signSaleContract") }}
|
|
93
|
+
</div>
|
|
98
94
|
<div class="file-list">
|
|
99
95
|
<file-show
|
|
100
96
|
@refresh="handleRefresh"
|
|
@@ -148,13 +144,27 @@
|
|
|
148
144
|
"
|
|
149
145
|
class="el-icon-success customer-icon-success-color"
|
|
150
146
|
>
|
|
151
|
-
{{
|
|
147
|
+
{{
|
|
148
|
+
channel !== "official-website"
|
|
149
|
+
? "定金已收"
|
|
150
|
+
: $t("contractDetail.Deposit_Paid")
|
|
151
|
+
}}
|
|
152
|
+
</div>
|
|
153
|
+
<div v-else style="color: red">
|
|
154
|
+
{{
|
|
155
|
+
channel !== "official-website"
|
|
156
|
+
? "定金未收"
|
|
157
|
+
: $t("contractDetail.Deposit_Unpaid")
|
|
158
|
+
}}
|
|
152
159
|
</div>
|
|
153
|
-
<div v-else style="color: red">{{channel !== 'official-website' ? '定金未收' : $t('contractDetail.Deposit_Unpaid')}}</div>
|
|
154
160
|
</el-col>
|
|
155
161
|
</el-row>
|
|
156
162
|
<el-row v-else>
|
|
157
|
-
<el-col :span="2"
|
|
163
|
+
<el-col :span="2"
|
|
164
|
+
><div style="color: #1890ff">
|
|
165
|
+
{{ $t("contractDetail.Deposit") }}
|
|
166
|
+
</div>
|
|
167
|
+
</el-col>
|
|
158
168
|
<el-col :span="2">
|
|
159
169
|
<div
|
|
160
170
|
v-if="
|
|
@@ -248,7 +258,9 @@
|
|
|
248
258
|
type="primary"
|
|
249
259
|
size="mini"
|
|
250
260
|
@click="handleGenerate"
|
|
251
|
-
v-if="
|
|
261
|
+
v-if="
|
|
262
|
+
channel !== 'official-website' && contract.contractType == 'sale'
|
|
263
|
+
"
|
|
252
264
|
>生成船运</el-button
|
|
253
265
|
>
|
|
254
266
|
<el-tabs v-model="activeName">
|
|
@@ -266,7 +278,12 @@
|
|
|
266
278
|
:type="shipmentFileInfo ? 'primary' : ''"
|
|
267
279
|
size="large"
|
|
268
280
|
>
|
|
269
|
-
<div
|
|
281
|
+
<div
|
|
282
|
+
v-if="channel !== 'official-website'"
|
|
283
|
+
style="color: #1890ff"
|
|
284
|
+
>
|
|
285
|
+
首批货运
|
|
286
|
+
</div>
|
|
270
287
|
<div>
|
|
271
288
|
<div class="sub-title">
|
|
272
289
|
{{ $t("contractDetail.bookingConfirmation") }}
|
|
@@ -483,7 +500,7 @@
|
|
|
483
500
|
:key="i"
|
|
484
501
|
/>
|
|
485
502
|
<contract-file-drag-upload
|
|
486
|
-
|
|
503
|
+
v-if="channel !== 'official-website'"
|
|
487
504
|
@upload="
|
|
488
505
|
handleUpload(
|
|
489
506
|
$event,
|
|
@@ -677,31 +694,35 @@
|
|
|
677
694
|
:type="shipmentFileInfo.waterBill ? 'primary' : ''"
|
|
678
695
|
size="large"
|
|
679
696
|
>
|
|
680
|
-
<div
|
|
697
|
+
<div
|
|
698
|
+
v-if="channel !== 'official-website'"
|
|
699
|
+
style="color: #1890ff"
|
|
700
|
+
>
|
|
681
701
|
{{
|
|
682
|
-
contract.contractType == "sale"
|
|
702
|
+
contract.contractType == "sale"
|
|
703
|
+
? "尾款收款"
|
|
704
|
+
: $t("contractDetail.Final_payment")
|
|
683
705
|
}}
|
|
684
706
|
</div>
|
|
685
707
|
<div v-else class="sub-title">
|
|
686
|
-
{{
|
|
687
|
-
$t('contractDetail.Final_payment')
|
|
688
|
-
}}
|
|
708
|
+
{{ $t("contractDetail.Final_payment") }}
|
|
689
709
|
</div>
|
|
690
710
|
<el-row>
|
|
691
711
|
<el-col :span="8">
|
|
692
712
|
<div>
|
|
693
|
-
<div
|
|
713
|
+
<div
|
|
714
|
+
v-if="channel !== 'official-website'"
|
|
715
|
+
class="sub-title"
|
|
716
|
+
>
|
|
694
717
|
{{
|
|
695
718
|
contract.contractType == "sale"
|
|
696
719
|
? "收款水单"
|
|
697
|
-
: $t(
|
|
720
|
+
: $t("contractDetail.Payment_receipt")
|
|
698
721
|
}}
|
|
699
722
|
</div>
|
|
700
723
|
<div v-else class="sub-title">
|
|
701
|
-
{{
|
|
702
|
-
|
|
703
|
-
}}
|
|
704
|
-
</div>
|
|
724
|
+
{{ $t("contractDetail.Payment_receipt") }}
|
|
725
|
+
</div>
|
|
705
726
|
<div class="file-list">
|
|
706
727
|
<file-show
|
|
707
728
|
@refresh="handleRefresh"
|
|
@@ -769,17 +790,18 @@
|
|
|
769
790
|
</el-row>
|
|
770
791
|
<el-row>
|
|
771
792
|
<div>
|
|
772
|
-
<div
|
|
793
|
+
<div
|
|
794
|
+
class="sub-title"
|
|
795
|
+
v-if="channel !== 'official-website'"
|
|
796
|
+
>
|
|
773
797
|
{{
|
|
774
798
|
contract.contractType == "sale"
|
|
775
799
|
? "收款凭证"
|
|
776
|
-
: $t(
|
|
800
|
+
: $t("contractDetail.Payment_voucher")
|
|
777
801
|
}}
|
|
778
802
|
</div>
|
|
779
803
|
<div v-else class="sub-title">
|
|
780
|
-
{{
|
|
781
|
-
$t('contractDetail.Payment_voucher')
|
|
782
|
-
}}
|
|
804
|
+
{{ $t("contractDetail.Payment_voucher") }}
|
|
783
805
|
</div>
|
|
784
806
|
<div class="file-list">
|
|
785
807
|
<file-show
|
|
@@ -824,7 +846,7 @@
|
|
|
824
846
|
:key="i"
|
|
825
847
|
/>
|
|
826
848
|
<contract-file-drag-upload
|
|
827
|
-
|
|
849
|
+
v-if="channel !== 'official-website'"
|
|
828
850
|
@upload="
|
|
829
851
|
handleUpload(
|
|
830
852
|
$event,
|
|
@@ -859,6 +881,7 @@
|
|
|
859
881
|
</template>
|
|
860
882
|
|
|
861
883
|
<script>
|
|
884
|
+
import { chargedShipment } from "../../../api/biz/bizShipment";
|
|
862
885
|
import { listBizFileInfo, addBizFileInfo } from "../../../api/biz/bizFileInfo";
|
|
863
886
|
import { getBizContractFileInfo } from "../../../api/biz/bizContract";
|
|
864
887
|
import FileShow from "./fileShow.vue";
|
|
@@ -1050,6 +1073,12 @@ export default {
|
|
|
1050
1073
|
});
|
|
1051
1074
|
});
|
|
1052
1075
|
}
|
|
1076
|
+
//如果是上传电放
|
|
1077
|
+
if (fileType == "shipment_delivery_receipt") {
|
|
1078
|
+
chargedShipment({ shipmentId: linkId }).then((response) => {
|
|
1079
|
+
this.$modal.msgSuccess("电放成功");
|
|
1080
|
+
});
|
|
1081
|
+
}
|
|
1053
1082
|
});
|
|
1054
1083
|
},
|
|
1055
1084
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<div v-if="
|
|
3
|
+
<div v-if="saleContract && saleContract.submitFlag">
|
|
4
4
|
<div class="info" id="printPdf" v-if="!printModel">
|
|
5
5
|
<el-form :model="form" ref="form" size="mini" :rules="rules">
|
|
6
6
|
<el-row>
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
<div class="sub-title mb20">Consignee Information</div>
|
|
9
9
|
</el-col>
|
|
10
10
|
<el-col :span="2">
|
|
11
|
-
<el-button type="text" @click="editBill">{{
|
|
11
|
+
<el-button type="text" @click="editBill">{{
|
|
12
|
+
$t("contractDetail.edit")
|
|
13
|
+
}}</el-button>
|
|
12
14
|
</el-col>
|
|
13
15
|
</el-row>
|
|
14
16
|
<el-row>
|
|
@@ -64,13 +66,19 @@
|
|
|
64
66
|
</el-row>
|
|
65
67
|
<el-row>
|
|
66
68
|
<el-form-item label="Email:">
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
<el-row>
|
|
70
|
+
<el-col :span="20">
|
|
71
|
+
<div style="white-space: pre-line !important">
|
|
72
|
+
{{
|
|
73
|
+
this.form.deliveryCompany &&
|
|
74
|
+
this.form.deliveryCompany.email &&
|
|
75
|
+
this.form.deliveryCompany.email.length > 0
|
|
76
|
+
? this.form.deliveryCompany.email.join("\n")
|
|
77
|
+
: ""
|
|
78
|
+
}}
|
|
79
|
+
</div>
|
|
80
|
+
</el-col>
|
|
81
|
+
</el-row>
|
|
74
82
|
</el-form-item>
|
|
75
83
|
</el-row>
|
|
76
84
|
|
|
@@ -132,13 +140,19 @@
|
|
|
132
140
|
|
|
133
141
|
<el-row>
|
|
134
142
|
<el-form-item label="Email:">
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
143
|
+
<el-row>
|
|
144
|
+
<el-col :span="20">
|
|
145
|
+
<div style="white-space: pre-line !important">
|
|
146
|
+
{{
|
|
147
|
+
this.form.notifierCompany &&
|
|
148
|
+
this.form.notifierCompany.email &&
|
|
149
|
+
this.form.notifierCompany.email.length > 0
|
|
150
|
+
? this.form.notifierCompany.email.join("\n")
|
|
151
|
+
: ""
|
|
152
|
+
}}
|
|
153
|
+
</div>
|
|
154
|
+
</el-col>
|
|
155
|
+
</el-row>
|
|
142
156
|
</el-form-item>
|
|
143
157
|
</el-row>
|
|
144
158
|
<el-divider></el-divider>
|
|
@@ -160,7 +174,7 @@
|
|
|
160
174
|
font-size: 14px;
|
|
161
175
|
"
|
|
162
176
|
>
|
|
163
|
-
{{
|
|
177
|
+
{{ "Option " + (index + 1) }}
|
|
164
178
|
</div>
|
|
165
179
|
</el-col>
|
|
166
180
|
<el-col :span="5">
|
|
@@ -176,23 +190,33 @@
|
|
|
176
190
|
</el-row>
|
|
177
191
|
</el-row>
|
|
178
192
|
|
|
179
|
-
<el-form-item label="
|
|
193
|
+
<el-form-item label="Destination Port:">
|
|
180
194
|
{{ contract.destination }}
|
|
181
195
|
</el-form-item>
|
|
182
196
|
|
|
197
|
+
<el-form-item label="Terminal:">
|
|
198
|
+
{{ form.terminal }}
|
|
199
|
+
</el-form-item>
|
|
200
|
+
|
|
183
201
|
<el-form-item label="Shipping mark:">
|
|
184
202
|
{{ form.shippingMark }}
|
|
185
203
|
</el-form-item>
|
|
186
204
|
|
|
187
205
|
<el-form-item label="Remark:" prop="blRemark">
|
|
188
|
-
|
|
206
|
+
<div style="white-space: pre-line !important">
|
|
207
|
+
{{ "\n" + form.blRemark }}
|
|
208
|
+
</div>
|
|
189
209
|
</el-form-item>
|
|
190
210
|
</el-form>
|
|
191
211
|
</div>
|
|
192
212
|
<div class="footer" v-if="!printModel">
|
|
193
|
-
<el-
|
|
194
|
-
Export ( PDF format)
|
|
195
|
-
|
|
213
|
+
<el-dropdown @command="handleTemplate" trigger="click">
|
|
214
|
+
<el-button type="primary"> Export ( PDF format) </el-button>
|
|
215
|
+
<el-dropdown-menu slot="dropdown">
|
|
216
|
+
<el-dropdown-item command="PDF">PDF</el-dropdown-item>
|
|
217
|
+
<el-dropdown-item command="EXCEL">EXCEL</el-dropdown-item>
|
|
218
|
+
</el-dropdown-menu>
|
|
219
|
+
</el-dropdown>
|
|
196
220
|
</div>
|
|
197
221
|
|
|
198
222
|
<div class="billPdf" v-if="printModel">
|
|
@@ -242,6 +266,8 @@ import { listBizContractCompany } from "../../../api/biz/bizContractCompany";
|
|
|
242
266
|
import BillPdf from "./billPdf.vue";
|
|
243
267
|
import { listCompanyBillGoods } from "../../../api/biz/bizCompanyBillGoods";
|
|
244
268
|
import EditBill from "./editBill.vue";
|
|
269
|
+
import { getSaleContractInfo } from "../../../api/biz/bizContract";
|
|
270
|
+
|
|
245
271
|
export default {
|
|
246
272
|
name: "BillInfo",
|
|
247
273
|
props: {
|
|
@@ -253,6 +279,8 @@ export default {
|
|
|
253
279
|
components: { BillPdf, EditBill },
|
|
254
280
|
data() {
|
|
255
281
|
return {
|
|
282
|
+
//
|
|
283
|
+
saleContract: null,
|
|
256
284
|
// 遮罩层
|
|
257
285
|
loading: true,
|
|
258
286
|
// 弹出层标题
|
|
@@ -295,8 +323,14 @@ export default {
|
|
|
295
323
|
if (printModel == 1) {
|
|
296
324
|
this.printModel = true;
|
|
297
325
|
}
|
|
326
|
+
this.getSaleContractInfo(this.contract.dealId);
|
|
298
327
|
},
|
|
299
328
|
methods: {
|
|
329
|
+
getSaleContractInfo(dealId) {
|
|
330
|
+
getSaleContractInfo(dealId).then((res) => {
|
|
331
|
+
this.saleContract = res.data;
|
|
332
|
+
});
|
|
333
|
+
},
|
|
300
334
|
edit() {
|
|
301
335
|
this.getDealRecord(this.contract.askId);
|
|
302
336
|
},
|
|
@@ -539,6 +573,40 @@ export default {
|
|
|
539
573
|
this.printModel = false;
|
|
540
574
|
});
|
|
541
575
|
},
|
|
576
|
+
|
|
577
|
+
//导出按钮
|
|
578
|
+
handleTemplate(command) {
|
|
579
|
+
if (command == "EXCEL") {
|
|
580
|
+
this.download(
|
|
581
|
+
"biz/contract/downBill",
|
|
582
|
+
{
|
|
583
|
+
contractId: this.contract.contractId,
|
|
584
|
+
templateType: command,
|
|
585
|
+
},
|
|
586
|
+
`${
|
|
587
|
+
"BLI-" +
|
|
588
|
+
this.contract.contractNo +
|
|
589
|
+
"_" +
|
|
590
|
+
this.parseTime(new Date(), "{y}{m}{d}")
|
|
591
|
+
}.xlsx`
|
|
592
|
+
);
|
|
593
|
+
}
|
|
594
|
+
if (command == "PDF") {
|
|
595
|
+
this.download(
|
|
596
|
+
"biz/contract/downBill",
|
|
597
|
+
{
|
|
598
|
+
contractId: this.contract.contractId,
|
|
599
|
+
templateType: command,
|
|
600
|
+
},
|
|
601
|
+
`${
|
|
602
|
+
"BLI-" +
|
|
603
|
+
this.contract.contractNo +
|
|
604
|
+
"_" +
|
|
605
|
+
this.parseTime(new Date(), "{y}{m}{d}")
|
|
606
|
+
}.pdf`
|
|
607
|
+
);
|
|
608
|
+
}
|
|
609
|
+
},
|
|
542
610
|
},
|
|
543
611
|
};
|
|
544
612
|
</script>
|
|
@@ -183,9 +183,11 @@ export default {
|
|
|
183
183
|
if (this.lang == 'zh') {
|
|
184
184
|
lang = 'zh-CN'
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
const encryptedContractId = this.$encryptId(this.contract.contractId)
|
|
187
|
+
const encryptedDealId = this.$encryptId(this.contract.dealId)
|
|
188
|
+
|
|
187
189
|
window.open(
|
|
188
|
-
`${url}${this.contract.dealId}&contractId=${this.contract.contractId}&language=${lang}`
|
|
190
|
+
`${url}${this.contract.dealId}&contractId=${this.contract.contractId}&language=${lang}&encryptedContractId=${encryptedContractId}&encryptedDealId=${encryptedDealId}`
|
|
189
191
|
);
|
|
190
192
|
},
|
|
191
193
|
/**
|
|
@@ -326,7 +326,11 @@
|
|
|
326
326
|
>{{ $t("contractDetail.closeInvoiceInfo") }}
|
|
327
327
|
<i class="el-icon-arrow-down"></i>
|
|
328
328
|
</el-button>
|
|
329
|
-
<el-button
|
|
329
|
+
<el-button
|
|
330
|
+
v-if="channel !== 'official-website'"
|
|
331
|
+
style="padding: 3px 0"
|
|
332
|
+
type="text"
|
|
333
|
+
@click="viceDocuments"
|
|
330
334
|
>{{ $t("contractDetail.viewPaymentInfo") }}
|
|
331
335
|
</el-button>
|
|
332
336
|
</div>
|
|
@@ -462,7 +466,8 @@
|
|
|
462
466
|
prop="remark"
|
|
463
467
|
show-overflow-tooltip
|
|
464
468
|
/>
|
|
465
|
-
<el-table-column
|
|
469
|
+
<el-table-column
|
|
470
|
+
:label="$t('contractDetail.operate')"
|
|
466
471
|
v-if="channel !== 'official-website'"
|
|
467
472
|
>
|
|
468
473
|
<template slot-scope="{ row }">
|
|
@@ -600,9 +605,9 @@
|
|
|
600
605
|
</template>
|
|
601
606
|
</el-table-column>
|
|
602
607
|
|
|
603
|
-
<el-table-column
|
|
604
|
-
label="对应合同"
|
|
605
|
-
align="center"
|
|
608
|
+
<el-table-column
|
|
609
|
+
label="对应合同"
|
|
610
|
+
align="center"
|
|
606
611
|
width="160px"
|
|
607
612
|
v-if="channel !== 'official-website'"
|
|
608
613
|
>
|
|
@@ -632,9 +637,15 @@
|
|
|
632
637
|
class-name="small-padding fixed-width"
|
|
633
638
|
width="150px"
|
|
634
639
|
>
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
640
|
+
<template slot-scope="scope">
|
|
641
|
+
<el-button
|
|
642
|
+
v-if="channel == 'official-website'"
|
|
643
|
+
size="mini"
|
|
644
|
+
type="primary"
|
|
645
|
+
@click.stop="activeNameFun(scope.$index)"
|
|
646
|
+
>{{ $t("contract.Track_Shipment") }}</el-button
|
|
647
|
+
>
|
|
648
|
+
</template>
|
|
638
649
|
</el-table-column>
|
|
639
650
|
</el-table>
|
|
640
651
|
|
|
@@ -697,10 +708,10 @@ export default {
|
|
|
697
708
|
mixins: [],
|
|
698
709
|
components: { ShipmentDetail },
|
|
699
710
|
props: {
|
|
700
|
-
channel:{
|
|
711
|
+
channel: {
|
|
701
712
|
type: String,
|
|
702
713
|
default: "",
|
|
703
|
-
}
|
|
714
|
+
},
|
|
704
715
|
},
|
|
705
716
|
data() {
|
|
706
717
|
return {
|
|
@@ -755,7 +766,7 @@ export default {
|
|
|
755
766
|
computed: {
|
|
756
767
|
...mapGetters(["language"]),
|
|
757
768
|
isChina() {
|
|
758
|
-
return ["zh-CN", "zh-TW","zh"].includes(this.language);
|
|
769
|
+
return ["zh-CN", "zh-TW", "zh"].includes(this.language);
|
|
759
770
|
},
|
|
760
771
|
},
|
|
761
772
|
methods: {
|
|
@@ -793,21 +804,54 @@ export default {
|
|
|
793
804
|
this.invoiceActive = !this.invoiceActive;
|
|
794
805
|
},
|
|
795
806
|
//一键催款
|
|
796
|
-
handleUrge(
|
|
797
|
-
const invoiceId =
|
|
807
|
+
handleUrge(row) {
|
|
808
|
+
const invoiceId = row.id;
|
|
809
|
+
if (row.invoiceSpecies == "provision") {
|
|
810
|
+
this.$confirm("该发票未点价,是否需要点价后再催款?", "点价确认", {
|
|
811
|
+
distinguishCancelAndClose: true,
|
|
812
|
+
confirmButtonText: "去点价",
|
|
813
|
+
cancelButtonText: "直接催款",
|
|
814
|
+
type: "warning",
|
|
815
|
+
})
|
|
816
|
+
.then(() => {
|
|
817
|
+
this.$router.push({
|
|
818
|
+
name: "Invoice",
|
|
819
|
+
params: { invoiceNo: row.invoiceNo },
|
|
820
|
+
});
|
|
821
|
+
})
|
|
822
|
+
.catch((action) => {
|
|
823
|
+
action === "cancel" ? this.copyCall(invoiceId) : "";
|
|
824
|
+
});
|
|
825
|
+
} else {
|
|
826
|
+
this.copyCall(invoiceId);
|
|
827
|
+
}
|
|
828
|
+
},
|
|
829
|
+
//复制一键催款
|
|
830
|
+
copyCall(invoiceId) {
|
|
798
831
|
getInfoWithShipment(invoiceId).then((res) => {
|
|
799
|
-
invoice = res.data;
|
|
832
|
+
var invoice = res.data;
|
|
800
833
|
const contractNo = invoice.contractNo || "待补充";
|
|
834
|
+
const invoiceNoTitle =
|
|
835
|
+
invoice.invoiceSpecies == "provision"
|
|
836
|
+
? "PROVISION INVOICE"
|
|
837
|
+
: "FIXED INVOICE" || "待补充";
|
|
838
|
+
const invoiceNoTitleZh =
|
|
839
|
+
invoice.invoiceSpecies == "provision"
|
|
840
|
+
? "临时发票号"
|
|
841
|
+
: "正式发票号" || "待补充";
|
|
801
842
|
const invoiceNo = invoice.invoiceNo || "待补充";
|
|
802
843
|
const value = invoice.amount || "待补充";
|
|
803
844
|
const blNumber = invoice.billOfLadingNo || "待补充";
|
|
804
845
|
const containerNo = invoice.containerNoList || "待补充";
|
|
805
846
|
const eta = invoice.eta || "待补充";
|
|
806
847
|
|
|
807
|
-
const englishText =
|
|
848
|
+
const englishText = `更新时间 ${
|
|
849
|
+
invoice.geekUpdateTime || invoice.shipmentCreateTime
|
|
850
|
+
}
|
|
851
|
+
Attention: Arrive notice. Please arrange the payment within 7 days after receiving this notice, in order to obtain telex BL and avoid unnecessary demurrage charges.
|
|
808
852
|
TO: ${invoice.receiveCompanyName || "待补充"}
|
|
809
853
|
Contract #: ${contractNo}
|
|
810
|
-
|
|
854
|
+
${invoiceNoTitle} #: ${invoiceNo}
|
|
811
855
|
Value: $${value}
|
|
812
856
|
BL#: ${blNumber}
|
|
813
857
|
Container#: ${containerNo}
|
|
@@ -816,7 +860,7 @@ ETA: ${eta}
|
|
|
816
860
|
温馨提示:到货通知。请贵司收到此通知后的7个工作日内安排支付货款,以便安排提单电放,避免产生不必要的滞箱费用。
|
|
817
861
|
致:收货公司${invoice.receiveCompanyName || "待补充"}
|
|
818
862
|
合同号:${contractNo}
|
|
819
|
-
|
|
863
|
+
${invoiceNoTitleZh}:${invoiceNo}
|
|
820
864
|
发票金额:$${value}
|
|
821
865
|
提单号:${blNumber}
|
|
822
866
|
集装箱号:${containerNo}
|
|
@@ -837,7 +881,6 @@ ETA: ${eta}
|
|
|
837
881
|
this.$modal.msgSuccess("已复制到剪切板");
|
|
838
882
|
});
|
|
839
883
|
},
|
|
840
|
-
|
|
841
884
|
//处理装运状态
|
|
842
885
|
handleShipmentStatus(status) {
|
|
843
886
|
let statusCn =
|
|
@@ -947,14 +990,14 @@ ETA: ${eta}
|
|
|
947
990
|
);
|
|
948
991
|
});
|
|
949
992
|
},
|
|
950
|
-
|
|
993
|
+
|
|
951
994
|
/**
|
|
952
995
|
* @description: 状态设置
|
|
953
996
|
* @param {*} contract_status
|
|
954
997
|
* @param {*} contractStatus
|
|
955
998
|
* @return {*}
|
|
956
999
|
*/
|
|
957
|
-
selectDictLabelMapFun(contract_status
|
|
1000
|
+
selectDictLabelMapFun(contract_status, contractStatus) {
|
|
958
1001
|
if (contractStatus == "voided") {
|
|
959
1002
|
return this.$t("contractDetail.voided");
|
|
960
1003
|
} else if (contractStatus == "signed") {
|
|
@@ -2,43 +2,58 @@
|
|
|
2
2
|
* @Author: zhangpengwei 15038779532@163.com
|
|
3
3
|
* @Date: 2023-07-20 17:13:54
|
|
4
4
|
* @LastEditors: zhangpengwei 15038779532@163.com
|
|
5
|
-
* @LastEditTime: 2023-08-
|
|
5
|
+
* @LastEditTime: 2023-08-15 10:25:31
|
|
6
6
|
* @FilePath: /recycle-vue-ui再生博士后台管理/src/views/biz/contractTracing/contractTracingDetail.vue
|
|
7
7
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
8
|
-->
|
|
9
9
|
<template>
|
|
10
10
|
<div class="app-container">
|
|
11
|
-
<
|
|
12
|
-
<el-
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
<div style="position: relative">
|
|
12
|
+
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
13
|
+
<el-tab-pane :label="$t('contractDetail.summary')" name="first">
|
|
14
|
+
<contract-summary
|
|
15
|
+
v-if="activeName == 'first'"
|
|
16
|
+
:channel="channel"
|
|
17
|
+
></contract-summary>
|
|
18
|
+
</el-tab-pane>
|
|
19
|
+
<el-tab-pane :label="$t('contractDetail.info')" name="second">
|
|
20
|
+
<contract-info
|
|
21
|
+
v-if="activeName == 'second'"
|
|
22
|
+
:channel="channel"
|
|
23
|
+
></contract-info>
|
|
24
|
+
</el-tab-pane>
|
|
25
|
+
<el-tab-pane
|
|
26
|
+
v-if="contract.contractType == 'sale'"
|
|
27
|
+
:label="$t('contractDetail.blInfo')"
|
|
28
|
+
name="third"
|
|
29
|
+
>
|
|
30
|
+
<bill-info
|
|
31
|
+
:contract="contract"
|
|
32
|
+
v-if="activeName == 'third'"
|
|
33
|
+
></bill-info>
|
|
34
|
+
</el-tab-pane>
|
|
35
|
+
<el-tab-pane :label="$t('contractDetail.fileManage')" name="fourth">
|
|
36
|
+
<contract-file
|
|
37
|
+
v-if="activeName == 'fourth'"
|
|
38
|
+
:contract="contract"
|
|
39
|
+
:channel="channel"
|
|
40
|
+
></contract-file>
|
|
41
|
+
</el-tab-pane>
|
|
42
|
+
</el-tabs>
|
|
43
|
+
|
|
44
|
+
<!-- 这里添加合同编号的显示 -->
|
|
45
|
+
<div
|
|
46
|
+
style="
|
|
47
|
+
position: absolute;
|
|
48
|
+
right: 10px;
|
|
49
|
+
top: 5px;
|
|
50
|
+
margin-top: 10px;
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
"
|
|
28
53
|
>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
></bill-info>
|
|
33
|
-
</el-tab-pane>
|
|
34
|
-
<el-tab-pane :label="$t('contractDetail.fileManage')" name="fourth">
|
|
35
|
-
<contract-file
|
|
36
|
-
v-if="activeName == 'fourth'"
|
|
37
|
-
:contract="contract"
|
|
38
|
-
:channel="channel"
|
|
39
|
-
></contract-file>
|
|
40
|
-
</el-tab-pane>
|
|
41
|
-
</el-tabs>
|
|
54
|
+
合同编号:{{ contract.contractNo }}
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
42
57
|
</div>
|
|
43
58
|
</template>
|
|
44
59
|
|
|
@@ -70,8 +85,8 @@ export default {
|
|
|
70
85
|
this.getContract(contractId);
|
|
71
86
|
const activeName = this.$route.query && this.$route.query.activeName;
|
|
72
87
|
this.activeName = activeName || "first";
|
|
73
|
-
localStorage.setItem("contractDetail", location.href)
|
|
74
|
-
location.href
|
|
88
|
+
localStorage.setItem("contractDetail", location.href);
|
|
89
|
+
location.href;
|
|
75
90
|
},
|
|
76
91
|
mounted() {},
|
|
77
92
|
methods: {
|
|
@@ -50,9 +50,16 @@
|
|
|
50
50
|
</el-button>
|
|
51
51
|
</el-col>
|
|
52
52
|
</el-row>
|
|
53
|
-
<el-form-item
|
|
53
|
+
<el-form-item
|
|
54
|
+
label="金额($)"
|
|
55
|
+
:prop="'proFormInvoiceList.' + index + '.amount'"
|
|
56
|
+
:rules="[
|
|
57
|
+
{ required: true, message: '不能为空' },
|
|
58
|
+
{ type: 'number', message: '必须为数字值' },
|
|
59
|
+
]"
|
|
60
|
+
>
|
|
54
61
|
<el-input
|
|
55
|
-
v-model="dt.amount"
|
|
62
|
+
v-model.number="dt.amount"
|
|
56
63
|
clearable
|
|
57
64
|
size="small"
|
|
58
65
|
placeholder="请输入发票金额"
|
|
@@ -131,9 +138,16 @@
|
|
|
131
138
|
</el-form-item>
|
|
132
139
|
</el-row>
|
|
133
140
|
<el-row>
|
|
134
|
-
<el-form-item
|
|
141
|
+
<el-form-item
|
|
142
|
+
label="金额($)"
|
|
143
|
+
:prop="'fixedInvoiceList.' + index + '.amount'"
|
|
144
|
+
:rules="[
|
|
145
|
+
{ required: true, message: '不能为空' },
|
|
146
|
+
{ type: 'number', message: '必须为数字值' },
|
|
147
|
+
]"
|
|
148
|
+
>
|
|
135
149
|
<el-input
|
|
136
|
-
v-model="item.amount"
|
|
150
|
+
v-model.number="item.amount"
|
|
137
151
|
clearable
|
|
138
152
|
size="small"
|
|
139
153
|
placeholder="请输入发票金额"
|
|
@@ -214,33 +228,41 @@ export default {
|
|
|
214
228
|
methods: {
|
|
215
229
|
//上传并生成
|
|
216
230
|
uploadAndGenerate() {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
231
|
+
this.$refs["form"].validate((valid) => {
|
|
232
|
+
if (valid) {
|
|
233
|
+
uploadBizInvoice(this.form)
|
|
234
|
+
.then((response) => {
|
|
235
|
+
this.$modal.msgSuccess("保存成功");
|
|
236
|
+
this.open = false;
|
|
237
|
+
})
|
|
238
|
+
.then(() => {
|
|
239
|
+
this.$router.push({
|
|
240
|
+
name: "Invoice",
|
|
241
|
+
params: { documentFlag: true },
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
});
|
|
228
246
|
},
|
|
229
247
|
/** 提交按钮 */
|
|
230
248
|
submitForm() {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
this
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
249
|
+
this.$refs["form"].validate((valid) => {
|
|
250
|
+
if (valid) {
|
|
251
|
+
if (this.type == "finally") {
|
|
252
|
+
uploadByShipmentId(this.form).then((response) => {
|
|
253
|
+
this.$modal.msgSuccess("保存成功");
|
|
254
|
+
this.$emit("refresh");
|
|
255
|
+
this.open = false;
|
|
256
|
+
});
|
|
257
|
+
} else {
|
|
258
|
+
uploadBizInvoice(this.form).then((response) => {
|
|
259
|
+
this.$modal.msgSuccess("保存成功");
|
|
260
|
+
this.$emit("refresh");
|
|
261
|
+
this.open = false;
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
});
|
|
244
266
|
},
|
|
245
267
|
// 取消按钮
|
|
246
268
|
cancel() {
|