From d8e56efdca484288eba06d25cf6509d9d514f960 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 10 十一月 2025 16:54:47 +0800
Subject: [PATCH] #
---
src/main/webapp/views/erpIcmo/icmo.html | 2
src/main/webapp/views/erpMaterialwwout/materialwwout.html | 2
src/main/webapp/views/erpOutstock/outstock.html | 577 +++++++++++++++++++++++++++
src/main/webapp/views/erpPoinstock/poinstock.html | 623 +++++++++++++++++++++++++++++
4 files changed, 1,202 insertions(+), 2 deletions(-)
diff --git a/src/main/webapp/views/erpIcmo/icmo.html b/src/main/webapp/views/erpIcmo/icmo.html
index 0dd0196..5914125 100644
--- a/src/main/webapp/views/erpIcmo/icmo.html
+++ b/src/main/webapp/views/erpIcmo/icmo.html
@@ -135,7 +135,7 @@
</el-form-item>
</el-form>
<template #footer>
- <div class="dialog-footer">
+ <div class="dialog-footer" style="text-align: left;">
<el-button @click="dialogVisible = false">鍏抽棴</el-button>
</div>
</template>
diff --git a/src/main/webapp/views/erpMaterialwwout/materialwwout.html b/src/main/webapp/views/erpMaterialwwout/materialwwout.html
index 7ae6e92..b80fd69 100644
--- a/src/main/webapp/views/erpMaterialwwout/materialwwout.html
+++ b/src/main/webapp/views/erpMaterialwwout/materialwwout.html
@@ -171,7 +171,7 @@
</el-table-column>
</el-table>
<template #footer>
- <div class="dialog-footer">
+ <div class="dialog-footer" style="text-align: left;">
<el-button @click="dialogVisible = false">鍏抽棴</el-button>
</div>
</template>
diff --git a/src/main/webapp/views/erpOutstock/outstock.html b/src/main/webapp/views/erpOutstock/outstock.html
new file mode 100644
index 0000000..382b7cc
--- /dev/null
+++ b/src/main/webapp/views/erpOutstock/outstock.html
@@ -0,0 +1,577 @@
+<!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="寮�宸ユ棩鏈�">
+ <div>
+ <el-date-picker
+ v-model="tableSearchParam.dateStart"
+ type="date"
+ placeholder="寮�濮嬫棩鏈�"
+ style="width: 150px;"
+ :default-time="defaultTime"
+ />
+ </div>
+ <div style="margin-left: 5px;margin-right: 5px">
+ <span >-</span>
+ </div>
+ <div>
+ <el-date-picker
+ v-model="tableSearchParam.dateEnd"
+ type="date"
+ placeholder="缁撴潫鏃ユ湡"
+ style="width: 150px;"
+ :default-time="defaultTime"
+ />
+ </div>
+ </el-form-item>
+ <el-form-item label="鍗曟嵁鍙�">
+ <el-input v-model="tableSearchParam.fbillno" placeholder="璇疯緭鍏ュ崟鎹彿" style="width: 150px;"></el-input>
+ </el-form-item>
+ <el-form-item label="鐢熶骇鍗曞彿">
+ <el-input v-model="tableSearchParam.fentryselfp0362" placeholder="璇疯緭鍏ョ敓浜у崟鍙�" style="width: 150px;"></el-input>
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟�">
+ <el-select v-model="tableSearchParam.fsupplyid" placeholder="閫夋嫨渚涘簲鍟�" style="width: 150px" >
+ <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-select v-model="tableSearchParam.bizTypeName" placeholder="閫夋嫨涓氬姟绫诲瀷" style="width: 150px" >
+ <el-option
+ v-for="item in businessOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-select v-model="tableSearchParam.fstatus" placeholder="閫夋嫨鐘舵��" style="width: 150px" >
+ <el-option
+ v-for="item in statusOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐢熶骇閮ㄩ棬">
+ <el-select v-model="tableSearchParam.fheadselfp0339" placeholder="閫夋嫨鐢熶骇閮ㄩ棬" style="width: 150px" >
+ <el-option
+ v-for="item in depOptions"
+ :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>
+ <el-table size="small" :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="55" >
+ </el-table-column>
+ <el-table-column prop="fbillno" label="鍗曟嵁缂栧彿" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="fdate" label="鏃ユ湡">
+ </el-table-column>
+ <el-table-column prop="venName" label="渚涘簲鍟�" width="100" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="bizTypeName" label="涓氬姟绫诲瀷" >
+ </el-table-column>
+ <el-table-column prop="invCode" label="鐗╂枡缂栫爜" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="invName" label="鐗╂枡鍚嶇О" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="fqty" label="鏁伴噺">
+ </el-table-column>
+ <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�">
+ </el-table-column>
+ <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fheadselfp0339" label="鐢熶骇閮ㄩ棬">
+ </el-table-column>
+ <el-table-column prop="fheadselfp0338" 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 :inline="true" :model="formData" label-width="auto">
+ <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.fdate" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="涓氬姟绫诲瀷" >
+ <el-input v-model="formData.bizTypeName" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟�" required>
+ <el-select v-model="formData.fsupplyid" 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="浜よ揣鏃ユ湡" required>
+ <el-date-picker
+ v-model="formData.fheadselfp0338"
+ type="date"
+ placeholder="閫夋嫨浜よ揣鏃ユ湡"
+ />
+ </el-form-item>
+ <el-form-item label="鐢熶骇杞﹂棿" >
+ <el-input v-model="formData.fheadselfp0339" disabled></el-input>
+ </el-form-item>
+ </el-form>
+ <el-form :inline="true" label-width="auto">
+ <el-form-item label="">
+ <el-button type="danger" @click="selectDeleteDialog">鍒犺</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table :data="tableDataDialog" border style="width: 100%" row-key="id" @selection-change="handleSelectionChangeDialog" max-height="650">
+ <el-table-column type="selection" >
+ </el-table-column>
+ <el-table-column type="index" width="50" >
+ </el-table-column>
+ <el-table-column prop="invCode" label="鐗╂枡缂栫爜" >
+ </el-table-column>
+ <el-table-column prop="invName" label="鐗╂枡鍚嶇О">
+ </el-table-column>
+ <el-table-column prop="invStd" label="鐗╂枡瑙勬牸">
+ </el-table-column>
+ <el-table-column prop="fqty" label="鏁伴噺">
+ <template #default="scope">
+ <el-input v-model="scope.row.fqty"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�">
+ </el-table-column>
+ <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿">
+ </el-table-column>
+ </el-table>
+ <template #footer>
+ <div class="dialog-footer" style="text-align: left;">
+ <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({
+ dateStart:null,
+ dateEnd: null,
+ // dateStart:new Date(),
+ // dateEnd: new Date(),
+ fbillno: null,
+ fsupplyid:null,
+ bizTypeName:null,
+ fstatus:'0',
+ fheadselfp0339:null,
+ fentryselfp0362:null
+ })
+ const tableData = ref([])
+
+ const tableDataDialog = ref([])
+
+ const selectList = ref([])
+
+ const selectListDialog = ref([])
+
+ const options = ref([
+ ])
+
+ const depOptions = ref([
+ {
+ value: '鍗楀尯杞﹂棿',
+ label: '鍗楀尯杞﹂棿'
+ },
+ {
+ value: '鍖楀尯杞﹂棿',
+ label: '鍖楀尯杞﹂棿'
+ }
+ ])
+ const businessOptions = [
+ {
+ value: '璁㈠崟濮斿',
+ label: '璁㈠崟濮斿'
+ },
+ {
+ value: '澶栬喘鍏ュ簱',
+ label: '澶栬喘鍏ュ簱'
+ }
+ ]
+
+ const statusOptions = [
+ {
+ value: '0',
+ label: '鏈鏍�',
+ check: true
+ },
+ {
+ value: '2',
+ label: '宸插鏍告湭鍏抽棴'
+ }
+ ]
+
+ 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/poinstock/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/poinstock/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);
+ // 鐩存帴杩斿洖鏍囧噯ISO 8601鏍煎紡 (UTF-8鍏煎)
+ return d.toISOString();
+ }
+
+ function save(){
+ ElementPlus.ElMessageBox.confirm('纭畾淇濆瓨鍚�?')
+ .then(() => {
+ const loading = ElementPlus.ElLoading.service({
+ lock: true,
+ text: 'Loading',
+ background: 'rgba(0, 0, 0, 0.7)',
+ })
+ const poInStockDTO = JSON.parse(JSON.stringify(formData.value));
+ const poInStockDTOS = JSON.parse(JSON.stringify(tableDataDialog.value));
+
+ poInStockDTO.fheadselfp0338 = formatLocalDate(poInStockDTO.fheadselfp0338);
+ $.ajax({
+ url:"http://127.0.0.1:9090/mo/poinstock/saveorupdate",
+ data: JSON.stringify({
+ poInStockDTO : poInStockDTO,
+ poInStockDTOS: poInStockDTOS
+ }),
+ 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 handleSelectionChangeDialog(val) {
+ selectListDialog.value = val
+ console.log(selectListDialog.value);
+
+ }
+
+ function dblclick(val){
+ formData.value = JSON.parse(JSON.stringify(val));
+ getListByID(formData.value);
+ dialogVisible.value = true
+ }
+
+ function selectDeleteDialog(){
+ if (selectListDialog.value.length === 0) {
+ ElementPlus.ElMessage({
+ message: '璇烽�夋嫨瑕佸垹闄ょ殑琛�',
+ type: 'warning'
+ });
+ return;
+ }
+ //鍦╯electListDialog涓垹闄ら�変腑鐨勮
+ selectListDialog.value.forEach((item, index) => {
+ tableDataDialog.value.forEach((row, i) => {
+ if (row.id === item.id) {
+ tableDataDialog.value.splice(i, 1);
+ }
+ });
+ });
+
+ }
+
+ function getListByID(row){
+ 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/poinstock/getbyid",
+ data: JSON.stringify(row),
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function(res) {
+ if (res.code == 200) {
+
+ tableDataDialog.value = res.data;
+
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ ElementPlus.ElMessage({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ },
+ complete: function() {
+ loading.close();
+ }
+ });
+ }
+
+ function handleSizeChange(val) {
+ pageSize.value = val
+ currentPage.value = 1 // 閲嶇疆鍒扮涓�椤�
+ page()
+ }
+
+ function handleCurrentChange(val) {
+ currentPage.value = val
+ page()
+ }
+ function handleSelectionChange(val) {
+ selectList.value = val
+ }
+
+
+ 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'
+ });
+ }
+ }
+ });
+ }
+
+ onMounted(() => {
+ page()
+ })
+ onBeforeMount(() => {
+ getVendor()
+
+ })
+
+ return {
+ tableData,
+ currentPage,
+ pageSizes,
+ pageSize,
+ pageTotal,
+ tableSearchParam,
+ options,
+ depOptions,
+ businessOptions,
+ statusOptions,
+ dialogVisible,
+ formData,
+ tableDataDialog,
+ selectListDialog,
+ search,
+ page,
+ save,
+ dblclick,
+ selectDelete,
+ handleSizeChange,
+ handleCurrentChange,
+ handleSelectionChange,
+ selectDeleteDialog,
+ handleSelectionChangeDialog,
+
+ }
+ }
+ });
+
+ 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/erpPoinstock/poinstock.html b/src/main/webapp/views/erpPoinstock/poinstock.html
new file mode 100644
index 0000000..d3ca498
--- /dev/null
+++ b/src/main/webapp/views/erpPoinstock/poinstock.html
@@ -0,0 +1,623 @@
+<!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="寮�宸ユ棩鏈�">
+ <div>
+ <el-date-picker
+ v-model="tableSearchParam.dateStart"
+ type="date"
+ placeholder="寮�濮嬫棩鏈�"
+ style="width: 150px;"
+ :default-time="defaultTime"
+ />
+ </div>
+ <div style="margin-left: 5px;margin-right: 5px">
+ <span >-</span>
+ </div>
+ <div>
+ <el-date-picker
+ v-model="tableSearchParam.dateEnd"
+ type="date"
+ placeholder="缁撴潫鏃ユ湡"
+ style="width: 150px;"
+ :default-time="defaultTime"
+ />
+ </div>
+ </el-form-item>
+ <el-form-item label="鍗曟嵁鍙�">
+ <el-input v-model="tableSearchParam.fbillno" placeholder="璇疯緭鍏ュ崟鎹彿" style="width: 150px;"></el-input>
+ </el-form-item>
+ <el-form-item label="鐢熶骇鍗曞彿">
+ <el-input v-model="tableSearchParam.fentryselfp0362" placeholder="璇疯緭鍏ョ敓浜у崟鍙�" style="width: 150px;"></el-input>
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟�">
+ <el-select v-model="tableSearchParam.fsupplyid" placeholder="閫夋嫨渚涘簲鍟�" style="width: 150px" >
+ <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-select v-model="tableSearchParam.bizTypeName" placeholder="閫夋嫨涓氬姟绫诲瀷" style="width: 150px" >
+ <el-option
+ v-for="item in businessOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-select v-model="tableSearchParam.fstatus" placeholder="閫夋嫨鐘舵��" style="width: 150px" >
+ <el-option
+ v-for="item in statusOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐢熶骇閮ㄩ棬">
+ <el-select v-model="tableSearchParam.fheadselfp0339" placeholder="閫夋嫨鐢熶骇閮ㄩ棬" style="width: 150px" >
+ <el-option
+ v-for="item in depOptions"
+ :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="danger" @click="selectClose">鍏抽棴</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table size="small" :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="55" >
+ </el-table-column>
+ <el-table-column prop="fbillno" label="鍗曟嵁缂栧彿" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="fdate" label="鏃ユ湡">
+ </el-table-column>
+ <el-table-column prop="venName" label="渚涘簲鍟�" width="100" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="bizTypeName" label="涓氬姟绫诲瀷" >
+ </el-table-column>
+ <el-table-column prop="invCode" label="鐗╂枡缂栫爜" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="invName" label="鐗╂枡鍚嶇О" width="150" :show-overflow-tooltip="true">
+ </el-table-column>
+ <el-table-column prop="fqty" label="鏁伴噺">
+ </el-table-column>
+ <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�">
+ </el-table-column>
+ <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fheadselfp0339" label="鐢熶骇閮ㄩ棬">
+ </el-table-column>
+ <el-table-column prop="fheadselfp0338" 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 :inline="true" :model="formData" label-width="auto">
+ <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.fdate" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="涓氬姟绫诲瀷" >
+ <el-input v-model="formData.bizTypeName" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟�" required>
+ <el-select v-model="formData.fsupplyid" 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="浜よ揣鏃ユ湡" required>
+ <el-date-picker
+ v-model="formData.fheadselfp0338"
+ type="date"
+ placeholder="閫夋嫨浜よ揣鏃ユ湡"
+ />
+ </el-form-item>
+ <el-form-item label="鐢熶骇杞﹂棿" >
+ <el-input v-model="formData.fheadselfp0339" disabled></el-input>
+ </el-form-item>
+ </el-form>
+ <el-form :inline="true" label-width="auto">
+ <el-form-item label="">
+ <el-button type="danger" @click="selectDeleteDialog">鍒犺</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table :data="tableDataDialog" border style="width: 100%" row-key="id" @selection-change="handleSelectionChangeDialog" max-height="650">
+ <el-table-column type="selection" >
+ </el-table-column>
+ <el-table-column type="index" width="50" >
+ </el-table-column>
+ <el-table-column prop="invCode" label="鐗╂枡缂栫爜" >
+ </el-table-column>
+ <el-table-column prop="invName" label="鐗╂枡鍚嶇О">
+ </el-table-column>
+ <el-table-column prop="invStd" label="鐗╂枡瑙勬牸">
+ </el-table-column>
+ <el-table-column prop="fqty" label="鏁伴噺">
+ <template #default="scope">
+ <el-input v-model="scope.row.fqty"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�">
+ </el-table-column>
+ <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿">
+ </el-table-column>
+ <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿">
+ </el-table-column>
+ </el-table>
+ <template #footer>
+ <div class="dialog-footer" style="text-align: left;">
+ <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({
+ dateStart:null,
+ dateEnd: null,
+ // dateStart:new Date(),
+ // dateEnd: new Date(),
+ fbillno: null,
+ fsupplyid:null,
+ bizTypeName:null,
+ fstatus:'0',
+ fheadselfp0339:null,
+ fentryselfp0362:null
+ })
+ const tableData = ref([])
+
+ const tableDataDialog = ref([])
+
+ const selectList = ref([])
+
+ const selectListDialog = ref([])
+
+ const options = ref([
+ ])
+
+ const depOptions = ref([
+ {
+ value: '鍗楀尯杞﹂棿',
+ label: '鍗楀尯杞﹂棿'
+ },
+ {
+ value: '鍖楀尯杞﹂棿',
+ label: '鍖楀尯杞﹂棿'
+ }
+ ])
+ const businessOptions = [
+ {
+ value: '璁㈠崟濮斿',
+ label: '璁㈠崟濮斿'
+ },
+ {
+ value: '澶栬喘鍏ュ簱',
+ label: '澶栬喘鍏ュ簱'
+ }
+ ]
+
+ const statusOptions = [
+ {
+ value: '0',
+ label: '鏈鏍�',
+ check: true
+ },
+ {
+ value: '2',
+ label: '宸插鏍告湭鍏抽棴'
+ }
+ ]
+
+ 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/poinstock/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/poinstock/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);
+ // 鐩存帴杩斿洖鏍囧噯ISO 8601鏍煎紡 (UTF-8鍏煎)
+ return d.toISOString();
+ }
+
+ function save(){
+ ElementPlus.ElMessageBox.confirm('纭畾淇濆瓨鍚�?')
+ .then(() => {
+ const loading = ElementPlus.ElLoading.service({
+ lock: true,
+ text: 'Loading',
+ background: 'rgba(0, 0, 0, 0.7)',
+ })
+ const poInStockDTO = JSON.parse(JSON.stringify(formData.value));
+ const poInStockDTOS = JSON.parse(JSON.stringify(tableDataDialog.value));
+
+ poInStockDTO.fheadselfp0338 = formatLocalDate(poInStockDTO.fheadselfp0338);
+ $.ajax({
+ url:"http://127.0.0.1:9090/mo/poinstock/saveorupdate",
+ data: JSON.stringify({
+ poInStockDTO : poInStockDTO,
+ poInStockDTOS: poInStockDTOS
+ }),
+ 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 selectClose(){
+ 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/poinstock/softclose",
+ 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 {
+ ElementPlus.ElMessage({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ },
+ complete: function() {
+ page()
+ loading.close();
+ }
+ });
+
+ })
+ }
+
+ function handleSelectionChangeDialog(val) {
+ selectListDialog.value = val
+ console.log(selectListDialog.value);
+
+ }
+
+ function dblclick(val){
+ formData.value = JSON.parse(JSON.stringify(val));
+ getListByID(formData.value);
+ dialogVisible.value = true
+ }
+
+ function selectDeleteDialog(){
+ if (selectListDialog.value.length === 0) {
+ ElementPlus.ElMessage({
+ message: '璇烽�夋嫨瑕佸垹闄ょ殑琛�',
+ type: 'warning'
+ });
+ return;
+ }
+ //鍦╯electListDialog涓垹闄ら�変腑鐨勮
+ selectListDialog.value.forEach((item, index) => {
+ tableDataDialog.value.forEach((row, i) => {
+ if (row.id === item.id) {
+ tableDataDialog.value.splice(i, 1);
+ }
+ });
+ });
+
+ }
+
+ function getListByID(row){
+ 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/poinstock/getbyid",
+ data: JSON.stringify(row),
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function(res) {
+ if (res.code == 200) {
+
+ tableDataDialog.value = res.data;
+
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ ElementPlus.ElMessage({
+ message: res.msg,
+ type: 'error'
+ });
+ }
+ },
+ complete: function() {
+ loading.close();
+ }
+ });
+ }
+
+ function handleSizeChange(val) {
+ pageSize.value = val
+ currentPage.value = 1 // 閲嶇疆鍒扮涓�椤�
+ page()
+ }
+
+ function handleCurrentChange(val) {
+ currentPage.value = val
+ page()
+ }
+ function handleSelectionChange(val) {
+ selectList.value = val
+ }
+
+
+ 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'
+ });
+ }
+ }
+ });
+ }
+
+ onMounted(() => {
+ page()
+ })
+ onBeforeMount(() => {
+ getVendor()
+
+ })
+
+ return {
+ tableData,
+ currentPage,
+ pageSizes,
+ pageSize,
+ pageTotal,
+ tableSearchParam,
+ options,
+ depOptions,
+ businessOptions,
+ statusOptions,
+ dialogVisible,
+ formData,
+ tableDataDialog,
+ selectListDialog,
+ search,
+ page,
+ save,
+ dblclick,
+ selectDelete,
+ handleSizeChange,
+ handleCurrentChange,
+ handleSelectionChange,
+ selectDeleteDialog,
+ handleSelectionChangeDialog,
+
+ }
+ }
+ });
+
+ 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
--
Gitblit v1.9.1