|
@@ -1,8 +1,9 @@
|
|
|
// zkqyTable.template.js
|
|
|
-export default (columns, formInDatabase, zkqyTablePageJson) => `
|
|
|
+export default (columns, zkqyTablePageJson, dataSource,url) => `
|
|
|
// ====== 自定义代码开始 ======
|
|
|
var zkqyTable = {
|
|
|
name: 'zkqyTable',
|
|
|
+ props: ['pageId'], // 声明接收的 props
|
|
|
template: \`
|
|
|
<div class="zkqy-table">
|
|
|
<div class="table-container">
|
|
@@ -58,15 +59,15 @@ var zkqyTable = {
|
|
|
policyData: {},
|
|
|
currentPage4: 1,
|
|
|
tableList: [{
|
|
|
- tableName: '${formInDatabase}',
|
|
|
+ pageId: '',
|
|
|
total: 0,
|
|
|
pageSize: 2,
|
|
|
pageNum: 1
|
|
|
}],
|
|
|
- baseUrl: 'http://192.168.10.103:8088',
|
|
|
+ baseUrl: '${url}',
|
|
|
headers: {
|
|
|
Accept: 'application/json',
|
|
|
- Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI1ODdhZjdkLTQ0ZGMtNGMyMS05MmViLTE5YjIyMmFmNGY2MSJ9.dFMXetyerkB9Mc6yFetO2cWg64TQeeMW1EOmNQgWpKXCFBVpKfy2YUZjMdIuFxt_PnT5QlEQErRCIpLKgiypgQ',
|
|
|
+ dbname:'${dataSource}',
|
|
|
'Content-Type': 'application/json'
|
|
|
},
|
|
|
};
|
|
@@ -85,7 +86,12 @@ var zkqyTable = {
|
|
|
return;
|
|
|
}
|
|
|
let formId = this.zkqyTablePageJson[0]?.props?.updateZkqyTableRow
|
|
|
- let searchId = this.radio?.id
|
|
|
+ let searchId;
|
|
|
+ let zj = this.zkqyTablePageJson[0].columns.find(item=>item.tableType=="primary")
|
|
|
+ if(zj.tableName){
|
|
|
+ let v = zj.tableName+'@id'
|
|
|
+ searchId = this.radio[v]
|
|
|
+ }
|
|
|
if(!formId){
|
|
|
this.\$message.warning("请配置跳转页面");
|
|
|
return
|
|
@@ -108,7 +114,7 @@ var zkqyTable = {
|
|
|
this.getTableLimitInfo({
|
|
|
pageNum: this.tableList[0].pageNum,
|
|
|
pageSize: this.tableList[0].pageSize,
|
|
|
- tableName: this.tableList[0].tableName
|
|
|
+ pageId: this.pageId
|
|
|
});
|
|
|
},
|
|
|
handleCurrentChange(val) {
|
|
@@ -116,29 +122,35 @@ var zkqyTable = {
|
|
|
this.getTableLimitInfo({
|
|
|
pageNum: this.tableList[0].pageNum,
|
|
|
pageSize: this.tableList[0].pageSize,
|
|
|
- tableName: this.tableList[0].tableName
|
|
|
+ pageId: this.pageId
|
|
|
});
|
|
|
},
|
|
|
handleDelete(index, row) {
|
|
|
- this.\$msgbox.confirm('确认删除id为' + row.id + '这行数据?', '提示', {
|
|
|
+ // console.log(row)
|
|
|
+ // let zj = this.zkqyTablePageJson[0].columns.find(item=>item.tableType=="primary")
|
|
|
+ // if(zj.tableName){
|
|
|
+ // let v = zj.tableName+'@id'
|
|
|
+ // searchId = this.radio[v]
|
|
|
+ // }
|
|
|
+ let id = this.zkqyTablePageJson[0]?.columns[0]?.tableName +'@id'
|
|
|
+ this.\$msgbox.confirm('确认删除id为' + row[id] + '这行数据?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
this.tableData.splice(index, 1);
|
|
|
- let { tableName } = this.tableList[0];
|
|
|
- this.deleteTableData(row.id, tableName);
|
|
|
+ this.deleteTableData(row[id], this.pageId );
|
|
|
}).catch(() => {
|
|
|
this.\$message.info("已取消删除");
|
|
|
});
|
|
|
},
|
|
|
- async deleteTableData(lineId, tableName) {
|
|
|
- const endpoint = '/system/mobilePageDesignData/normal/deleteData';
|
|
|
+ async deleteTableData(lineId, pageId) {
|
|
|
+ const endpoint = 'api/mobilePageDesignData/normal/deleteData';
|
|
|
try {
|
|
|
const url = this.baseUrl + endpoint;
|
|
|
const requestBody = {
|
|
|
lineId: lineId,
|
|
|
- tableName: tableName
|
|
|
+ pageId: pageId
|
|
|
};
|
|
|
const response = await fetch(url, {
|
|
|
method: 'POST',
|
|
@@ -152,9 +164,9 @@ var zkqyTable = {
|
|
|
console.log('删除结果:', result);
|
|
|
if (result.code == 200) {
|
|
|
this.$message.success('删除成功');
|
|
|
- let {tableName,pageNum,pageSize} =this.tableList[0]
|
|
|
+ let {pageId,pageNum,pageSize} =this.tableList[0]
|
|
|
// 删除成功后刷新表格数据
|
|
|
- this.getTableLimitInfo({tableName,pageNum,pageSize})
|
|
|
+ this.getTableLimitInfo({pageId,pageNum,pageSize})
|
|
|
return true;
|
|
|
} else {
|
|
|
this.$message.error(result.message || '删除失败');
|
|
@@ -167,7 +179,7 @@ var zkqyTable = {
|
|
|
}
|
|
|
},
|
|
|
async getTableLimitInfo(params = {}) {
|
|
|
- const endpoint = '/system/mobilePageDesignData/tableLimitInfo';
|
|
|
+ const endpoint = 'api/mobilePageDesignData/muti/tableLimitInfo';
|
|
|
await this.fetchGet(endpoint, params, (data) => {
|
|
|
if (data.code === 200) {
|
|
|
this.tableData = data.rows;
|
|
@@ -180,18 +192,12 @@ var zkqyTable = {
|
|
|
async queryMobileClickAddData(params = {}) {
|
|
|
let formId = params;
|
|
|
params ={}
|
|
|
- const endpoint = '/system/mobilePageDesignData/queryMobileClickAddData/'+ formId;
|
|
|
+
|
|
|
+ let pageId = this.pageId
|
|
|
+ console.log('pageId',pageId)
|
|
|
+ const endpoint = 'api/mobilePageDesignData/queryMobileClickAddData/'+ formId;
|
|
|
await this.fetchGet(endpoint , params,(data) => {
|
|
|
if (data.code === 200) {
|
|
|
- // let encodedHtml = data.data.htmlData;
|
|
|
- // let decodedHtml = decodeURIComponent(encodedHtml);
|
|
|
- // const newWindow = window.open(); // 打开一个新窗口
|
|
|
- // if (newWindow) {
|
|
|
- // newWindow.document.write(decodedHtml);
|
|
|
- // newWindow.document.close(); // 关闭文档流
|
|
|
- // } else {
|
|
|
- // console.warn('接口返回非 200 状态:', data);
|
|
|
- // }
|
|
|
const decodedHtml = decodeURIComponent(data.data.htmlData);
|
|
|
|
|
|
// 创建全屏 iframe
|
|
@@ -204,6 +210,8 @@ var zkqyTable = {
|
|
|
// 清空页面并插入 iframe
|
|
|
document.body.innerHTML = '';
|
|
|
document.body.appendChild(iframe);
|
|
|
+ // 将 pageId 存储到 localStorage
|
|
|
+ localStorage.setItem('sharedPageId', pageId);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -211,19 +219,27 @@ var zkqyTable = {
|
|
|
let formId = params.formId;
|
|
|
let searchId = params.searchId;
|
|
|
params = {}
|
|
|
- const endpoint = '/system/mobilePageDesignData/queryMobileClickUpdateData/'+formId +'/'+searchId;
|
|
|
+ // 移除指定的 localStorage 键
|
|
|
+ // localStorage.removeItem('sharedPageId');
|
|
|
+
|
|
|
+ const endpoint = 'api/mobilePageDesignData/queryMobileClickUpdateData/'+this.pageId +'/'+formId +'/'+searchId;
|
|
|
await this.fetchGet(endpoint , params,(data) => {
|
|
|
if (data.code === 200) {
|
|
|
- let encodedHtml = data.data.htmlData;
|
|
|
- let decodedHtml = decodeURIComponent(encodedHtml);
|
|
|
- const newWindow = window.open(); // 打开一个新窗口
|
|
|
- if (newWindow) {
|
|
|
- newWindow.document.write(decodedHtml);
|
|
|
- newWindow.document.close(); // 关闭文档流
|
|
|
- } else {
|
|
|
- console.warn('接口返回非 200 状态:', data);
|
|
|
+ const decodedHtml = decodeURIComponent(data.data.htmlData);
|
|
|
+
|
|
|
+ // 创建全屏 iframe
|
|
|
+ const iframe = document.createElement('iframe');
|
|
|
+ iframe.srcdoc = decodedHtml;
|
|
|
+ iframe.style.width = '100%';
|
|
|
+ iframe.style.height = '100vh';
|
|
|
+ iframe.style.border = 'none';
|
|
|
+
|
|
|
+ // 清空页面并插入 iframe
|
|
|
+ document.body.innerHTML = '';
|
|
|
+ document.body.appendChild(iframe);
|
|
|
+ // 将 pageId 存储到 localStorage
|
|
|
+ localStorage.setItem('sharedPageId', pageId);
|
|
|
}
|
|
|
- }
|
|
|
});
|
|
|
},
|
|
|
async fetchGet(endpoint, params = {}, successCallback) {
|
|
@@ -260,8 +276,10 @@ var zkqyTable = {
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
- let { tableName, pageNum, pageSize } = this.tableList[0];
|
|
|
- this.getTableLimitInfo({ tableName, pageNum, pageSize });
|
|
|
+ console.log('父组件传递的 options:', this.pageId);
|
|
|
+ this.tableList[0].pageId = this.pageId
|
|
|
+ let { pageId, pageNum, pageSize } = this.tableList[0];
|
|
|
+ this.getTableLimitInfo({ pageId, pageNum, pageSize });
|
|
|
}
|
|
|
};
|
|
|
|