Compare commits
2 Commits
c18e96fb7b
...
1dcb8837a2
Author | SHA1 | Date |
---|---|---|
|
1dcb8837a2 | 9 months ago |
|
9bbe9d1808 | 9 months ago |
12 changed files with 547 additions and 67 deletions
@ -0,0 +1,156 @@ |
|||||
|
<template> |
||||
|
<!-- 组件功能:查看json及复制 --> |
||||
|
<div class="arrayTableDialog"> |
||||
|
|
||||
|
<!-- 点开查看Json转换后table弹窗 --> |
||||
|
<el-dialog |
||||
|
top="50px" |
||||
|
:visible.sync="JsonTableShow" |
||||
|
:modal-append-to-body="true" |
||||
|
:append-to-body="true" |
||||
|
:show-close="true" |
||||
|
:close-on-click-modal="true" |
||||
|
:close-on-press-escape="true" |
||||
|
width="90%" |
||||
|
@close="closePop" |
||||
|
> |
||||
|
<template #title> |
||||
|
内容详情 |
||||
|
<el-button |
||||
|
size="mini" |
||||
|
@click="copyJsonHandle()" |
||||
|
type="primary" |
||||
|
style="margin-right: 30px;float: right;" |
||||
|
>复制数据</el-button> |
||||
|
</template> |
||||
|
<umyTable |
||||
|
:isShowIndex="true" |
||||
|
:tableBorder="true" |
||||
|
:setUTableHeight="170" |
||||
|
:row-key="null" |
||||
|
:tableData="arrTableData" |
||||
|
:tableColumns="arrTableColumns" |
||||
|
:selectionTable="false" |
||||
|
></umyTable> |
||||
|
</el-dialog> |
||||
|
|
||||
|
<!-- json复制内容弹窗 --> |
||||
|
<el-dialog |
||||
|
top="50px" |
||||
|
:visible.sync="JsonCopyShow" |
||||
|
:modal-append-to-body="false" |
||||
|
:append-to-body="true" |
||||
|
:show-close="true" |
||||
|
:close-on-click-modal="true" |
||||
|
:close-on-press-escape="true" |
||||
|
:title="'数据详情'" |
||||
|
> |
||||
|
<el-input |
||||
|
class="copyJsonTextarea" |
||||
|
ref="copyJsonTextarea_ref" |
||||
|
type="textarea" |
||||
|
readonly |
||||
|
autosize |
||||
|
resize="none" |
||||
|
v-model="JsonCopyData" |
||||
|
></el-input> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
||||
|
import { tableMixins } from "@/mixins/TableMixins" |
||||
|
export default { |
||||
|
name:"arrayTableDialog", |
||||
|
mixins:[ LoadingMixins,tableMixins ], |
||||
|
props: { |
||||
|
// Json数据 |
||||
|
arrTableData:{ |
||||
|
type: Array, |
||||
|
default: null, |
||||
|
}, |
||||
|
}, |
||||
|
data () { |
||||
|
return { |
||||
|
JsonTableShow:true,//点开查看Json转换后table弹窗 |
||||
|
JsonTableData:null,//表格转义的json数据 |
||||
|
JsonCopyData:null,//复制的Json字符串 |
||||
|
JsonCopyShow:false,//复制数据的Dialog显隐控制 |
||||
|
arrTableColumns:null,//表头 |
||||
|
} |
||||
|
}, |
||||
|
mounted(){ |
||||
|
this.initData() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 数据转义 |
||||
|
initData(){ |
||||
|
// 列头转义 |
||||
|
this.arrTableColumns = [] |
||||
|
for(let i in this.arrTableData[0]){ |
||||
|
this.arrTableColumns.push({ |
||||
|
prop:i, |
||||
|
label:i |
||||
|
}) |
||||
|
} |
||||
|
// 复制数据处理 |
||||
|
this.JsonCopyData = JSON.stringify(this.arrTableData, null, '\t') |
||||
|
}, |
||||
|
// 关闭整个弹窗 |
||||
|
closePop() { |
||||
|
this.JsonTableShow = false |
||||
|
this.$emit("closePop") |
||||
|
}, |
||||
|
// 复制后选择框处理 |
||||
|
copyJsonInputHandle(type){ |
||||
|
if(type == 'error')this.$message.error('复制失败'); |
||||
|
if(type == 'success')this.$message.success('复制成功'); |
||||
|
if(this.$refs.copyJsonTextarea_ref){ |
||||
|
this.$refs.copyJsonTextarea_ref.focus() |
||||
|
this.$refs.copyJsonTextarea_ref.$refs.textarea.scrollTop = 0 |
||||
|
} |
||||
|
}, |
||||
|
// 复制数据按钮 |
||||
|
copyJsonHandle(){ |
||||
|
this.JsonCopyShow = true |
||||
|
if (navigator.clipboard && window.isSecureContext) { |
||||
|
navigator.clipboard.writeText(this.JsonCopyData) |
||||
|
.then(() => { |
||||
|
this.copyJsonInputHandle('success') |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
this.copyJsonInputHandle('error') |
||||
|
}); |
||||
|
}else { |
||||
|
// 创建text area |
||||
|
const textArea = document.createElement('textarea') |
||||
|
textArea.value = this.JsonCopyData |
||||
|
// 使text area不在viewport,同时设置不可见 |
||||
|
document.body.appendChild(textArea) |
||||
|
textArea.focus() |
||||
|
textArea.select() |
||||
|
return new Promise((resolve, reject) => { |
||||
|
// 执行复制命令并移除文本框 |
||||
|
document.execCommand('copy') ? resolve() : reject(new Error('出错了')) |
||||
|
textArea.remove() |
||||
|
}).then(() => { |
||||
|
this.$nextTick(()=>{ |
||||
|
this.copyJsonInputHandle('success') |
||||
|
}) |
||||
|
},() => { |
||||
|
this.copyJsonInputHandle('error') |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
::v-deep .copyJsonTextarea{ |
||||
|
textarea{ |
||||
|
max-height: calc(100vh - 220px) !important; |
||||
|
overflow: auto !important; |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,106 @@ |
|||||
|
<template> |
||||
|
<div class="page-box" v-loading="Loading.tableLoading"> |
||||
|
<tablePagination |
||||
|
ref="tablePagination_Ref" |
||||
|
v-if="apiColumns_Table" |
||||
|
:currenButtonData="currenButtonData" |
||||
|
:tableData="tableData" |
||||
|
:tableLoading="Loading.tableLoading" |
||||
|
:tableColumns="apiColumns_Table" |
||||
|
@rowDrop="rowDrop" |
||||
|
:totalCount="totalCount" |
||||
|
:multipleSelection="multipleSelection" |
||||
|
:MaxResultCount="PageListParams.MaxResultCount" |
||||
|
@topbutton="topbutton" |
||||
|
@inlineDialog="inlineDialog" |
||||
|
@sortChange="sortChange" |
||||
|
@alertoldSkipCount="alertoldSkipCount" |
||||
|
@alterResultCount="alterResultCount" |
||||
|
@handleSelectionChange="handleSelectionChange" |
||||
|
:currentPageProps="oldSkipCount" |
||||
|
:quicklySearchOption="quicklySearchOption" |
||||
|
@quicklySearchClick="quicklySearchClick" |
||||
|
@quicklySearchClear="quicklySearchClear" |
||||
|
:primarySearchOption="primarySearchOption" |
||||
|
@overallSearchFormClick="overallSearchFormClick" |
||||
|
:httpOverallSearchData="httpOverallSearchData" |
||||
|
:buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" |
||||
|
:tableSelection="true" |
||||
|
:selectionColumnHandle="selectionForUpdateReceiptStatusMany" |
||||
|
></tablePagination> |
||||
|
<!-- :buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" --> |
||||
|
<curren-Drawer |
||||
|
ref="currenDrawer_Ref" |
||||
|
:title="apiColumns_DesTions" |
||||
|
@rowDrop="rowDrop" |
||||
|
:tableColumns="apiColumns_DetailsTable" |
||||
|
:tabsDesTions="apiColumns_DesTions" |
||||
|
:DrawerLoading="Loading.DrawerLoading" |
||||
|
:drawer="displayDialog.detailsDialog" |
||||
|
:propsData="propsData" |
||||
|
:Butttondata="[]" |
||||
|
@drawerShut="(val) => (displayDialog.detailsDialog = val)" |
||||
|
@drawerbutton="drawerbutton" |
||||
|
@handleCommand="drawerHandle" |
||||
|
@close-value="closeValue" |
||||
|
:totalCount="totalCountDetails" |
||||
|
:currentPage="oldSkipCountDetails" |
||||
|
:MaxResultCount="MaxResultCountDetails" |
||||
|
@alterResultCountDetails="alterResultCountDetails" |
||||
|
@alertoldSkipCountDetails="alertoldSkipCountDetails" |
||||
|
:buttonOperationList_left="operationButtonsDetail" |
||||
|
></curren-Drawer> |
||||
|
<!-- 导出弹窗 --> |
||||
|
<exportDrop |
||||
|
v-if="displayDialog.exportDialog" |
||||
|
@closeDialog="closeExportDrop" |
||||
|
@exportDropSubmit="exportDropSubmit" |
||||
|
></exportDrop> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { tableMixins } from "@/mixins/TableMixins"; |
||||
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
||||
|
import { drawerMixins } from "@/mixins/drawerMixins" |
||||
|
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; |
||||
|
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins" |
||||
|
import { mixins } from "@/mixins/mixins"; |
||||
|
import { filterSelectMixins } from '@/mixins/filter-Select' |
||||
|
|
||||
|
|
||||
|
export default { |
||||
|
name: "FromEsb_ReceiptDet", |
||||
|
mixins: [ |
||||
|
tableMixins, |
||||
|
LoadingMixins, |
||||
|
drawerMixins, |
||||
|
TableHeaderMixins, |
||||
|
mixins, |
||||
|
filterSelectMixins, |
||||
|
newAndEdiDialogMixins |
||||
|
], |
||||
|
data() { |
||||
|
return { |
||||
|
//常用按钮数据 |
||||
|
currenButtonData: [ |
||||
|
this.defaultExportBtn({ |
||||
|
isRedundance:true, |
||||
|
isDetailExport:true |
||||
|
}),//导出 |
||||
|
this.defaultUpReceiptStaManyBtn(),//批量重发 |
||||
|
this.defaultFieldSettingBtn(),//字段设置 |
||||
|
this.defaultFreshBtn(),//刷新 |
||||
|
this.defaultFilterBtn(),//筛选 |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.paging(); |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/styles/basicData.scss"; |
||||
|
</style> |
@ -0,0 +1,106 @@ |
|||||
|
<template> |
||||
|
<div class="page-box" v-loading="Loading.tableLoading"> |
||||
|
<tablePagination |
||||
|
ref="tablePagination_Ref" |
||||
|
v-if="apiColumns_Table" |
||||
|
:currenButtonData="currenButtonData" |
||||
|
:tableData="tableData" |
||||
|
:tableLoading="Loading.tableLoading" |
||||
|
:tableColumns="apiColumns_Table" |
||||
|
@rowDrop="rowDrop" |
||||
|
:totalCount="totalCount" |
||||
|
:multipleSelection="multipleSelection" |
||||
|
:MaxResultCount="PageListParams.MaxResultCount" |
||||
|
@topbutton="topbutton" |
||||
|
@inlineDialog="inlineDialog" |
||||
|
@sortChange="sortChange" |
||||
|
@alertoldSkipCount="alertoldSkipCount" |
||||
|
@alterResultCount="alterResultCount" |
||||
|
@handleSelectionChange="handleSelectionChange" |
||||
|
:currentPageProps="oldSkipCount" |
||||
|
:quicklySearchOption="quicklySearchOption" |
||||
|
@quicklySearchClick="quicklySearchClick" |
||||
|
@quicklySearchClear="quicklySearchClear" |
||||
|
:primarySearchOption="primarySearchOption" |
||||
|
@overallSearchFormClick="overallSearchFormClick" |
||||
|
:httpOverallSearchData="httpOverallSearchData" |
||||
|
:buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" |
||||
|
:tableSelection="true" |
||||
|
:selectionColumnHandle="selectionForUpdateReceiptStatusMany" |
||||
|
></tablePagination> |
||||
|
<!-- :buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" --> |
||||
|
<curren-Drawer |
||||
|
ref="currenDrawer_Ref" |
||||
|
:title="apiColumns_DesTions" |
||||
|
@rowDrop="rowDrop" |
||||
|
:tableColumns="apiColumns_DetailsTable" |
||||
|
:tabsDesTions="apiColumns_DesTions" |
||||
|
:DrawerLoading="Loading.DrawerLoading" |
||||
|
:drawer="displayDialog.detailsDialog" |
||||
|
:propsData="propsData" |
||||
|
:Butttondata="[]" |
||||
|
@drawerShut="(val) => (displayDialog.detailsDialog = val)" |
||||
|
@drawerbutton="drawerbutton" |
||||
|
@handleCommand="drawerHandle" |
||||
|
@close-value="closeValue" |
||||
|
:totalCount="totalCountDetails" |
||||
|
:currentPage="oldSkipCountDetails" |
||||
|
:MaxResultCount="MaxResultCountDetails" |
||||
|
@alterResultCountDetails="alterResultCountDetails" |
||||
|
@alertoldSkipCountDetails="alertoldSkipCountDetails" |
||||
|
:buttonOperationList_left="operationButtonsDetail" |
||||
|
></curren-Drawer> |
||||
|
<!-- 导出弹窗 --> |
||||
|
<exportDrop |
||||
|
v-if="displayDialog.exportDialog" |
||||
|
@closeDialog="closeExportDrop" |
||||
|
@exportDropSubmit="exportDropSubmit" |
||||
|
></exportDrop> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { tableMixins } from "@/mixins/TableMixins"; |
||||
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
||||
|
import { drawerMixins } from "@/mixins/drawerMixins" |
||||
|
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; |
||||
|
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins" |
||||
|
import { mixins } from "@/mixins/mixins"; |
||||
|
import { filterSelectMixins } from '@/mixins/filter-Select' |
||||
|
|
||||
|
|
||||
|
export default { |
||||
|
name: "FromEsb_UnplannedReceipt", |
||||
|
mixins: [ |
||||
|
tableMixins, |
||||
|
LoadingMixins, |
||||
|
drawerMixins, |
||||
|
TableHeaderMixins, |
||||
|
mixins, |
||||
|
filterSelectMixins, |
||||
|
newAndEdiDialogMixins |
||||
|
], |
||||
|
data() { |
||||
|
return { |
||||
|
//常用按钮数据 |
||||
|
currenButtonData: [ |
||||
|
this.defaultExportBtn({ |
||||
|
isRedundance:true, |
||||
|
isDetailExport:true |
||||
|
}),//导出 |
||||
|
this.defaultUpReceiptStaManyBtn(),//批量重发 |
||||
|
this.defaultFieldSettingBtn(),//字段设置 |
||||
|
this.defaultFreshBtn(),//刷新 |
||||
|
this.defaultFilterBtn(),//筛选 |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.paging(); |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/styles/basicData.scss"; |
||||
|
</style> |
@ -0,0 +1,102 @@ |
|||||
|
<template> |
||||
|
<div class="page-box" v-loading="Loading.tableLoading"> |
||||
|
<tablePagination |
||||
|
v-if="apiColumns_Table" |
||||
|
:currenButtonData="currenButtonData" |
||||
|
:tableData="tableData" |
||||
|
:tableLoading="Loading.tableLoading" |
||||
|
:tableColumns="apiColumns_Table" |
||||
|
@rowDrop="rowDrop" |
||||
|
:totalCount="totalCount" |
||||
|
:multipleSelection="multipleSelection" |
||||
|
:MaxResultCount="PageListParams.MaxResultCount" |
||||
|
@topbutton="topbutton" |
||||
|
@inlineDialog="inlineDialog" |
||||
|
@sortChange="sortChange" |
||||
|
@alertoldSkipCount="alertoldSkipCount" |
||||
|
@alterResultCount="alterResultCount" |
||||
|
@handleSelectionChange="handleSelectionChange" |
||||
|
:currentPageProps="oldSkipCount" |
||||
|
:quicklySearchOption="quicklySearchOption" |
||||
|
@quicklySearchClick="quicklySearchClick" |
||||
|
@quicklySearchClear="quicklySearchClear" |
||||
|
:primarySearchOption="primarySearchOption" |
||||
|
@overallSearchFormClick="overallSearchFormClick" |
||||
|
:httpOverallSearchData="httpOverallSearchData" |
||||
|
:buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" |
||||
|
></tablePagination> |
||||
|
<!-- :buttonOperationList_left="buttonOperationClick_leftBase" |
||||
|
@buttonOperationClick_left="buttonOperationClick_left" --> |
||||
|
<curren-Drawer |
||||
|
ref="currenDrawer_Ref" |
||||
|
:title="apiColumns_DesTions" |
||||
|
@rowDrop="rowDrop" |
||||
|
:tableColumns="apiColumns_DetailsTable" |
||||
|
:tabsDesTions="apiColumns_DesTions" |
||||
|
:DrawerLoading="Loading.DrawerLoading" |
||||
|
:drawer="displayDialog.detailsDialog" |
||||
|
:propsData="propsData" |
||||
|
:Butttondata="[]" |
||||
|
@drawerShut="(val) => (displayDialog.detailsDialog = val)" |
||||
|
@drawerbutton="drawerbutton" |
||||
|
@handleCommand="drawerHandle" |
||||
|
@close-value="closeValue" |
||||
|
:totalCount="totalCountDetails" |
||||
|
:currentPage="oldSkipCountDetails" |
||||
|
:MaxResultCount="MaxResultCountDetails" |
||||
|
@alterResultCountDetails="alterResultCountDetails" |
||||
|
@alertoldSkipCountDetails="alertoldSkipCountDetails" |
||||
|
:buttonOperationList_left="operationButtonsDetail" |
||||
|
></curren-Drawer> |
||||
|
<!-- 导出弹窗 --> |
||||
|
<exportDrop |
||||
|
v-if="displayDialog.exportDialog" |
||||
|
@closeDialog="closeExportDrop" |
||||
|
@exportDropSubmit="exportDropSubmit" |
||||
|
></exportDrop> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { tableMixins } from "@/mixins/TableMixins"; |
||||
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
||||
|
import { drawerMixins } from "@/mixins/drawerMixins" |
||||
|
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; |
||||
|
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins" |
||||
|
import { mixins } from "@/mixins/mixins"; |
||||
|
import { filterSelectMixins } from '@/mixins/filter-Select' |
||||
|
|
||||
|
|
||||
|
export default { |
||||
|
name: "ToScp_UnplannedReceipt", |
||||
|
mixins: [ |
||||
|
tableMixins, |
||||
|
LoadingMixins, |
||||
|
drawerMixins, |
||||
|
TableHeaderMixins, |
||||
|
mixins, |
||||
|
filterSelectMixins, |
||||
|
newAndEdiDialogMixins |
||||
|
], |
||||
|
data() { |
||||
|
return { |
||||
|
//常用按钮数据 |
||||
|
currenButtonData: [ |
||||
|
this.defaultExportBtn({ |
||||
|
isRedundance:true, |
||||
|
isDetailExport:true |
||||
|
}),//导出 |
||||
|
this.defaultFieldSettingBtn(),//字段设置 |
||||
|
this.defaultFreshBtn(),//刷新 |
||||
|
this.defaultFilterBtn(),//筛选 |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.paging(); |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/styles/basicData.scss"; |
||||
|
</style> |
Loading…
Reference in new issue