正在显示
6 个修改的文件
包含
569 行增加
和
2 行删除
src/api/cbecd/index.js
0 → 100644
1 | +import http from '../http.js'; | ||
2 | +let baseServiceURL = '/wlpt-cbed-system/export-receipt'; | ||
3 | + | ||
4 | +// POST请求添加出库单 | ||
5 | +export const addExportReceipt = (data) => { | ||
6 | + return http.post(`${baseServiceURL}/addExportReceipt`, data); | ||
7 | +}; | ||
8 | + | ||
9 | +// POST请求更新出库单信息 | ||
10 | +export const updateExportReceipt = (data) => { | ||
11 | + return http.post(`${baseServiceURL}/updateExportReceipt`, data); | ||
12 | +}; | ||
13 | + | ||
14 | +// DELETE请求删除出库单(使用POST以适应某些防火墙限制) | ||
15 | +export const deleteExportReceipt = (receiptGuid) => { | ||
16 | + return http.post(`${baseServiceURL}/deleteExportReceipt`,{},{ receiptGuid: receiptGuid }); | ||
17 | +}; | ||
18 | + | ||
19 | +// GET请求获取单一出库单信息 | ||
20 | +export const getExportReceipt = (receiptGuid) => { | ||
21 | + return http.get(`${baseServiceURL}/getExportReceipt`, { "receiptGuid": receiptGuid } ); | ||
22 | +}; | ||
23 | + | ||
24 | +// GET请求分页查询所有出库单信息 | ||
25 | +export const selectAllByPage = (record, pageNum, pageSize) => { | ||
26 | + return http.get(`${baseServiceURL}/selectAllByPage`, { params: { ...record, pageNum, pageSize } }); | ||
27 | +}; | ||
28 | + | ||
29 | +//POST请求上传导入的excel | ||
30 | +export const uploadExportReceipt = (params) => { | ||
31 | + return http.post(`${baseServiceURL}/importFromExcel`, params); | ||
32 | +}; | ||
33 | + | ||
34 | +// 批量申报 | ||
35 | +export const batchDeclare = (data) => { | ||
36 | + return http.post(`${baseServiceURL}/batchDeclare`, data); | ||
37 | +}; |
src/api/cbecd/send_log.js
0 → 100644
1 | +import http from '../http.js'; | ||
2 | +let baseServiceURL = '/wlpt-cbed-system/LogInfo'; | ||
3 | + | ||
4 | +// 新增日志信息 - POST请求 | ||
5 | +export const addLogInfo = (logInfo) => { | ||
6 | + return http.post(`${baseServiceURL}/addLogInfo`, logInfo); | ||
7 | +}; | ||
8 | + | ||
9 | +// 更新日志信息 - POST请求 | ||
10 | +export const editLogInfo = (logInfo) => { | ||
11 | + return http.post(`${baseServiceURL}/editLogInfo`, logInfo); | ||
12 | +}; | ||
13 | + | ||
14 | +// 删除日志信息 - GET请求,uuid作为参数传递 | ||
15 | +export const deleteLogInfo = (uuid) => { | ||
16 | + return http.get(`${baseServiceURL}/deleteLogInfo`, { uuid: uuid }); | ||
17 | +}; | ||
18 | + | ||
19 | +// 查询日志信息列表 - GET请求,支持分页和查询条件 | ||
20 | +export const selectAllByPage = (data,params) => { | ||
21 | + | ||
22 | + return http.post(`${baseServiceURL}/selectAllByPage`,data, params); | ||
23 | +}; |
@@ -6,8 +6,8 @@ export default { | @@ -6,8 +6,8 @@ export default { | ||
6 | return axios({ | 6 | return axios({ |
7 | method: 'POST', // 请求协议 | 7 | method: 'POST', // 请求协议 |
8 | url: url, // 请求的地址 | 8 | url: url, // 请求的地址 |
9 | - data: data, // post 请求的数据 | ||
10 | - params: params, | 9 | + data: data, // post 请求的实体类数据 |
10 | + params: params, //urlencoded 参数 | ||
11 | timeout: 30000, // 超时时间, 单位毫秒 | 11 | timeout: 30000, // 超时时间, 单位毫秒 |
12 | headers: { | 12 | headers: { |
13 | 'Content-Type': 'application/json;charset=UTF-8', | 13 | 'Content-Type': 'application/json;charset=UTF-8', |
@@ -128,6 +128,9 @@ import classification from './views/deploy/classification.vue' | @@ -128,6 +128,9 @@ import classification from './views/deploy/classification.vue' | ||
128 | import subscribe from './views/deploy/subscribe.vue' | 128 | import subscribe from './views/deploy/subscribe.vue' |
129 | import UNcode from './views/wms/UNcode.vue' | 129 | import UNcode from './views/wms/UNcode.vue' |
130 | 130 | ||
131 | +//跨境电商 | ||
132 | +import exportRecipt from "@/views/cbecd/export_recipt.vue"; | ||
133 | + | ||
131 | 134 | ||
132 | 135 | ||
133 | //账单管理 | 136 | //账单管理 |
@@ -653,6 +656,15 @@ let routes = [ | @@ -653,6 +656,15 @@ let routes = [ | ||
653 | {path:'/express',component:Express,name:'快邮舱单申报'}, | 656 | {path:'/express',component:Express,name:'快邮舱单申报'}, |
654 | ] | 657 | ] |
655 | }, | 658 | }, |
659 | + { | ||
660 | + path: '/cbecd', | ||
661 | + component: HomeNew, | ||
662 | + name: '跨境电商申报', | ||
663 | + iconCls:'el-icon-wind-power', | ||
664 | + children:[ | ||
665 | + {path:'/cbecd-export-receipt',component:exportRecipt,name:'收款单申报'}, | ||
666 | + ] | ||
667 | + }, | ||
656 | 668 | ||
657 | { | 669 | { |
658 | path: '/', | 670 | path: '/', |
src/views/cbecd/export_recipt.vue
0 → 100644
1 | +<template> | ||
2 | + <div id="exportReceipt"> | ||
3 | + <!-- 搜索区域 --> | ||
4 | + <el-row :gutter="10" class="toolbar"> | ||
5 | + <el-col :span="7"> | ||
6 | + <el-input v-model="queryInfo.receiptGuid" prefix-icon="el-icon-search" size="small" | ||
7 | + placeholder="系统唯一编号" clearable> | ||
8 | + <template slot="prepend">系统唯一编号</template> | ||
9 | + </el-input> | ||
10 | + </el-col> | ||
11 | + <!-- 其他搜索字段类似添加 --> | ||
12 | + <el-col :span="6"> | ||
13 | + <el-button type="primary" icon="el-icon-search" size="small" @click="searchExportReceipts"> | ||
14 | + 查询 | ||
15 | + </el-button> | ||
16 | + <el-button type="success" icon="el-icon-plus" size="small" @click="openDialog('add')">新增</el-button> | ||
17 | + <el-button type="warning" icon="el-icon-message" size="small" @click="declare()">申报</el-button> | ||
18 | + </el-col> | ||
19 | + <el-col :span="6"> | ||
20 | + <el-upload | ||
21 | + style="display: inline; margin-left: 10px;margin-right: 10px;" | ||
22 | + action="" | ||
23 | + :http-request="uploadFile" | ||
24 | + :limit=1 | ||
25 | + :on-exceed="fileExceed" | ||
26 | + :file-list="fileList" | ||
27 | + accept="application/vnd.ms-excel,application/vnd.ms-excels,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | ||
28 | + ref="fileupload"> | ||
29 | + <el-button slot="trigger" style="width:150px" icon="el-icon-folder-add" type="primary">导入excel</el-button> | ||
30 | + </el-upload> | ||
31 | + </el-col> | ||
32 | + </el-row> | ||
33 | + | ||
34 | + <!-- 表格区域 --> | ||
35 | + <el-table :data="exportReceiptsData" border | ||
36 | + style="border-radius: 10px 10px 0px 0px;line-height: 25px;width: 100%" | ||
37 | + :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" | ||
38 | + @selection-change="selsChange" | ||
39 | + > | ||
40 | + <el-table-column type="selection" width="55" :selectable="isSelectable"></el-table-column> | ||
41 | + <el-table-column prop="receiptGuid" label="系统唯一编号"></el-table-column> | ||
42 | + <el-table-column prop="appType" label="报送类型" :formatter="formatAppType"></el-table-column> | ||
43 | + <el-table-column prop="appTime" label="报送时间" :formatter="formatDate"></el-table-column> | ||
44 | + <el-table-column prop="appStatus" label="申报状态" :formatter="formatAppStatus"></el-table-column> | ||
45 | + <el-table-column prop="ebpName" label="电商平台登记名称"></el-table-column> | ||
46 | + <el-table-column prop="ebpCode" label="电商平台代码"></el-table-column> | ||
47 | + <el-table-column prop="ebcCode" label="电商企业代码"></el-table-column> | ||
48 | + <el-table-column prop="ebcName" label="电商企业名称"></el-table-column> | ||
49 | + <el-table-column prop="orderNo" label="电商订单编号"></el-table-column> | ||
50 | + <el-table-column prop="payCode" label="支付企业代码"></el-table-column> | ||
51 | + <el-table-column prop="payName" label="支付企业名称"></el-table-column> | ||
52 | + <el-table-column prop="payNo" label="支付交易编号"></el-table-column> | ||
53 | + <el-table-column prop="charge" label="订单交易金额"></el-table-column> | ||
54 | + <el-table-column prop="currency" label="币制"></el-table-column> | ||
55 | + <el-table-column prop="accountingDate" label="到账时间" :formatter="formatDate"></el-table-column> | ||
56 | + | ||
57 | + <!-- 操作列 --> | ||
58 | + <el-table-column fixed="right" label="操作" width="250"> | ||
59 | + <template slot-scope="scope"> | ||
60 | + <el-row type="flex" justify="left"> | ||
61 | +<!-- <el-col :span="6"><el-button type="info" @click="openDialog('view', scope.row)">查看</el-button></el-col>--> | ||
62 | + <el-col :span="6"><el-button type="primary" icon="el-icon-edit" @click="openDialog('edit', scope.row)"></el-button></el-col> | ||
63 | + <el-col :span="6"> | ||
64 | + <el-popconfirm title="确定删除吗?" @confirm="deleteExportReceipt(scope.row.receiptGuid)"> | ||
65 | + <el-button slot="reference" type="danger" icon="el-icon-delete"></el-button> | ||
66 | + </el-popconfirm> | ||
67 | + </el-col> | ||
68 | + </el-row> | ||
69 | + <el-row type="flex" justify="left"> | ||
70 | + <el-col :span="6"><el-button type="info" icon="el-icon-search" @click="openSendLogView(scope.row)">回执</el-button></el-col> | ||
71 | + </el-row> | ||
72 | + </template> | ||
73 | + </el-table-column> | ||
74 | + </el-table> | ||
75 | + | ||
76 | + <!-- 分页 --> | ||
77 | + <el-pagination layout="prev, pager, next" :total="totalRecords" @current-change="handleCurrentChange" | ||
78 | + background style="margin-top: 10px"> | ||
79 | + </el-pagination> | ||
80 | + | ||
81 | + <!-- 对话框 --> | ||
82 | + <el-dialog :title="dialogStateMap[dialogType]" :visible.sync="showDialog" width="80%"> | ||
83 | + <el-form ref="exportReceiptForm" :model="exportReceiptForm" :rules="formRules" | ||
84 | + label-width="120px"> | ||
85 | + <!-- 表单字段 --> | ||
86 | + <el-form-item label="系统唯一编号" prop="receiptGuid"> | ||
87 | + <el-input v-model="exportReceiptForm.receiptGuid"></el-input> | ||
88 | + </el-form-item> | ||
89 | + <!-- 其他表单字段类似添加 --> | ||
90 | + | ||
91 | + </el-form> | ||
92 | + <div slot="footer" class="dialog-footer"> | ||
93 | + <el-button @click="showDialog = false">取 消</el-button> | ||
94 | + <el-button type="primary" @click="submitForm(dialogType)">确 定</el-button> | ||
95 | + </div> | ||
96 | + </el-dialog> | ||
97 | + | ||
98 | + <el-dialog title="回执明细" :visible.sync="sendLogDialogShow" width="80%"> | ||
99 | + <send-log :bill-guid="billGuid"> </send-log> | ||
100 | + </el-dialog> | ||
101 | + </div> | ||
102 | +</template> | ||
103 | + | ||
104 | +<script> | ||
105 | +import { addExportReceipt, updateExportReceipt, deleteExportReceipt, getExportReceipt, | ||
106 | + selectAllByPage,uploadExportReceipt, batchDeclare} from '@/api/cbecd'; | ||
107 | +import sendLog from "./send_log.vue" | ||
108 | +export default { | ||
109 | + computed: { | ||
110 | + }, | ||
111 | + components: { sendLog }, | ||
112 | + data() { | ||
113 | + return { | ||
114 | + fileList: [], | ||
115 | + sendList:[], | ||
116 | + queryInfo: {}, | ||
117 | + exportReceiptsData: [], | ||
118 | + totalRecords: 0, | ||
119 | + pageNum: 1, | ||
120 | + pageSize: 10, | ||
121 | + showDialog: false, | ||
122 | + sendLogDialogShow: false, | ||
123 | + dialogType: '', | ||
124 | + billGuid:'', | ||
125 | + dialogStateMap: { | ||
126 | + view: '查看', | ||
127 | + edit: '编辑', | ||
128 | + add: '新增' | ||
129 | + }, | ||
130 | + exportReceiptForm: {}, | ||
131 | + formRules: { | ||
132 | + receiptGuid: [{ required: true, message: '请输入系统唯一编号', trigger: 'blur' }], | ||
133 | + // 其他字段规则类似添加 | ||
134 | + } | ||
135 | + }; | ||
136 | + }, | ||
137 | + methods: { | ||
138 | + formatAppType: function (row, column,cellValue, index) { | ||
139 | + const map={ | ||
140 | + "1": "新增", | ||
141 | + "2": "变更", | ||
142 | + "3": "删除" | ||
143 | + } | ||
144 | + return map[cellValue]; | ||
145 | + }, | ||
146 | + formatAppStatus: function (row, column,cellValue, index) { | ||
147 | + const map = { | ||
148 | + "1": { text: "暂存", type: "" }, | ||
149 | + "2": { text: "申报", type: "info" }, | ||
150 | + "3": { text: "已回执", type: "success" }, // 默认样式 | ||
151 | + }; | ||
152 | + | ||
153 | + const tagInfo = map[cellValue] || { text: "未知状态", type: "" }; | ||
154 | + | ||
155 | + // 使用 createElement 创建 VNode | ||
156 | + return this.$createElement('el-tag', { props: { type: tagInfo.type } }, tagInfo.text); | ||
157 | + | ||
158 | + // 使用 createElement 创建 VNode | ||
159 | + return this.$createElement('el-tag', { props: { type: tagInfo.type } }, tagInfo.text); | ||
160 | + }, | ||
161 | + formatDate: function (row, column,cellValue, index) { | ||
162 | + // 获取单元格数据 | ||
163 | + if(cellValue) { | ||
164 | + let dt = new Date(cellValue) | ||
165 | + return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()+ ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds(); | ||
166 | + }else { | ||
167 | + return ''; | ||
168 | + } | ||
169 | + | ||
170 | + }, | ||
171 | + searchExportReceipts() { | ||
172 | + selectAllByPage(this.queryInfo, this.pageNum, this.pageSize).then(response => { | ||
173 | + const data = response.data; | ||
174 | + if (data.code === '200') { | ||
175 | + this.exportReceiptsData = data.data.list; // 假设返回数据包含list字段 | ||
176 | + this.totalRecords = data.data.total; // 假设返回数据包含total字段 | ||
177 | + } | ||
178 | + }); | ||
179 | + }, | ||
180 | + openDialog(type, row) { | ||
181 | + if (type === 'view' || type === 'edit') { | ||
182 | + getExportReceipt(row.receiptGuid).then(response => { | ||
183 | + const data = response.data; | ||
184 | + if (data.code === '200') { | ||
185 | + this.exportReceiptForm = data.data; // 假设返回数据包含data字段 | ||
186 | + } | ||
187 | + }); | ||
188 | + } else { | ||
189 | + this.exportReceiptForm = {}; // 清空表单,用于新增操作 | ||
190 | + } | ||
191 | + this.dialogType = type; | ||
192 | + this.showDialog = true; | ||
193 | + }, | ||
194 | + openSendLogView(row) { | ||
195 | + this.sendLogDialogShow = true; | ||
196 | + this.billGuid = row.receiptGuid; | ||
197 | + }, | ||
198 | + submitForm(type) { | ||
199 | + if (type === 'add') { | ||
200 | + addExportReceipt(this.exportReceiptForm).then(response => { | ||
201 | + const data = response.data; | ||
202 | + if (data.code === '200') { | ||
203 | + this.$message.success('新增成功'); | ||
204 | + this.showDialog = false; | ||
205 | + this.searchExportReceipts(); // 刷新列表 | ||
206 | + } | ||
207 | + }); | ||
208 | + } else if (type === 'edit') { | ||
209 | + updateExportReceipt(this.exportReceiptForm).then(response => { | ||
210 | + const data = response.data; | ||
211 | + if (data.code === '200') { | ||
212 | + this.$message.success('编辑成功'); | ||
213 | + this.showDialog = false; | ||
214 | + this.searchExportReceipts(); // 刷新列表 | ||
215 | + } | ||
216 | + }); | ||
217 | + } else if (type === 'view') { | ||
218 | + this.showDialog = false; // 查看模式下,直接关闭对话框 | ||
219 | + } | ||
220 | + }, | ||
221 | + deleteExportReceipt(guid) { | ||
222 | + deleteExportReceipt(guid).then(response => { | ||
223 | + const data = response.data; | ||
224 | + if (data.code === '200') { | ||
225 | + this.$message.success('删除成功'); | ||
226 | + this.searchExportReceipts(); // 刷新列表 | ||
227 | + } | ||
228 | + }); | ||
229 | + },// 自定义上传 | ||
230 | + uploadFile (item) { | ||
231 | + const form = new FormData() | ||
232 | + form.append('file', item.file) | ||
233 | + uploadExportReceipt(form).then(res =>{ | ||
234 | + if(res.data.code =='200'){ | ||
235 | + this.$message.success(res.data.msg); | ||
236 | + this.searchExportReceipts(); | ||
237 | + this.fileList = []; | ||
238 | + }else { | ||
239 | + this.$message.error(res.data.msg) | ||
240 | + } | ||
241 | + }).catch(e =>{ | ||
242 | + this.$message.error(e.toString()) | ||
243 | + }) | ||
244 | + }, | ||
245 | + handleCurrentChange(val) { | ||
246 | + this.pageNum = val; | ||
247 | + this.searchExportReceipts(); | ||
248 | + }, | ||
249 | + // 导入excel | ||
250 | + fileExceed(){ | ||
251 | + this.$message.error('别贪心!一次只能上传一个哦~'); | ||
252 | + }, | ||
253 | + handleRemove(file, fileList) { | ||
254 | + console.log(file, fileList); | ||
255 | + }, | ||
256 | + handlePreview(file) { | ||
257 | + console.log(file); | ||
258 | + }, | ||
259 | + handleExceed(files, fileList) { | ||
260 | + this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); | ||
261 | + }, | ||
262 | + beforeRemove(file, fileList) { | ||
263 | + return this.$confirm(`确定移除 ${ file.name }?`); | ||
264 | + }, | ||
265 | + selsChange(selection){ | ||
266 | + this.sendList = selection; | ||
267 | + // 如果用户尝试选择了不允许的选择项,则移除这些选择 | ||
268 | + this.sendList = selection.filter(row => this.isSelectable(row)); | ||
269 | + }, | ||
270 | + isSelectable(row) { | ||
271 | + // 只有当appStatus是"1"或"2"的时候才可选 | ||
272 | + return ['1'].includes(row.appStatus); | ||
273 | + }, | ||
274 | + declare(){ | ||
275 | + batchDeclare(this.sendList).then(response => { | ||
276 | + const data = response.data; | ||
277 | + if (data.code === '200') { | ||
278 | + this.$message.success('申报成功'); | ||
279 | + this.searchExportReceipts(); // 刷新列表 | ||
280 | + } | ||
281 | + }).catch(e =>{ | ||
282 | + this.$message.error(e.toString()); | ||
283 | + }); | ||
284 | + } | ||
285 | + } | ||
286 | +}; | ||
287 | +</script> |
src/views/cbecd/send_log.vue
0 → 100644
1 | +<template> | ||
2 | + <div> | ||
3 | + <!-- 搜索区域 --> | ||
4 | + <el-row :gutter="10" class="toolbar"> | ||
5 | + <el-col :span="7"> | ||
6 | + <el-input v-model="queryInfo.cebType" placeholder="申报业务类型" clearable></el-input> | ||
7 | + </el-col> | ||
8 | + <el-col :span="7"> | ||
9 | + <el-select v-model="queryInfo.decStatus" placeholder="申报状态"> | ||
10 | + <el-option label="暂存" value="1"></el-option> | ||
11 | + <el-option label="申报" value="2"></el-option> | ||
12 | + <el-option label="已回执" value="3"></el-option> | ||
13 | + </el-select> | ||
14 | + </el-col> | ||
15 | + <el-col :span="6"> | ||
16 | + <el-button type="primary" icon="el-icon-search" @click="searchLogInfo">查询</el-button> | ||
17 | + <el-button type="success" icon="el-icon-plus" @click="applyAdd">新增</el-button> | ||
18 | + </el-col> | ||
19 | + </el-row> | ||
20 | + | ||
21 | + <!-- 表格展示 --> | ||
22 | + <el-table :data="tableData" border style="width: 100%"> | ||
23 | + <el-table-column prop="uuid" label="主键"></el-table-column> | ||
24 | + <el-table-column prop="cebType" label="申报业务类型"></el-table-column> | ||
25 | + <el-table-column prop="decType" label="申报类型" :formatter="formatDecType"></el-table-column> | ||
26 | + <el-table-column prop="decDate" label="申报时间" :formatter="formatDate"></el-table-column> | ||
27 | + <el-table-column prop="decStatus" label="申报状态" :formatter="formatAppStatus"></el-table-column> | ||
28 | + <el-table-column prop="billGuid" label="单证GUID/编号"></el-table-column> | ||
29 | + <el-table-column prop="decUser" label="申报人"></el-table-column> | ||
30 | +<!-- <el-table-column prop="decPiece" label="申报件数"></el-table-column>--> | ||
31 | +<!-- <el-table-column prop="decWeight" label="申报重量"></el-table-column>--> | ||
32 | + <el-table-column prop="headGuid" label="报头ID/批次ID"></el-table-column> | ||
33 | + <el-table-column prop="decNum" label="申报序号"></el-table-column> | ||
34 | + <el-table-column prop="recDate" label="回执时间" :formatter="formatDate"></el-table-column> | ||
35 | + <el-table-column prop="recStatus" label="回执状态"></el-table-column> | ||
36 | + <el-table-column prop="recDescription" label="回执说明"></el-table-column> | ||
37 | +<!-- <el-table-column fixed="right" label="操作">--> | ||
38 | +<!-- <template slot-scope="scope">--> | ||
39 | +<!-- <el-button type="text" @click="applyView(scope.row)">查看</el-button>--> | ||
40 | +<!-- <el-button type="text" @click="applyEdit(scope.row)">编辑</el-button>--> | ||
41 | +<!-- <el-button type="text" @click="applyDel(scope.$index, scope.row)">删除</el-button>--> | ||
42 | +<!-- </template>--> | ||
43 | +<!-- </el-table-column>--> | ||
44 | + </el-table> | ||
45 | + | ||
46 | + <!-- 分页 --> | ||
47 | + <el-pagination | ||
48 | + background | ||
49 | + layout="total, prev, pager, next" | ||
50 | + :page-size="queryInfo.pageSize" | ||
51 | + :current-page="queryInfo.pageNum" | ||
52 | + :total="total" | ||
53 | + @current-change="handleCurrentChange"> | ||
54 | + </el-pagination> | ||
55 | + | ||
56 | + <!-- 对话框 --> | ||
57 | + <el-dialog :title="dialogStateMap[dialogType]" :visible.sync="showDialog" width="80%"> | ||
58 | + <el-form ref="logFormRef" :model="logInfo" :rules="rules" label-width="120px"> | ||
59 | + <!-- 录入表单字段 --> | ||
60 | + <el-form-item label="主键" prop="uuid"> | ||
61 | + <el-input v-model="logInfo.uuid"></el-input> | ||
62 | + </el-form-item> | ||
63 | + <!-- ... 其他字段 --> | ||
64 | + </el-form> | ||
65 | + <span slot="footer" class="dialog-footer"> | ||
66 | + <el-button @click="showDialog = false">取 消</el-button> | ||
67 | + <el-button type="primary" @click="submitForm(dialogType)">确 定</el-button> | ||
68 | + </span> | ||
69 | + </el-dialog> | ||
70 | + </div> | ||
71 | +</template> | ||
72 | + | ||
73 | +<script> | ||
74 | +import { addLogInfo, editLogInfo, deleteLogInfo, selectAllByPage } from '@/api/cbecd/send_log'; | ||
75 | + | ||
76 | +export default { | ||
77 | + name: 'Send-Log', | ||
78 | + props: { | ||
79 | + billGuid: { | ||
80 | + type: String, | ||
81 | + default: '' | ||
82 | + } | ||
83 | + }, | ||
84 | + watch: { | ||
85 | + billGuid: { | ||
86 | + handler(newBillGuid) { | ||
87 | + if (newBillGuid) { | ||
88 | + this.queryInfo.sendLog.billGuid = newBillGuid; | ||
89 | + this.searchLogInfo(); | ||
90 | + } | ||
91 | + }, | ||
92 | + immediate: true // 立即执行一次监听器 | ||
93 | + } | ||
94 | + }, | ||
95 | + data() { | ||
96 | + return { | ||
97 | + queryInfo: { | ||
98 | + pageNum: 1, | ||
99 | + pageSize: 10, | ||
100 | + sendLog:{ | ||
101 | + billGuid:'uuid' | ||
102 | + } | ||
103 | + }, | ||
104 | + | ||
105 | + tableData: [], | ||
106 | + total: 0, | ||
107 | + logInfo: {}, | ||
108 | + dialogType: '', | ||
109 | + showDialog: false, | ||
110 | + dialogStateMap: { | ||
111 | + view: '查看', | ||
112 | + edit: '编辑', | ||
113 | + add: '新增' | ||
114 | + }, | ||
115 | + rules: { | ||
116 | + // 录入表单字段校验规则 | ||
117 | + uuid: [{ required: true, message: '请输入主键', trigger: 'blur' }], | ||
118 | + // ... 其他字段的校验规则 | ||
119 | + } | ||
120 | + }; | ||
121 | + }, | ||
122 | + methods: { | ||
123 | + formatAppStatus: function (row, column,cellValue, index) { | ||
124 | + const map = { | ||
125 | + "1": { text: "暂存", type: "" }, | ||
126 | + "2": { text: "申报", type: "info" }, | ||
127 | + "3": { text: "申报中", type: "warning" }, // 默认样式 | ||
128 | + "4": { text: "已回执", type: "success" } // 默认样式 | ||
129 | + }; | ||
130 | + | ||
131 | + const tagInfo = map[cellValue] || { text: "未知状态", type: "" }; | ||
132 | + | ||
133 | + // 使用 createElement 创建 VNode | ||
134 | + return this.$createElement('el-tag', { props: { type: tagInfo.type } }, tagInfo.text); | ||
135 | + | ||
136 | + // 使用 createElement 创建 VNode | ||
137 | + return this.$createElement('el-tag', { props: { type: tagInfo.type } }, tagInfo.text); | ||
138 | + }, | ||
139 | + formatDecType: function (row, column,cellValue, index) { | ||
140 | + cellValue = ''+ cellValue; | ||
141 | + console.log(row, column,cellValue, index); | ||
142 | + const map={ | ||
143 | + "1": "新增", | ||
144 | + "2": "变更", | ||
145 | + "3": "删除" | ||
146 | + } | ||
147 | + return map[cellValue]; | ||
148 | + }, | ||
149 | + formatDate(date) { | ||
150 | + if (!date) return ''; | ||
151 | + const d = new Date(date); | ||
152 | + const year = d.getFullYear(); | ||
153 | + const month = (d.getMonth() + 1).toString().padStart(2, '0'); | ||
154 | + const day = d.getDate().toString().padStart(2, '0'); | ||
155 | + const hours = d.getHours().toString().padStart(2, '0'); | ||
156 | + const minutes = d.getMinutes().toString().padStart(2, '0'); | ||
157 | + const seconds = d.getSeconds().toString().padStart(2, '0'); | ||
158 | + | ||
159 | + // 格式化为 YYYY-MM-DD HH:mm:ss | ||
160 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | ||
161 | + }, | ||
162 | + searchLogInfo() { | ||
163 | + selectAllByPage(this.queryInfo.sendLog,this.queryInfo).then(response => { | ||
164 | + this.tableData = response.data.data.list; | ||
165 | + this.total = response.pages; | ||
166 | + }); | ||
167 | + }, | ||
168 | + applyAdd() { | ||
169 | + this.dialogType = 'add'; | ||
170 | + this.showDialog = true; | ||
171 | + // 清空表单 | ||
172 | + this.logInfo = {}; | ||
173 | + }, | ||
174 | + applyEdit(row) { | ||
175 | + this.dialogType = 'edit'; | ||
176 | + this.showDialog = true; | ||
177 | + this.logInfo = Object.assign({}, row); | ||
178 | + }, | ||
179 | + applyView(row) { | ||
180 | + this.dialogType = 'view'; | ||
181 | + this.showDialog = true; | ||
182 | + // 设置为只读模式 | ||
183 | + this.$refs.logFormRef.setDisabled(true); | ||
184 | + this.logInfo = Object.assign({}, row); | ||
185 | + }, | ||
186 | + applyDel(index, row) { | ||
187 | + deleteLogInfo(row.uuid).then(() => { | ||
188 | + this.tableData.splice(index, 1); | ||
189 | + }); | ||
190 | + }, | ||
191 | + submitForm(type) { | ||
192 | + if (type === 'add') addLogInfo(this.logInfo); | ||
193 | + else if (type === 'edit') editLogInfo(this.logInfo); | ||
194 | + // 关闭对话框 | ||
195 | + this.showDialog = false; | ||
196 | + // 刷新数据列表 | ||
197 | + this.searchLogInfo(); | ||
198 | + }, | ||
199 | + handleCurrentChange(val) { | ||
200 | + this.queryInfo.pageNum = val; | ||
201 | + this.searchLogInfo(); | ||
202 | + } | ||
203 | + } | ||
204 | +} | ||
205 | +</script> | ||
206 | + | ||
207 | +<style> | ||
208 | +</style> |
-
请 注册 或 登录 后发表评论