From 5f969cfa38009cb7444175c90fc354d5fe68593e Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 07 十一月 2025 16:59:38 +0800
Subject: [PATCH] #
---
src/main/webapp/views/erpWwreport/wwreport.html | 4
src/main/webapp/views/erpBegindata/confirmedBegindata.html | 475 +++++++++++++++++++
src/main/webapp/views/erpIcmo/icmo.html | 487 ++++++++++++++++++++
src/main/webapp/views/erpBegindata/begindata.html | 438 ++++++++++++++++++
4 files changed, 1,402 insertions(+), 2 deletions(-)
diff --git a/src/main/webapp/views/erpBegindata/begindata.html b/src/main/webapp/views/erpBegindata/begindata.html
new file mode 100644
index 0000000..29fc84d
--- /dev/null
+++ b/src/main/webapp/views/erpBegindata/begindata.html
@@ -0,0 +1,438 @@
+<!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="鐗╂枡浠g爜" >
+ <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>
\ No newline at end of file
diff --git a/src/main/webapp/views/erpBegindata/confirmedBegindata.html b/src/main/webapp/views/erpBegindata/confirmedBegindata.html
new file mode 100644
index 0000000..dbe1fe0
--- /dev/null
+++ b/src/main/webapp/views/erpBegindata/confirmedBegindata.html
@@ -0,0 +1,475 @@
+<!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="鐗╂枡浠g爜" >
+ <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>
\ No newline at end of file
diff --git a/src/main/webapp/views/erpIcmo/icmo.html b/src/main/webapp/views/erpIcmo/icmo.html
new file mode 100644
index 0000000..0dd0196
--- /dev/null
+++ b/src/main/webapp/views/erpIcmo/icmo.html
@@ -0,0 +1,487 @@
+<!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="鐗╂枡浠g爜" >
+ <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>
\ No newline at end of file
diff --git a/src/main/webapp/views/erpWwreport/wwreport.html b/src/main/webapp/views/erpWwreport/wwreport.html
index 8d08d4c..980f5d1 100644
--- a/src/main/webapp/views/erpWwreport/wwreport.html
+++ b/src/main/webapp/views/erpWwreport/wwreport.html
@@ -247,7 +247,7 @@
}
function export1(){
- ElementPlus.ElMessageBox.confirm('纭畾鎵撳嵃鍚�?')
+ ElementPlus.ElMessageBox.confirm('纭畾瀵煎嚭鍚�?')
.then(() => {
const loading = ElementPlus.ElLoading.service({
lock: true,
@@ -320,7 +320,7 @@
return ;
}
let data = JSON.parse(JSON.stringify(tableSearchParam.value))
- ElementPlus.ElMessageBox.confirm('纭畾鎵撳嵃鍚�?')
+ ElementPlus.ElMessageBox.confirm('纭畾瀵煎嚭鍚�?')
.then(() => {
const loading = ElementPlus.ElLoading.service({
lock: true,
--
Gitblit v1.9.1