| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/evn/index.css"> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="app"> |
| | | <el-card> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="开工日期"> |
| | | <el-date-picker |
| | | v-model="tableSearchParam.vouchDate" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称"> |
| | | <el-input v-model="tableSearchParam.invName" placeholder="请输入物料名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商"> |
| | | <el-select v-model="tableSearchParam.venId" placeholder="选择供应商" style="width: 240px" > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="search" circle > |
| | | <el-icon><Search /></el-icon> |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :inline="true"> |
| | | <el-form-item label=""> |
| | | <el-upload |
| | | action="http://127.0.0.1:9090/basicinfo/begindata/readExcel" |
| | | :show-file-list="false" |
| | | > |
| | | <el-button type="primary">导入</el-button> |
| | | |
| | | </el-upload> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="export1">导出</el-button> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="danger" @click="selectDelete">删除</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="tableData" border style="width: 100%" row-key="id" @selection-change="handleSelectionChange" max-height="630" @cell-dblclick="dblclick"> |
| | | <el-table-column type="selection" > |
| | | </el-table-column> |
| | | <el-table-column type="index" width="50" > |
| | | </el-table-column> |
| | | <el-table-column prop="vouchDate" label="日期" > |
| | | </el-table-column> |
| | | <el-table-column prop="venCode" label="加工商编码" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="venName" label="加工商名称" width="300" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invCode" label="物料编码" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invName" label="物料名称" width="200" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invStd" label="物料规格"> |
| | | </el-table-column> |
| | | <el-table-column prop="qty" label="期初数量"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 10px"> |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> |
| | | </el-pagination> |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" fullscreen> |
| | | <el-form :inline="true" label-width="auto"> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="save">保存</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :model="formData" label-width="auto" style="max-width: 600px"> |
| | | <el-form-item label="日期" > |
| | | <el-input v-model="formData.vouchDate" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商编码" > |
| | | <el-input v-model="formData.venCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商名称" > |
| | | <el-input v-model="formData.venName" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料代码" > |
| | | <el-input v-model="formData.invCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称" > |
| | | <el-input v-model="formData.invName" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料规格" > |
| | | <el-input v-model="formData.invStd" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="期初数量" required> |
| | | <el-input v-model="formData.qty" type="number"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">关闭</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | </el-card> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script src="../../static/evn/vue.global.js"></script> |
| | | <script src="../../static/evn/element-plus.js"></script> |
| | | <script src="../../static/evn/icons-vue.js"></script> |
| | | <script type="module"> |
| | | // 导入中文语言包 |
| | | import zhCn from '../../static/js/erp/zh-cn.js'; |
| | | |
| | | const { createApp, ref, onMounted,onBeforeMount } = Vue; |
| | | |
| | | |
| | | const app = createApp({ |
| | | setup() { |
| | | const currentPage = ref(1) |
| | | const pageSizes = ref([500,1000, 1500]) |
| | | const pageSize = ref(500) |
| | | const pageTotal = ref(0) |
| | | const tableSearchParam = ref({ |
| | | venId: null, |
| | | vouchDate: null, |
| | | invName:null |
| | | }) |
| | | const tableData = ref([]) |
| | | |
| | | const selectList = ref([]) |
| | | |
| | | const options = ref([]) |
| | | |
| | | const dialogVisible = ref(false) |
| | | const formData = ref({}) |
| | | |
| | | function search(){ |
| | | currentPage.value = 1 |
| | | page() |
| | | } |
| | | |
| | | function page(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | data.curr = currentPage.value |
| | | data.limit = pageSize.value |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/begindata/getList", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: data, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | tableData.value = res.data.records |
| | | pageTotal.value = res.data.total |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | loading.close() |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function selectDelete(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | ElementPlus.ElMessageBox.confirm('确定删除吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/basicinfo/begindata/softDelete", |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "删除成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function save(){ |
| | | ElementPlus.ElMessageBox.confirm('确定保存吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/basicinfo/begindata/saveorupdate", |
| | | data: JSON.stringify(formData.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "保存成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function export1(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | ElementPlus.ElMessageBox.confirm('确定导出吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/begindata/export", |
| | | data: data, |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | xhrFields: { |
| | | responseType: 'blob' // 重要:指定响应类型 |
| | | }, |
| | | success: function(data, status, xhr) { |
| | | // 获取文件名 |
| | | let fileName = '委外期初表.xls'; |
| | | const contentDisposition = xhr.getResponseHeader('Content-Disposition'); |
| | | if (contentDisposition) { |
| | | const fileNameMatch = contentDisposition.match(/filename="?(.+)"?/); |
| | | if (fileNameMatch && fileNameMatch[1]) { |
| | | fileName = fileNameMatch[1]; |
| | | } |
| | | } |
| | | |
| | | // 创建 Blob 对象并下载 |
| | | const blob = new Blob([data], { type: 'application/vnd.ms-excel' }); |
| | | const url = window.URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = fileName; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | window.URL.revokeObjectURL(url); |
| | | |
| | | ElementPlus.ElMessage({ |
| | | message: "导出成功", |
| | | type: 'success' |
| | | }); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | console.error('导出失败:', error); |
| | | ElementPlus.ElMessage({ |
| | | message: "导出失败", |
| | | type: 'error' |
| | | }); |
| | | }, |
| | | complete: function (xhr, status){ |
| | | loading.close() |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | // catch error |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | function getVendor(){ |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/vendor/getlistfordropdown", |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | res.data.map(item => { |
| | | options.value.push({ |
| | | value: item.venId, label: item.venName |
| | | }) |
| | | }) |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function dblclick(val){ |
| | | formData.value = JSON.parse(JSON.stringify(val)) ; |
| | | dialogVisible.value = true |
| | | } |
| | | |
| | | |
| | | |
| | | function handleSizeChange(val) { |
| | | pageSize.value = val |
| | | currentPage.value = 1 // 重置到第一页 |
| | | page() |
| | | } |
| | | |
| | | function handleCurrentChange(val) { |
| | | currentPage.value = val |
| | | page() |
| | | } |
| | | function handleSelectionChange(val) { |
| | | selectList.value = val |
| | | } |
| | | |
| | | onMounted(() => { |
| | | page() |
| | | }) |
| | | |
| | | onBeforeMount(() => { |
| | | getVendor() |
| | | |
| | | }) |
| | | |
| | | return { |
| | | tableData, |
| | | currentPage, |
| | | pageSizes, |
| | | pageSize, |
| | | pageTotal, |
| | | tableSearchParam, |
| | | options, |
| | | dialogVisible, |
| | | formData, |
| | | search, |
| | | page, |
| | | save, |
| | | export1, |
| | | dblclick, |
| | | selectDelete, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | handleSelectionChange |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | app.use(ElementPlus, { |
| | | locale: zhCn.default || zhCn |
| | | }); |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | app.component(key, component) |
| | | } |
| | | app.mount('#app'); |
| | | </script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/evn/index.css"> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="app"> |
| | | <el-card> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="开工日期"> |
| | | <el-date-picker |
| | | v-model="tableSearchParam.vouchDate" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称"> |
| | | <el-input v-model="tableSearchParam.invName" placeholder="请输入物料名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商"> |
| | | <el-select v-model="tableSearchParam.venId" placeholder="选择供应商" style="width: 240px" > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="search" circle > |
| | | <el-icon><Search /></el-icon> |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :inline="true"> |
| | | <el-form-item label=""> |
| | | <el-button type="danger" @click="selectDelete">删除</el-button> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="tongbu">同步期初</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="tableData" border style="width: 100%" row-key="id" @selection-change="handleSelectionChange" max-height="630" @cell-dblclick="dblclick"> |
| | | <el-table-column type="selection" > |
| | | </el-table-column> |
| | | <el-table-column type="index" width="50" > |
| | | </el-table-column> |
| | | <el-table-column prop="vouchDate" label="日期" > |
| | | </el-table-column> |
| | | <el-table-column prop="venCode" label="加工商编码" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="venName" label="加工商名称" width="300" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invCode" label="物料编码" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invName" label="物料名称" width="200" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invStd" label="物料规格"> |
| | | </el-table-column> |
| | | <el-table-column prop="qty" label="期初数量"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 10px"> |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> |
| | | </el-pagination> |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" fullscreen> |
| | | <el-form :inline="true" label-width="auto"> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="save">保存</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :model="formData" label-width="auto" style="max-width: 600px"> |
| | | <el-form-item label="日期" > |
| | | <el-input v-model="formData.vouchDate" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商编码" > |
| | | <el-input v-model="formData.venCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="供应商名称" > |
| | | <el-input v-model="formData.venName" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料代码" > |
| | | <el-input v-model="formData.invCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称" > |
| | | <el-input v-model="formData.invName" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料规格" > |
| | | <el-input v-model="formData.invStd" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="期初数量" required> |
| | | <el-input v-model="formData.qty" type="number"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">关闭</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | </el-card> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script src="../../static/evn/vue.global.js"></script> |
| | | <script src="../../static/evn/element-plus.js"></script> |
| | | <script src="../../static/evn/icons-vue.js"></script> |
| | | <script type="module"> |
| | | // 导入中文语言包 |
| | | import zhCn from '../../static/js/erp/zh-cn.js'; |
| | | |
| | | const { createApp, ref, onMounted,onBeforeMount } = Vue; |
| | | |
| | | |
| | | const app = createApp({ |
| | | setup() { |
| | | const currentPage = ref(1) |
| | | const pageSizes = ref([500,1000, 1500]) |
| | | const pageSize = ref(500) |
| | | const pageTotal = ref(0) |
| | | const tableSearchParam = ref({ |
| | | venId: null, |
| | | vouchDate: null, |
| | | invName:null |
| | | }) |
| | | const tableData = ref([]) |
| | | |
| | | const selectList = ref([]) |
| | | |
| | | const options = ref([]) |
| | | |
| | | const dialogVisible = ref(false) |
| | | const formData = ref({}) |
| | | |
| | | function search(){ |
| | | currentPage.value = 1 |
| | | page() |
| | | } |
| | | |
| | | function page(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | data.curr = currentPage.value |
| | | data.limit = pageSize.value |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/begindata/getList1", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: data, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | tableData.value = res.data.records |
| | | pageTotal.value = res.data.total |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | loading.close() |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function selectDelete(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | ElementPlus.ElMessageBox.confirm('确定删除吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/basicinfo/begindata/softDelete", |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "删除成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function tongbu(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | ElementPlus.ElMessageBox.confirm('确定同步吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/basicinfo/begindata/tongbu", |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "同步成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function save(){ |
| | | ElementPlus.ElMessageBox.confirm('确定保存吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/basicinfo/begindata/saveorupdate", |
| | | data: JSON.stringify(formData.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "保存成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function export1(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | ElementPlus.ElMessageBox.confirm('确定导出吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/begindata/export", |
| | | data: data, |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | xhrFields: { |
| | | responseType: 'blob' // 重要:指定响应类型 |
| | | }, |
| | | success: function(data, status, xhr) { |
| | | // 获取文件名 |
| | | let fileName = '委外期初表.xls'; |
| | | const contentDisposition = xhr.getResponseHeader('Content-Disposition'); |
| | | if (contentDisposition) { |
| | | const fileNameMatch = contentDisposition.match(/filename="?(.+)"?/); |
| | | if (fileNameMatch && fileNameMatch[1]) { |
| | | fileName = fileNameMatch[1]; |
| | | } |
| | | } |
| | | |
| | | // 创建 Blob 对象并下载 |
| | | const blob = new Blob([data], { type: 'application/vnd.ms-excel' }); |
| | | const url = window.URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = fileName; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | window.URL.revokeObjectURL(url); |
| | | |
| | | ElementPlus.ElMessage({ |
| | | message: "导出成功", |
| | | type: 'success' |
| | | }); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | console.error('导出失败:', error); |
| | | ElementPlus.ElMessage({ |
| | | message: "导出失败", |
| | | type: 'error' |
| | | }); |
| | | }, |
| | | complete: function (xhr, status){ |
| | | loading.close() |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | // catch error |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | function getVendor(){ |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/vendor/getlistfordropdown", |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | res.data.map(item => { |
| | | options.value.push({ |
| | | value: item.venId, label: item.venName |
| | | }) |
| | | }) |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function dblclick(val){ |
| | | formData.value = JSON.parse(JSON.stringify(val)) ; |
| | | dialogVisible.value = true |
| | | } |
| | | |
| | | |
| | | |
| | | function handleSizeChange(val) { |
| | | pageSize.value = val |
| | | currentPage.value = 1 // 重置到第一页 |
| | | page() |
| | | } |
| | | |
| | | function handleCurrentChange(val) { |
| | | currentPage.value = val |
| | | page() |
| | | } |
| | | function handleSelectionChange(val) { |
| | | selectList.value = val |
| | | } |
| | | |
| | | onMounted(() => { |
| | | page() |
| | | }) |
| | | |
| | | onBeforeMount(() => { |
| | | getVendor() |
| | | |
| | | }) |
| | | |
| | | return { |
| | | tableData, |
| | | currentPage, |
| | | pageSizes, |
| | | pageSize, |
| | | pageTotal, |
| | | tableSearchParam, |
| | | options, |
| | | dialogVisible, |
| | | formData, |
| | | search, |
| | | page, |
| | | save, |
| | | tongbu, |
| | | export1, |
| | | dblclick, |
| | | selectDelete, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | handleSelectionChange |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | app.use(ElementPlus, { |
| | | locale: zhCn.default || zhCn |
| | | }); |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | app.component(key, component) |
| | | } |
| | | app.mount('#app'); |
| | | </script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/evn/index.css"> |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="app"> |
| | | <el-card> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="开工日期"> |
| | | <el-date-picker |
| | | v-model="tableSearchParam.fplancommitdate" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="单据号"> |
| | | <el-input v-model="tableSearchParam.fbillno" placeholder="请输入单据号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="生产单号"> |
| | | <el-input v-model="tableSearchParam.soCode" placeholder="请输入生产单号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车间"> |
| | | <el-select v-model="tableSearchParam.depName" placeholder="选择车间" style="width: 240px" > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="search" circle > |
| | | <el-icon><Search /></el-icon> |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :inline="true"> |
| | | <el-form-item label=""> |
| | | <el-button type="danger" @click="selectDelete">删除</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" max-height="620" @cell-dblclick="dblclick"> |
| | | <el-table-column type="selection" > |
| | | </el-table-column> |
| | | <el-table-column type="index" width="40" > |
| | | </el-table-column> |
| | | <el-table-column prop="soCode" label="生产单号" > |
| | | </el-table-column> |
| | | <el-table-column prop="fbillno" label="任务单号" > |
| | | </el-table-column> |
| | | <el-table-column prop="invCode" label="物料编码" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invName" label="物料名称" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="invStd" label="物料规格" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="depName" label="车间"> |
| | | </el-table-column> |
| | | <el-table-column prop="fqty" label="数量"> |
| | | </el-table-column> |
| | | <el-table-column prop="fplancommitdate" label="计划开工日期"> |
| | | </el-table-column> |
| | | <el-table-column prop="fplanfinishdate" label="计划完工日期"> |
| | | </el-table-column> |
| | | <el-table-column prop="izSyncReceive" label="是否同步" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="izSyncReceiveReturn" label="是否退料" width="120"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 10px"> |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> |
| | | </el-pagination> |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" fullscreen> |
| | | <el-form :inline="true" label-width="auto"> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="save">保存</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :model="formData" label-width="auto" style="max-width: 600px"> |
| | | <el-form-item label="单据号" > |
| | | <el-input v-model="formData.fbillno" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="制单日期" > |
| | | <el-input v-model="formData.fcheckdate" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="销售单号" > |
| | | <el-input v-model="formData.soCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料代码" > |
| | | <el-input v-model="formData.invCode" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称" > |
| | | <el-input v-model="formData.invName" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="物料规格" > |
| | | <el-input v-model="formData.invStd" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="数量" required> |
| | | <el-input v-model="formData.fqty" type="number"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="开工日期" required> |
| | | <el-date-picker |
| | | v-model="formData.fplancommitdate" |
| | | type="date" |
| | | placeholder="选择开工日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="完工日期" required> |
| | | <el-date-picker |
| | | v-model="formData.fplanfinishdate" |
| | | type="date" |
| | | placeholder="选择完工日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="车间" required> |
| | | <el-select v-model="formData.fworkshop" placeholder="选择车间" style="width: 240px" > |
| | | <el-option |
| | | v-for="item in depOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">关闭</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | </el-card> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script src="../../static/evn/vue.global.js"></script> |
| | | <script src="../../static/evn/element-plus.js"></script> |
| | | <script src="../../static/evn/icons-vue.js"></script> |
| | | <script type="module"> |
| | | // 导入中文语言包 |
| | | import zhCn from '../../static/js/erp/zh-cn.js'; |
| | | |
| | | const { createApp, ref, onMounted,onBeforeMount } = Vue; |
| | | |
| | | |
| | | const app = createApp({ |
| | | setup() { |
| | | const currentPage = ref(1) |
| | | const pageSizes = ref([100,500,1000, 1500]) |
| | | const pageSize = ref(100) |
| | | const pageTotal = ref(0) |
| | | const tableSearchParam = ref({ |
| | | fplancommitdate: new Date(), |
| | | fbillno: null, |
| | | soCode:null, |
| | | depName:null |
| | | }) |
| | | console.log(tableSearchParam.value.fplancommitdate) |
| | | const tableData = ref([]) |
| | | |
| | | const selectList = ref([]) |
| | | |
| | | const options = ref([ |
| | | { |
| | | value: '南区车间', |
| | | label: '南区车间' |
| | | }, |
| | | { |
| | | value: '北区车间', |
| | | label: '北区车间' |
| | | } |
| | | ]) |
| | | |
| | | const depOptions = ref([ |
| | | ]) |
| | | |
| | | const dialogVisible = ref(false) |
| | | const formData = ref({}) |
| | | |
| | | function search(){ |
| | | currentPage.value = 1 |
| | | page() |
| | | } |
| | | |
| | | function page(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | data.curr = currentPage.value |
| | | data.limit = pageSize.value |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/mo/icmo/getList", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: data, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | tableData.value = res.data.records |
| | | pageTotal.value = res.data.total |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | loading.close() |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function selectDelete(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | ElementPlus.ElMessageBox.confirm('确定删除吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/mo/icmo/softDelete", |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "删除成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function formatLocalDate(date) { |
| | | if (!date) return ''; |
| | | var d = new Date(date); |
| | | var year = d.getFullYear(); |
| | | var month = ('0' + (d.getMonth() + 1)).slice(-2); |
| | | var day = ('0' + d.getDate()).slice(-2); |
| | | var hours = ('0' + d.getHours()).slice(-2); |
| | | var minutes = ('0' + d.getMinutes()).slice(-2); |
| | | var seconds = ('0' + d.getSeconds()).slice(-2); |
| | | return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; |
| | | } |
| | | |
| | | function save(){ |
| | | ElementPlus.ElMessageBox.confirm('确定保存吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | const dataToSend = JSON.parse(JSON.stringify(formData.value)); |
| | | dataToSend.fplancommitdate = formatLocalDate(dataToSend.fplancommitdate); |
| | | dataToSend.fplanfinishdate = formatLocalDate(dataToSend.fplanfinishdate); |
| | | $.ajax({ |
| | | url:"http://127.0.0.1:9090/mo/icmo/saveorupdate", |
| | | data: JSON.stringify(dataToSend), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "保存成功", |
| | | type: 'success' |
| | | }); |
| | | |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | complete: function() { |
| | | page() |
| | | dialogVisible.value = false |
| | | loading.close(); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | } |
| | | |
| | | function export1(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | ElementPlus.ElMessageBox.confirm('确定导出吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/begindata/export", |
| | | data: data, |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | xhrFields: { |
| | | responseType: 'blob' // 重要:指定响应类型 |
| | | }, |
| | | success: function(data, status, xhr) { |
| | | // 获取文件名 |
| | | let fileName = '委外期初表.xls'; |
| | | const contentDisposition = xhr.getResponseHeader('Content-Disposition'); |
| | | if (contentDisposition) { |
| | | const fileNameMatch = contentDisposition.match(/filename="?(.+)"?/); |
| | | if (fileNameMatch && fileNameMatch[1]) { |
| | | fileName = fileNameMatch[1]; |
| | | } |
| | | } |
| | | |
| | | // 创建 Blob 对象并下载 |
| | | const blob = new Blob([data], { type: 'application/vnd.ms-excel' }); |
| | | const url = window.URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = fileName; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | window.URL.revokeObjectURL(url); |
| | | |
| | | ElementPlus.ElMessage({ |
| | | message: "导出成功", |
| | | type: 'success' |
| | | }); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | console.error('导出失败:', error); |
| | | ElementPlus.ElMessage({ |
| | | message: "导出失败", |
| | | type: 'error' |
| | | }); |
| | | }, |
| | | complete: function (xhr, status){ |
| | | loading.close() |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | // catch error |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | function dblclick(val){ |
| | | formData.value = JSON.parse(JSON.stringify(val)); |
| | | dialogVisible.value = true |
| | | } |
| | | |
| | | |
| | | |
| | | function handleSizeChange(val) { |
| | | pageSize.value = val |
| | | currentPage.value = 1 // 重置到第一页 |
| | | page() |
| | | } |
| | | |
| | | function handleCurrentChange(val) { |
| | | currentPage.value = val |
| | | page() |
| | | } |
| | | function handleSelectionChange(val) { |
| | | selectList.value = val |
| | | } |
| | | |
| | | function getDepOptions(){ |
| | | $.ajax({ |
| | | url: "http://127.0.0.1:9090/basicinfo/departmentl/getlistfordropdown", |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | if (res.code == 200) { |
| | | res.data.map(item => { |
| | | depOptions.value.push({ |
| | | value: item.depId, label: item.depName |
| | | }) |
| | | }) |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | onMounted(() => { |
| | | page() |
| | | }) |
| | | onBeforeMount(() => { |
| | | getDepOptions() |
| | | |
| | | }) |
| | | |
| | | return { |
| | | tableData, |
| | | currentPage, |
| | | pageSizes, |
| | | pageSize, |
| | | pageTotal, |
| | | tableSearchParam, |
| | | options, |
| | | depOptions, |
| | | dialogVisible, |
| | | formData, |
| | | search, |
| | | page, |
| | | save, |
| | | export1, |
| | | dblclick, |
| | | selectDelete, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | handleSelectionChange |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | app.use(ElementPlus, { |
| | | locale: zhCn.default || zhCn |
| | | }); |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | app.component(key, component) |
| | | } |
| | | app.mount('#app'); |
| | | </script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | } |
| | | |
| | | function export1(){ |
| | | ElementPlus.ElMessageBox.confirm('确定打印吗?') |
| | | ElementPlus.ElMessageBox.confirm('确定导出吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | |
| | | return ; |
| | | } |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | | ElementPlus.ElMessageBox.confirm('确定打印吗?') |
| | | ElementPlus.ElMessageBox.confirm('确定导出吗?') |
| | | .then(() => { |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |