zhanbo.xu

增加详情接口

1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 2
3 //获取自定义设置数据 3 //获取自定义设置数据
4 /** 4 /**
...@@ -6,11 +6,15 @@ import request from '@/utils/request' ...@@ -6,11 +6,15 @@ import request from '@/utils/request'
6 * @param queryType * 查询分类(1#查询条件,2#显示及导出) 6 * @param queryType * 查询分类(1#查询条件,2#显示及导出)
7 */ 7 */
8 export function getCustomData(data) { 8 export function getCustomData(data) {
9 - return request({ 9 + return request({
10 - url: '/bus-employees/custom/setting/pool/query/' + data.queryType + '/' + data.belongBizType, 10 + url:
11 - method: 'get', 11 + "/bus-employees/custom/setting/pool/query/" +
12 - data: data, 12 + data.queryType +
13 - }) 13 + "/" +
14 + data.belongBizType,
15 + method: "get",
16 + data: data,
17 + });
14 } 18 }
15 19
16 //保存自定义设置数据 20 //保存自定义设置数据
...@@ -25,11 +29,11 @@ export function getCustomData(data) { ...@@ -25,11 +29,11 @@ export function getCustomData(data) {
25 * poolCode 对应在待选池里的ID(source.poolCode) } } 29 * poolCode 对应在待选池里的ID(source.poolCode) } }
26 */ 30 */
27 export function setCustomData(data) { 31 export function setCustomData(data) {
28 - return request({ 32 + return request({
29 - url: '/bus-employees/custom/setting/pool/merge', 33 + url: "/bus-employees/custom/setting/pool/merge",
30 - method: 'post', 34 + method: "post",
31 - data: data, 35 + data: data,
32 - }) 36 + });
33 } 37 }
34 38
35 //获取查询条件数据 39 //获取查询条件数据
...@@ -37,11 +41,11 @@ export function setCustomData(data) { ...@@ -37,11 +41,11 @@ export function setCustomData(data) {
37 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询) 41 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询)
38 */ 42 */
39 export function getSreachFormData(data) { 43 export function getSreachFormData(data) {
40 - return request({ 44 + return request({
41 - url: '/bus-employees/custom/setting/condition/' + data.belongBizType, 45 + url: "/bus-employees/custom/setting/condition/" + data.belongBizType,
42 - method: 'get', 46 + method: "get",
43 - data: data, 47 + data: data,
44 - }) 48 + });
45 } 49 }
46 50
47 //获取表头数据 51 //获取表头数据
...@@ -49,11 +53,11 @@ export function getSreachFormData(data) { ...@@ -49,11 +53,11 @@ export function getSreachFormData(data) {
49 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询) 53 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询)
50 */ 54 */
51 export function getTableData(data) { 55 export function getTableData(data) {
52 - return request({ 56 + return request({
53 - url: '/bus-employees/custom/setting/display/' + data.belongBizType, 57 + url: "/bus-employees/custom/setting/display/" + data.belongBizType,
54 - method: 'get', 58 + method: "get",
55 - data: data, 59 + data: data,
56 - }) 60 + });
57 } 61 }
58 62
59 //自定义查询接口 63 //自定义查询接口
...@@ -72,18 +76,18 @@ export function getTableData(data) { ...@@ -72,18 +76,18 @@ export function getTableData(data) {
72 * @param osprVaildFlag 站点页面操作ospr功能 76 * @param osprVaildFlag 站点页面操作ospr功能
73 */ 77 */
74 export function auditionEntrySreachCustomData(data) { 78 export function auditionEntrySreachCustomData(data) {
75 - return request({ 79 + return request({
76 - url: '/bus-employees' + data.url, 80 + url: "/bus-employees" + data.url,
77 - method: 'post', 81 + method: "post",
78 - data: data.data, 82 + data: data.data,
79 - }) 83 + });
80 } 84 }
81 85
82 //获取查询导出是否完成 86 //获取查询导出是否完成
83 export function getdownloadExlFileType(data) { 87 export function getdownloadExlFileType(data) {
84 - return request({
85 - url: '/bus-employees/export/custom/exportResult?exportSign=' + data,
86 - method: 'get',
87 - data: data,
88 - })
89 -}
...\ No newline at end of file ...\ No newline at end of file
88 + return request({
89 + url: "/bus-employees/export/custom/exportResult?exportSign=" + data,
90 + method: "get",
91 + data: data,
92 + });
93 +}
......
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 import axios from "axios"; 2 import axios from "axios";
3 3
4 const baseUrl = process.env.VUE_APP_BASE_API; //接口地址 4 const baseUrl = process.env.VUE_APP_BASE_API; //接口地址
...@@ -15,11 +15,11 @@ const baseUrl = process.env.VUE_APP_BASE_API; //接口地址 ...@@ -15,11 +15,11 @@ const baseUrl = process.env.VUE_APP_BASE_API; //接口地址
15 * @param pageSize * 15 * @param pageSize *
16 */ 16 */
17 export function getCustomerList(data) { 17 export function getCustomerList(data) {
18 - return request({ 18 + return request({
19 - url: '/bus-customer/customers/getCustomerList', 19 + url: "/bus-customer/customers/getCustomerList",
20 - method: 'post', 20 + method: "post",
21 - data: data 21 + data: data,
22 - }) 22 + });
23 } 23 }
24 24
25 // 新增客户数据 25 // 新增客户数据
...@@ -37,123 +37,118 @@ export function getCustomerList(data) { ...@@ -37,123 +37,118 @@ export function getCustomerList(data) {
37 * @param qingdaoUserId 青岛用户ID 37 * @param qingdaoUserId 青岛用户ID
38 */ 38 */
39 export function addCustomerData(data) { 39 export function addCustomerData(data) {
40 - // let formData = new FormData 40 + // let formData = new FormData
41 - // formData.append("beijingDxpid", data.beijingDxpid); 41 + // formData.append("beijingDxpid", data.beijingDxpid);
42 - // formData.append("certificare", data.certificare); 42 + // formData.append("certificare", data.certificare);
43 - // formData.append("clientId", data.clientId); 43 + // formData.append("clientId", data.clientId);
44 - // formData.append("ecomEntCode", data.ecomEntCode); 44 + // formData.append("ecomEntCode", data.ecomEntCode);
45 - // formData.append("ecomEntEmail", data.ecomEntEmail); 45 + // formData.append("ecomEntEmail", data.ecomEntEmail);
46 - // formData.append("orderRequester", data.orderRequester); 46 + // formData.append("orderRequester", data.orderRequester);
47 - // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid); 47 + // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
48 - // formData.append("qingdaoKey", data.qingdaoKey); 48 + // formData.append("qingdaoKey", data.qingdaoKey);
49 - // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid); 49 + // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
50 - // formData.append("qingdaoUserId", data.qingdaoUserId); 50 + // formData.append("qingdaoUserId", data.qingdaoUserId);
51 - console.log(data); 51 + console.log(data);
52 - return request({ 52 + return request({
53 - url: '/bus-customer/customers/add', 53 + url: "/bus-customer/customers/add",
54 - method: 'post', 54 + method: "post",
55 - data: data 55 + data: data,
56 - }) 56 + });
57 } 57 }
58 58
59 //上传证书 59 //上传证书
60 export function uploadCertificate(ecomEntCode, certificate) { 60 export function uploadCertificate(ecomEntCode, certificate) {
61 - const formData = new FormData(); 61 + const formData = new FormData();
62 - formData.append('certificate', certificate); 62 + formData.append("certificate", certificate);
63 - formData.append('ecomEntCode', ecomEntCode); 63 + formData.append("ecomEntCode", ecomEntCode);
64 - return request({ 64 + return request({
65 - url: '/bus-customer/customers/uploadCertificate', 65 + url: "/bus-customer/customers/uploadCertificate",
66 - method: 'post', 66 + method: "post",
67 - data: formData, 67 + data: formData,
68 - }); 68 + });
69 } 69 }
70 //上传青岛证书 70 //上传青岛证书
71 export function uploadQingdaoCertificate(ecomEntCode, certificate) { 71 export function uploadQingdaoCertificate(ecomEntCode, certificate) {
72 - const formData = new FormData(); 72 + const formData = new FormData();
73 - formData.append('certificate', certificate); 73 + formData.append("certificate", certificate);
74 - formData.append('ecomEntCode', ecomEntCode); 74 + formData.append("ecomEntCode", ecomEntCode);
75 - return request({ 75 + return request({
76 - url: '/bus-customer/customers/uploadQingDaoCertificate', 76 + url: "/bus-customer/customers/uploadQingDaoCertificate",
77 - method: 'post', 77 + method: "post",
78 - data: formData, 78 + data: formData,
79 - }); 79 + });
80 } 80 }
81 81
82 //删除证书 82 //删除证书
83 export function delCertificate(id, certificate) { 83 export function delCertificate(id, certificate) {
84 - 84 + return request({
85 - return request({ 85 + url: "/bus-customer/customers/deleteCertificate",
86 - url: '/bus-customer/customers/deleteCertificate', 86 + method: "post",
87 - method: 'post', 87 + params: { id: id, certificate: certificate },
88 - params: {id:id,certificate:certificate}, 88 + });
89 - });
90 } 89 }
91 //删除青岛证书 90 //删除青岛证书
92 export function delQingdaoCertificate(id, certificate) { 91 export function delQingdaoCertificate(id, certificate) {
93 - 92 + return request({
94 - return request({ 93 + url: "/bus-customer/customers/deleteQingdaoCertificate",
95 - url: '/bus-customer/customers/deleteQingdaoCertificate', 94 + method: "post",
96 - method: 'post', 95 + params: { id: id, certificatePath: certificate },
97 - params: {id:id,certificatePath:certificate}, 96 + });
98 - });
99 } 97 }
100 98
101 //下载证书 99 //下载证书
102 -export function downloadCertificate(id,filename) { 100 +export function downloadCertificate(id, filename) {
103 - 101 + console.log("fileName" + filename);
104 - console.log("fileName"+filename); 102 + return new Promise((resolve, reject) => {
105 - return new Promise((resolve, reject) => { 103 + // axios({
106 - // axios({ 104 + // method: "get",
107 - // method: "get", 105 + // url: '/bus-customer/customers/getCertificate/' + id,
108 - // url: '/bus-customer/customers/getCertificate/' + id, 106 + // responseType: "blob",
109 - // responseType: "blob", 107 + // })
110 - // }) 108 + var url = baseUrl + "/bus-customer/customers/getCertificate/" + id;
111 - var url = baseUrl + '/bus-customer/customers/getCertificate/'+id; 109 + request({
112 - request({ 110 + url: url,
113 - url: url, 111 + method: "get",
114 - method: 'get', 112 + responseType: "blob", // 确保响应类型为 blob
115 - responseType: 'blob', // 确保响应类型为 blob 113 + params: id,
116 - params: id, 114 + })
117 - }) 115 + .then((res) => {
118 - .then((res) => { 116 + const aLink = document.createElement("a");
119 - const aLink = document.createElement("a"); 117 + aLink.href = URL.createObjectURL(res);
120 - aLink.href = URL.createObjectURL(res); 118 + aLink.setAttribute("download", filename); // 设置下载文件名称
121 - aLink.setAttribute("download", filename); // 设置下载文件名称 119 + document.body.appendChild(aLink);
122 - document.body.appendChild(aLink); 120 + aLink.click();
123 - aLink.click(); 121 + document.body.removeChild(aLink);
124 - document.body.removeChild(aLink); 122 + resolve(res);
125 - resolve(res); 123 + })
126 - 124 + .catch((err) => {
127 - }) 125 + reject(err);
128 - .catch((err) => {
129 - reject(err);
130 - });
131 }); 126 });
127 + });
132 } 128 }
133 //下载青岛证书 129 //下载青岛证书
134 -export function downloadQingdaoCertificate(id,filename) { 130 +export function downloadQingdaoCertificate(id, filename) {
135 - return new Promise((resolve, reject) => { 131 + return new Promise((resolve, reject) => {
136 - var url = baseUrl + '/bus-customer/customers/getQingDaoCertificate/'+id; 132 + var url = baseUrl + "/bus-customer/customers/getQingDaoCertificate/" + id;
137 - request({ 133 + request({
138 - url: url, 134 + url: url,
139 - method: 'get', 135 + method: "get",
140 - responseType: 'blob', // 确保响应类型为 blob 136 + responseType: "blob", // 确保响应类型为 blob
141 - params: id, 137 + params: id,
142 - }) 138 + })
143 - .then((res) => { 139 + .then((res) => {
144 - const aLink = document.createElement("a"); 140 + const aLink = document.createElement("a");
145 - aLink.href = URL.createObjectURL(res); 141 + aLink.href = URL.createObjectURL(res);
146 - aLink.setAttribute("download", filename); // 设置下载文件名称 142 + aLink.setAttribute("download", filename); // 设置下载文件名称
147 - document.body.appendChild(aLink); 143 + document.body.appendChild(aLink);
148 - aLink.click(); 144 + aLink.click();
149 - document.body.removeChild(aLink); 145 + document.body.removeChild(aLink);
150 - resolve(res); 146 + resolve(res);
151 - 147 + })
152 - }) 148 + .catch((err) => {
153 - .catch((err) => { 149 + reject(err);
154 - reject(err);
155 - });
156 }); 150 });
151 + });
157 } 152 }
158 153
159 // 修改客户数据 154 // 修改客户数据
...@@ -172,21 +167,39 @@ export function downloadQingdaoCertificate(id,filename) { ...@@ -172,21 +167,39 @@ export function downloadQingdaoCertificate(id,filename) {
172 * @param qingdaoUserId 青岛用户ID 167 * @param qingdaoUserId 青岛用户ID
173 */ 168 */
174 export function updateCustomerData(data) { 169 export function updateCustomerData(data) {
175 - // let formData = new FormData
176 - // formData.append("id", data.id);
177 - // formData.append("beijingDxpid", data.beijingDxpid);
178 - // formData.append("certificare", data.certificare);
179 - // formData.append("clientId", data.clientId);
180 - // formData.append("ecomEntCode", data.ecomEntCode);
181 - // formData.append("ecomEntEmail", data.ecomEntEmail);
182 - // formData.append("orderRequester", data.orderRequester);
183 - // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
184 - // formData.append("qingdaoKey", data.qingdaoKey);
185 - // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
186 - // formData.append("qingdaoUserId", data.qingdaoUserId);
187 - return request({
188 - url: '/bus-customer/customers/update',
189 - method: 'put',
190 - data: data
191 - })
192 -}
...\ No newline at end of file ...\ No newline at end of file
170 + // let formData = new FormData
171 + // formData.append("id", data.id);
172 + // formData.append("beijingDxpid", data.beijingDxpid);
173 + // formData.append("certificare", data.certificare);
174 + // formData.append("clientId", data.clientId);
175 + // formData.append("ecomEntCode", data.ecomEntCode);
176 + // formData.append("ecomEntEmail", data.ecomEntEmail);
177 + // formData.append("orderRequester", data.orderRequester);
178 + // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
179 + // formData.append("qingdaoKey", data.qingdaoKey);
180 + // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
181 + // formData.append("qingdaoUserId", data.qingdaoUserId);
182 + return request({
183 + url: "/bus-customer/customers/update",
184 + method: "put",
185 + data: data,
186 + });
187 +}
188 +// /portInfo
189 +export function getPortInfo(data) {
190 + return request({
191 + url: "/bus-customer/portInfo",
192 + method: "get",
193 + data: data,
194 + });
195 +}
196 +
197 +// GET
198 +// ​/customers​/customerDetails​/{id}
199 +// 获取客户详情
200 +export function getCustomerDetails(data) {
201 + return request({
202 + url: "/bus-customer/customers/customerDetails/" + data.id,
203 + method: "get",
204 + });
205 +}
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 title="运抵单申报" 4 title="运抵单申报"
5 :visible.sync="outerVisible" 5 :visible.sync="outerVisible"
6 :show-close="false" 6 :show-close="false"
7 - width="40%" 7 + width="720px"
8 :close-on-click-modal="false" 8 :close-on-click-modal="false"
9 :destroy-on-close="true" 9 :destroy-on-close="true"
10 v-loading="loadings.dialogLoading" 10 v-loading="loadings.dialogLoading"
...@@ -31,9 +31,9 @@ ...@@ -31,9 +31,9 @@
31 > 31 >
32 <el-option 32 <el-option
33 v-for="item in operatorCode" 33 v-for="item in operatorCode"
34 - :key="item" 34 + :key="item.operatorCode"
35 - :label="item" 35 + :label="item.operatorName"
36 - :value="item" 36 + :value="item.operatorCode"
37 ></el-option> 37 ></el-option>
38 </el-select> 38 </el-select>
39 </Formitem> 39 </Formitem>
......
...@@ -26,14 +26,26 @@ ...@@ -26,14 +26,26 @@
26 <el-input 26 <el-input
27 type="text" 27 type="text"
28 class="inputShadow" 28 class="inputShadow"
29 - id="inputInner-edit-ecomEntCode" 29 + id="inputInner-edit-ecomEntCodeRule"
30 resize="none" 30 resize="none"
31 v-model="formData.ecomEntCode" 31 v-model="formData.ecomEntCode"
32 clearable 32 clearable
33 placeholder="" 33 placeholder=""
34 ></el-input> 34 ></el-input>
35 </Formitem> 35 </Formitem>
36 + <!-- <Formitem label="电商企业代码" prop="ecomEntCode">
37 + <el-input
38 + type="text"
39 + class="inputShadow"
40 + id="inputInner-edit-ecomEntCode"
41 + resize="none"
42 + v-model="formData.ecomEntCode"
43 + clearable
44 + placeholder=""
45 + ></el-input>
46 + </Formitem> -->
36 </el-col> 47 </el-col>
48 +
37 <!-- 电商企业名称 --> 49 <!-- 电商企业名称 -->
38 <el-col :span="8"> 50 <el-col :span="8">
39 <Formitem label="电商企业名称" prop="ecomEntName" type="edit"> 51 <Formitem label="电商企业名称" prop="ecomEntName" type="edit">
...@@ -50,15 +62,15 @@ ...@@ -50,15 +62,15 @@
50 </el-col> 62 </el-col>
51 <!-- 电商企业邮箱 --> 63 <!-- 电商企业邮箱 -->
52 <el-col :span="8"> 64 <el-col :span="8">
53 - <Formitem label="电商企业邮箱" prop="ecomEntEmail" type="edit"> 65 + <Formitem label="电商企业邮箱" prop="ecomEntEmailRule" type="edit">
54 <el-input 66 <el-input
55 type="text" 67 type="text"
56 class="inputShadow" 68 class="inputShadow"
57 - id="inputInner-edit-ecomEntEmail" 69 + id="inputInner-edit-ecomEntEmailRule"
58 resize="none" 70 resize="none"
59 v-model="formData.ecomEntEmail" 71 v-model="formData.ecomEntEmail"
60 clearable 72 clearable
61 - maxlength="18" 73 + maxlength="50"
62 placeholder="" 74 placeholder=""
63 ></el-input> 75 ></el-input>
64 </Formitem> 76 </Formitem>
...@@ -202,20 +214,16 @@ ...@@ -202,20 +214,16 @@
202 <el-option 214 <el-option
203 v-for="(item, index) in portCodeList" 215 v-for="(item, index) in portCodeList"
204 :key="index" 216 :key="index"
205 - :label="item" 217 + :label="item.portName"
206 - :value="item" 218 + :value="item.portCode"
207 ></el-option> 219 ></el-option>
208 </el-select> 220 </el-select>
209 </Formitem> 221 </Formitem>
210 </el-col> 222 </el-col>
211 </el-row> 223 </el-row>
212 <div v-if="choosePortCode.includes('TAO')"> 224 <div v-if="choosePortCode.includes('TAO')">
213 - <div class="dlTitle"> 225 + <div class="dlTitle">青岛</div>
214 - <!-- <el-checkbox v-model="formData.qdCheck" @change="changeQDCheckBox()"></el-checkbox>-->
215 - 青岛
216 - </div>
217 <el-row :gutter="5"> 226 <el-row :gutter="5">
218 - <!-- <div v-if="isCipherMachine">-->
219 <!-- 公服DXPID --> 227 <!-- 公服DXPID -->
220 <el-col :span="8"> 228 <el-col :span="8">
221 <Formitem label="公服DXPID" prop="qingdaoUserDxpid" type="edit"> 229 <Formitem label="公服DXPID" prop="qingdaoUserDxpid" type="edit">
...@@ -306,6 +314,28 @@ ...@@ -306,6 +314,28 @@
306 ></el-input> 314 ></el-input>
307 </Formitem> 315 </Formitem>
308 </el-col> 316 </el-col>
317 + <!-- 加签方式 -->
318 + <el-col :span="8">
319 + <Formitem label="加签方式" prop="methodOfSignature" type="edit">
320 + <el-select
321 + type="text"
322 + id="inputInner-edit-methodOfSignature"
323 + v-model="portConfig.TAO.methodOfSignature"
324 + clearable
325 + maxlength="4"
326 + placeholder=""
327 + >
328 + <el-option
329 + v-for="(item, index) in $store.getters.dict
330 + .METHOD_OF_SIGNATURE"
331 + :key="index"
332 + :label="item.itemChineseName"
333 + :value="item.itemValue"
334 + ></el-option>
335 + </el-select>
336 + </Formitem>
337 + </el-col>
338 +
309 <el-col :span="16" style="padding-right: 5px"> 339 <el-col :span="16" style="padding-right: 5px">
310 <div class="uploadItem"> 340 <div class="uploadItem">
311 <div class="uploadbox"> 341 <div class="uploadbox">
...@@ -361,27 +391,7 @@ ...@@ -361,27 +391,7 @@
361 </div> 391 </div>
362 </div> 392 </div>
363 </el-col> 393 </el-col>
364 - <!-- 加签方式 --> 394 +
365 - <el-col :span="8">
366 - <Formitem label="加签方式" prop="methodOfSignature" type="edit">
367 - <el-select
368 - type="text"
369 - id="inputInner-edit-methodOfSignature"
370 - v-model="portConfig.TAO.methodOfSignature"
371 - clearable
372 - maxlength="4"
373 - placeholder=""
374 - >
375 - <el-option
376 - v-for="(item, index) in $store.getters.dict
377 - .METHOD_OF_SIGNATURE"
378 - :key="index"
379 - :label="item.itemChineseName"
380 - :value="item.itemValue"
381 - ></el-option>
382 - </el-select>
383 - </Formitem>
384 - </el-col>
385 <!-- 加密方式 --> 395 <!-- 加密方式 -->
386 <!-- <el-col :span="8">--> 396 <!-- <el-col :span="8">-->
387 <!-- <Formitem label="加密方式" prop="methodOfSignature" type="edit">--> 397 <!-- <Formitem label="加密方式" prop="methodOfSignature" type="edit">-->
...@@ -427,6 +437,199 @@ ...@@ -427,6 +437,199 @@
427 </el-col> 437 </el-col>
428 </el-row> 438 </el-row>
429 </div> 439 </div>
440 + <div v-if="choosePortCode.includes('CAN')">
441 + <div class="dlTitle">广州</div>
442 + <el-row :gutter="5">
443 + <!-- DXPID -->
444 + <el-col :span="8">
445 + <Formitem label="DXPID" prop="guangzhouUserDxpid" type="edit">
446 + <el-input
447 + type="text"
448 + class="inputShadow"
449 + id="inputInner-edit-guangzhouUserDxpid"
450 + resize="none"
451 + v-model="portConfig.CAN.dxpId"
452 + clearable
453 + placeholder=""
454 + ></el-input>
455 + </Formitem>
456 + </el-col>
457 + <!-- Client ID -->
458 + <el-col :span="8">
459 + <Formitem label="Client ID" prop="guangzhouClientId" type="edit">
460 + <el-input
461 + type="text"
462 + class="inputShadow"
463 + id="inputInner-edit-guangzhouClientId"
464 + resize="none"
465 + v-model="portConfig.CAN.clientId"
466 + clearable
467 + placeholder=""
468 + ></el-input>
469 + </Formitem>
470 + </el-col>
471 + <!-- Key -->
472 + <el-col :span="8">
473 + <Formitem label="Key" prop="guangzhouKey" type="edit">
474 + <el-input
475 + type="text"
476 + class="inputShadow"
477 + id="inputInner-edit-guangzhouKey"
478 + resize="none"
479 + v-model="portConfig.CAN.key"
480 + clearable
481 + placeholder=""
482 + ></el-input>
483 + </Formitem>
484 + </el-col>
485 +
486 + <el-col :span="8">
487 + <Formitem label="用户名称" prop="guangzhouUserName" type="edit">
488 + <el-input
489 + type="text"
490 + class="inputShadow"
491 + id="inputInner-edit-guangzhouUserName"
492 + resize="none"
493 + v-model="portConfig.CAN.userName"
494 + clearable
495 + placeholder=""
496 + ></el-input>
497 + </Formitem>
498 + </el-col>
499 +
500 + <!-- 加签方式 -->
501 + <el-col :span="8">
502 + <Formitem label="加密方式" prop="guangzhouSignature" type="edit">
503 + <el-select
504 + type="text"
505 + id="inputInner-edit-guangzhouSignature"
506 + v-model="portConfig.CAN.methodOfSignature"
507 + clearable
508 + maxlength="4"
509 + placeholder=""
510 + >
511 + <el-option
512 + v-for="(item, index) in $store.getters.dict
513 + .METHOD_OF_SIGNATURE"
514 + :key="index"
515 + :label="item.itemChineseName"
516 + :value="item.itemValue"
517 + ></el-option>
518 + </el-select>
519 + </Formitem>
520 + </el-col>
521 + <el-col :span="16" style="padding-right: 5px">
522 + <div class="uploadItem">
523 + <div class="uploadbox">
524 + <el-button
525 + size="mini"
526 + type="text"
527 + v-loading="loadings.gzUploadLoading"
528 + @click="gzUploadFile"
529 + >上传公钥
530 + </el-button>
531 + <el-upload
532 + class="upload-demo"
533 + ref="gzUploadFile"
534 + action="/manager-server/attachment/picImg"
535 + :http-request="gzFileUpload"
536 + :auto-upload="true"
537 + :show-file-list="false"
538 + :data="{}"
539 + :file-list="gzFileList"
540 + >
541 + </el-upload>
542 + </div>
543 + <div
544 + class="fileList"
545 + v-if="
546 + portConfig.CAN.publicKeyBase64 != '' ||
547 + portConfig.CAN.publicKeyName
548 + "
549 + >
550 + <div class="fileList-item">
551 + <div class="uploadbox-fileName">
552 + <svg-icon
553 + class="el-icon-user-solid"
554 + icon-class="exl"
555 + style="font-size: 18px; color: #de002e"
556 + />
557 + <Tooltip
558 + :content="portConfig.CAN.publicKeyName"
559 + :refName="portConfig.CAN.publicKeyName"
560 + />
561 + </div>
562 + <div class="uploadbox-option">
563 + <el-popconfirm
564 + :title="$t('entry.upload.delTip')"
565 + @confirm="delQingdaoTypeDFile"
566 + >
567 + <el-button slot="reference" type="text"
568 + >{{ $t("entry.upload.del") }}
569 + </el-button>
570 + </el-popconfirm>
571 + </div>
572 + </div>
573 + </div>
574 + </div>
575 + </el-col>
576 + <el-col :span="16" style="padding-right: 5px">
577 + <div class="uploadItem">
578 + <div class="uploadbox">
579 + <el-button
580 + size="mini"
581 + type="text"
582 + v-loading="loadings.gzRivateKeyLoading"
583 + @click="gzRivateKeyUploadFile"
584 + >上传私钥
585 + </el-button>
586 + <el-upload
587 + class="upload-demo"
588 + ref="gzRivateKeyUploadFile"
589 + action="/manager-server/attachment/picImg"
590 + :http-request="gzRivateKeyFileUpload"
591 + :auto-upload="true"
592 + :show-file-list="false"
593 + :data="{}"
594 + :file-list="gzRivateKeyFileList"
595 + >
596 + </el-upload>
597 + </div>
598 + <div
599 + class="fileList"
600 + v-if="
601 + portConfig.CAN.privateKeyBase64 != '' ||
602 + portConfig.CAN.privateKeyName
603 + "
604 + >
605 + <div class="fileList-item">
606 + <div class="uploadbox-fileName">
607 + <svg-icon
608 + class="el-icon-user-solid"
609 + icon-class="exl"
610 + style="font-size: 18px; color: #de002e"
611 + />
612 + <Tooltip
613 + :content="portConfig.CAN.privateKeyName"
614 + :refName="portConfig.CAN.privateKeyName"
615 + />
616 + </div>
617 + <div class="uploadbox-option">
618 + <el-popconfirm
619 + :title="$t('entry.upload.delTip')"
620 + @confirm="gzRivateKeyTypeDFile"
621 + >
622 + <el-button slot="reference" type="text"
623 + >{{ $t("entry.upload.del") }}
624 + </el-button>
625 + </el-popconfirm>
626 + </div>
627 + </div>
628 + </div>
629 + </div>
630 + </el-col>
631 + </el-row>
632 + </div>
430 633
431 <section class="dlTitle"> 634 <section class="dlTitle">
432 <h3>密码机管理</h3> 635 <h3>密码机管理</h3>
...@@ -581,7 +784,7 @@ import { ...@@ -581,7 +784,7 @@ import {
581 uploadQingdaoCertificate, 784 uploadQingdaoCertificate,
582 updateCustomerData, 785 updateCustomerData,
583 delCertificate, 786 delCertificate,
584 - delQingdaoCertificate, 787 + getCustomerDetails,
585 } from "@/api/system/customer-ai.js"; 788 } from "@/api/system/customer-ai.js";
586 789
587 export default { 790 export default {
...@@ -629,6 +832,17 @@ export default { ...@@ -629,6 +832,17 @@ export default {
629 certificateBase64: "", 832 certificateBase64: "",
630 methodOfSignature: "", 833 methodOfSignature: "",
631 }, 834 },
835 + CAN: {
836 + clientId: "", // 申报企业电子口岸备案号
837 + key: "", // 接口调用密钥
838 + userName: "", // 用户名
839 + privateKeyBase64: "", //私钥base64
840 + privateKeyName: "", //私钥名称
841 + publicKeyBase64: "", //公钥base64
842 + publicKeyName: "", //公钥名称
843 + dxpId: "", // dxpId
844 + methodOfSignature: "", // 加签方式
845 + },
632 }, 846 },
633 choosePortCode: [], 847 choosePortCode: [],
634 formData: { 848 formData: {
...@@ -655,21 +869,21 @@ export default { ...@@ -655,21 +869,21 @@ export default {
655 ecomEntCode: [ 869 ecomEntCode: [
656 { 870 {
657 required: true, 871 required: true,
658 - trigger: "blur", 872 + trigger: "change",
659 message: "电商企业代码不能为空!", 873 message: "电商企业代码不能为空!",
660 }, 874 },
661 ], 875 ],
662 ecomEntName: [ 876 ecomEntName: [
663 { 877 {
664 required: true, 878 required: true,
665 - trigger: "blur", 879 + trigger: "change",
666 message: "电商企业名称不能为空!", 880 message: "电商企业名称不能为空!",
667 }, 881 },
668 ], 882 ],
669 orderRequester: [ 883 orderRequester: [
670 { 884 {
671 required: true, 885 required: true,
672 - trigger: "blur", 886 + trigger: "change",
673 message: "订单申报方不能为空!", 887 message: "订单申报方不能为空!",
674 }, 888 },
675 ], 889 ],
...@@ -727,10 +941,14 @@ export default { ...@@ -727,10 +941,14 @@ export default {
727 uploadLoading: false, 941 uploadLoading: false,
728 submitLoading: false, 942 submitLoading: false,
729 qingdaoUploadLoading: false, 943 qingdaoUploadLoading: false,
944 + gzUploadLoading: false,
945 + gzRivateKeyLoading: false,
730 }, 946 },
731 loadingText: "", 947 loadingText: "",
732 fileList: [], 948 fileList: [],
733 qingdaoFileList: [], 949 qingdaoFileList: [],
950 + gzFileList: [],
951 + gzRivateKeyFileList: [],
734 }; 952 };
735 }, 953 },
736 watch: { 954 watch: {
...@@ -738,19 +956,20 @@ export default { ...@@ -738,19 +956,20 @@ export default {
738 if (val) { 956 if (val) {
739 this.loadings.dialogLoading = false; 957 this.loadings.dialogLoading = false;
740 if (this.type == "update") { 958 if (this.type == "update") {
741 - this.formData = this.active; 959 + // this.formData = this.active;
742 // this.formData.file=null; 960 // this.formData.file=null;
743 // this.parseCheckboxState(this.active.checkboxState); 961 // this.parseCheckboxState(this.active.checkboxState);
962 + this.fetchInfo(this.active);
744 } else { 963 } else {
745 // this.formData.orderRequester = "1"; 964 // this.formData.orderRequester = "1";
746 } 965 }
747 } 966 }
748 - if (this.active?.config != null) { 967 + // if (this.active?.config != null) {
749 - this.choosePortCode = Object.keys(this.active.config); 968 + // this.choosePortCode = Object.keys(this.active.config);
750 - Object.keys(this.active.config).forEach((key) => { 969 + // Object.keys(this.active.config).forEach((key) => {
751 - this.portConfig[key] = this.active.config[key]; 970 + // this.portConfig[key] = this.active.config[key];
752 - }); 971 + // });
753 - } 972 + // }
754 }, 973 },
755 // type(newVal) { 974 // type(newVal) {
756 // if (newVal === "add") { 975 // if (newVal === "add") {
...@@ -781,6 +1000,22 @@ export default { ...@@ -781,6 +1000,22 @@ export default {
781 // } 1000 // }
782 }, 1001 },
783 methods: { 1002 methods: {
1003 + fetchInfo(ojb) {
1004 + getCustomerDetails({
1005 + id: ojb.id,
1006 + }).then((res) => {
1007 + console.log(res);
1008 + if (res.code === "200") {
1009 + this.formData = res.data;
1010 + this.choosePortCode = Object.keys(this.formData.config);
1011 + Object.keys(this.formData.config).forEach((key) => {
1012 + this.portConfig[key] = this.formData.config[key];
1013 + });
1014 + } else {
1015 + this.alertWarningMsg(res.message);
1016 + }
1017 + });
1018 + },
784 // getDefaultMethodOfSignature() { 1019 // getDefaultMethodOfSignature() {
785 // const methodOfSignatureDict = this.$store.getters.dict.METHOD_OF_SIGNATURE; 1020 // const methodOfSignatureDict = this.$store.getters.dict.METHOD_OF_SIGNATURE;
786 // if (methodOfSignatureDict.length > 0) { 1021 // if (methodOfSignatureDict.length > 0) {
...@@ -813,6 +1048,12 @@ export default { ...@@ -813,6 +1048,12 @@ export default {
813 qingdaoUploadFile() { 1048 qingdaoUploadFile() {
814 this.$refs.qingdaoUploadFile.$refs["upload-inner"].handleClick(); 1049 this.$refs.qingdaoUploadFile.$refs["upload-inner"].handleClick();
815 }, 1050 },
1051 + gzUploadFile() {
1052 + this.$refs.gzUploadFile.$refs["upload-inner"].handleClick();
1053 + },
1054 + gzRivateKeyUploadFile() {
1055 + this.$refs.gzRivateKeyUploadFile.$refs["upload-inner"].handleClick();
1056 + },
816 //文件校验 1057 //文件校验
817 // beforeUpload(val) { 1058 // beforeUpload(val) {
818 // // if ( 1059 // // if (
...@@ -855,24 +1096,27 @@ export default { ...@@ -855,24 +1096,27 @@ export default {
855 // this.formData.qingdaoFile = obj; 1096 // this.formData.qingdaoFile = obj;
856 }; 1097 };
857 }, 1098 },
858 - // fileChange(val) { 1099 + gzFileUpload({ file }) {
859 - // }, 1100 + const reader = new FileReader();
860 - // qingdaoFileChange(val) { 1101 + reader.readAsDataURL(file);
861 - // }, 1102 + console.log(file);
862 - // handleSuccess() { 1103 + reader.onload = (e) => {
863 - // }, 1104 + console.log(e);
864 - // qingdaoHandleSuccess() { 1105 + this.portConfig.CAN.publicKeyName = file.name;
865 - // }, 1106 + this.portConfig.CAN.publicKeyBase64 = e.target.result;
866 - // clearFile() { 1107 + };
867 - // }, 1108 + },
868 - // clearqingdaoFile() { 1109 + gzRivateKeyFileUpload({ file }) {
869 - // }, 1110 + const reader = new FileReader();
870 - // handleRemove() { 1111 + reader.readAsDataURL(file);
871 - // this.fileList = []; 1112 + console.log(file);
872 - // }, 1113 + reader.onload = (e) => {
873 - // qingdaoHandleRemove() { 1114 + console.log(e);
874 - // this.qingdaoFileList = []; 1115 + this.portConfig.CAN.privateKeyName = file.name;
875 - // }, 1116 + this.portConfig.CAN.privateKeyBase64 = e.target.result;
1117 + };
1118 + },
1119 +
876 //删除文件 1120 //删除文件
877 delTypeDFile() { 1121 delTypeDFile() {
878 this.delCertificate(); 1122 this.delCertificate();
...@@ -880,7 +1124,14 @@ export default { ...@@ -880,7 +1124,14 @@ export default {
880 delQingdaoTypeDFile() { 1124 delQingdaoTypeDFile() {
881 this.delQingdaoCertificate(); 1125 this.delQingdaoCertificate();
882 }, 1126 },
883 - 1127 + delGzTypeDFile() {
1128 + this.portConfig.CAN.publicKeyName = null;
1129 + this.portConfig.CAN.publicKeyBase64 = null;
1130 + },
1131 + gzRivateKeyTypeDFile() {
1132 + this.portConfig.CAN.privateKeyName = null;
1133 + this.portConfig.CAN.privateKeyBase64 = null;
1134 + },
884 //删除证书 1135 //删除证书
885 delCertificate() { 1136 delCertificate() {
886 if (this.formData.id && this.formData.certificare) { 1137 if (this.formData.id && this.formData.certificare) {
...@@ -906,23 +1157,6 @@ export default { ...@@ -906,23 +1157,6 @@ export default {
906 1157
907 //删除青岛证书 1158 //删除青岛证书
908 delQingdaoCertificate() { 1159 delQingdaoCertificate() {
909 - // if (this.formData.id && this.formData.qingdaoCertificatePath) {
910 - // delQingdaoCertificate(this.formData.id, this.formData.qingdaoCertificatePath).then((res) => {
911 - // if (res.code == 200) {
912 - // this.formData.qingdaoFile = null;
913 - // this.formData.qingdaoCertificatePath = "";
914 - // // this.msgSuccess("证书删除成功!");
915 - // } else {
916 - // this.alertErrorMsg("证书删除失败,请联系管理员!");
917 - // }
918 - // }).catch((err) => {
919 - // console.log(err);
920 - // this.alertErrorMsg("证书删除失败,请联系管理员!");
921 - // })
922 - // } else {
923 - // this.formData.qingdaoFile = null;
924 - // this.formData.qingdaoCertificatePath = "";
925 - // }
926 this.portConfig.TAO.certificateBase64 = null; 1160 this.portConfig.TAO.certificateBase64 = null;
927 this.portConfig.TAO.certificateName = null; 1161 this.portConfig.TAO.certificateName = null;
928 }, 1162 },
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 > 9 >
10 <el-row class="row-border"> 10 <el-row class="row-border">
11 <!-- Client ID --> 11 <!-- Client ID -->
12 - <el-col :span="5"> 12 + <!-- <el-col :span="5">
13 <Formitem label="Client ID" prop="clientId"> 13 <Formitem label="Client ID" prop="clientId">
14 <el-input 14 <el-input
15 type="text" 15 type="text"
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
21 placeholder="" 21 placeholder=""
22 ></el-input> 22 ></el-input>
23 </Formitem> 23 </Formitem>
24 - </el-col> 24 + </el-col> -->
25 <!-- 电商企业名称 --> 25 <!-- 电商企业名称 -->
26 <el-col :span="5"> 26 <el-col :span="5">
27 <Formitem label="电商企业名称" prop="ecomEntName"> 27 <Formitem label="电商企业名称" prop="ecomEntName">
28 <el-input 28 <el-input
29 type="text" 29 type="text"
30 class="inputShadow" 30 class="inputShadow"
31 - id="inputInner--ecomEntName" 31 + id="inputInner-edit-ecomEntName"
32 resize="none" 32 resize="none"
33 v-model="sreachFormData.ecomEntName" 33 v-model="sreachFormData.ecomEntName"
34 clearable 34 clearable
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
42 <el-input 42 <el-input
43 type="text" 43 type="text"
44 class="inputShadow" 44 class="inputShadow"
45 - id="inputInner--ecomEntCode" 45 + id="inputInner-edit-ecomEntCode"
46 resize="none" 46 resize="none"
47 v-model="sreachFormData.ecomEntCode" 47 v-model="sreachFormData.ecomEntCode"
48 clearable 48 clearable
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
55 <Formitem label="创建日期" prop="creationTime" :activeType="true"> 55 <Formitem label="创建日期" prop="creationTime" :activeType="true">
56 <el-date-picker 56 <el-date-picker
57 class="inputInner--creationTime" 57 class="inputInner--creationTime"
58 - id="inputInner--creationTime" 58 + id="inputInner-edit-creationTime"
59 v-model="sreachFormData.creationTime" 59 v-model="sreachFormData.creationTime"
60 type="daterange" 60 type="daterange"
61 format="yyyy-MM-dd" 61 format="yyyy-MM-dd"
...@@ -66,6 +66,19 @@ ...@@ -66,6 +66,19 @@
66 /> 66 />
67 </Formitem> 67 </Formitem>
68 </el-col> 68 </el-col>
69 + <el-col :span="5">
70 + <Formitem label="电商企业邮箱" prop="ecomEntEmail">
71 + <el-input
72 + type="text"
73 + class="inputShadow"
74 + id="inputInner-edit-ecomEntEmail"
75 + resize="none"
76 + v-model="sreachFormData.ecomEntEmail"
77 + clearable
78 + placeholder=""
79 + ></el-input>
80 + </Formitem>
81 + </el-col>
69 <el-col :span="2"> 82 <el-col :span="2">
70 <el-form-item class="textCenter"> 83 <el-form-item class="textCenter">
71 <el-button 84 <el-button
...@@ -91,22 +104,6 @@ ...@@ -91,22 +104,6 @@
91 </el-form-item> 104 </el-form-item>
92 </el-col> 105 </el-col>
93 </el-row> 106 </el-row>
94 - <el-row>
95 - <!-- 电商企业邮箱 -->
96 - <el-col :span="5">
97 - <Formitem label="电商企业邮箱" prop="ecomEntEmail">
98 - <el-input
99 - type="text"
100 - class="inputShadow"
101 - id="inputInner--ecomEntEmail"
102 - resize="none"
103 - v-model="sreachFormData.ecomEntEmail"
104 - clearable
105 - placeholder=""
106 - ></el-input>
107 - </Formitem>
108 - </el-col>
109 - </el-row>
110 </el-form> 107 </el-form>
111 <div class="optionButton"> 108 <div class="optionButton">
112 <div> 109 <div>
...@@ -162,7 +159,7 @@ ...@@ -162,7 +159,7 @@
162 :title="dialogTitle" 159 :title="dialogTitle"
163 :type="editType" 160 :type="editType"
164 :active="activeData" 161 :active="activeData"
165 - :portCodeList="dict.port" 162 + :portCodeList="portList"
166 @close="dialogClose" 163 @close="dialogClose"
167 /> 164 />
168 </div> 165 </div>
...@@ -173,8 +170,10 @@ import { ...@@ -173,8 +170,10 @@ import {
173 getCustomerList, 170 getCustomerList,
174 downloadCertificate, 171 downloadCertificate,
175 downloadQingdaoCertificate, 172 downloadQingdaoCertificate,
173 + getPortInfo,
176 } from "@/api/system/customer-ai.js"; 174 } from "@/api/system/customer-ai.js";
177 -import { getPortList } from "@/api/system/user.js"; 175 +import { getDictData } from "@/api/system/dict-api.js";
176 +
178 import DialogVue from "./dialog.vue"; 177 import DialogVue from "./dialog.vue";
179 export default { 178 export default {
180 name: "PortConfig", 179 name: "PortConfig",
...@@ -198,12 +197,12 @@ export default { ...@@ -198,12 +197,12 @@ export default {
198 activeData: null, 197 activeData: null,
199 tableData: [], 198 tableData: [],
200 headerData: [ 199 headerData: [
201 - { 200 + // {
202 - name: "Client ID", 201 + // name: "Client ID",
203 - value: "clientId", 202 + // value: "clientId",
204 - width: "", 203 + // width: "",
205 - align: "left", 204 + // align: "left",
206 - }, 205 + // },
207 { 206 {
208 name: "电商企业代码", 207 name: "电商企业代码",
209 value: "ecomEntCode", 208 value: "ecomEntCode",
...@@ -262,6 +261,7 @@ export default { ...@@ -262,6 +261,7 @@ export default {
262 dict: { 261 dict: {
263 port: [], 262 port: [],
264 }, 263 },
264 + portList: [],
265 // dict: { 265 // dict: {
266 // orderRequester: [ 266 // orderRequester: [
267 // { name: "企业", code: "ENTERPRISE_DECLARATION", value: "1" }, 267 // { name: "企业", code: "ENTERPRISE_DECLARATION", value: "1" },
...@@ -275,6 +275,8 @@ export default { ...@@ -275,6 +275,8 @@ export default {
275 outerVisible: false, 275 outerVisible: false,
276 dialogTitle: "", 276 dialogTitle: "",
277 editType: "", 277 editType: "",
278 + // 加密方式list
279 + encryptionTypeList: [],
278 }; 280 };
279 }, 281 },
280 created() { 282 created() {
...@@ -327,15 +329,25 @@ export default { ...@@ -327,15 +329,25 @@ export default {
327 }, 329 },
328 //获取口岸子字典 330 //获取口岸子字典
329 searchPortDictData() { 331 searchPortDictData() {
330 - getPortList() 332 + getPortInfo()
331 .then((res) => { 333 .then((res) => {
334 + console.log(res);
332 if (res.code === "200") { 335 if (res.code === "200") {
333 - this.dict.port = res.data; 336 + this.portList = res.data;
334 } 337 }
335 }) 338 })
336 .catch((err) => { 339 .catch((err) => {
337 console.log(err); 340 console.log(err);
338 }); 341 });
342 + getDictData({ doctCode: "METHOD_OF_SIGNATURE" })
343 + .then((res) => {
344 + if (res.code == "200") {
345 + this.encryptionTypeList = res.data;
346 + }
347 + })
348 + .catch((err) => {
349 + console.error(err);
350 + });
339 }, 351 },
340 clear() { 352 clear() {
341 this.$refs.sreachForm.resetFields(); 353 this.$refs.sreachForm.resetFields();
......