| | |
| | | <div id="app"> |
| | | <el-card> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="开工日期"> |
| | | <el-date-picker |
| | | v-model="tableSearchParam.fplancommitdate" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :default-value="defaultTime" |
| | | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="生产单号"> |
| | | <el-input v-model="tableSearchParam.produce_no" placeholder="请输入生产单号"></el-input> |
| | | <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-select> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="page" circle > |
| | | <el-icon><Search /></el-icon> |
| | |
| | | </el-form> |
| | | <el-form :inline="true"> |
| | | <el-form-item label=""> |
| | | <el-button type="primary">同步</el-button> |
| | | <el-button type="primary" @click="tongbu" >同步</el-button> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary">撤销同步</el-button> |
| | | <el-button type="primary" @click="caneltongbu1">撤销同步</el-button> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary">退料</el-button> |
| | | <el-button type="primary" @click="tongbureturn">退料</el-button> |
| | | </el-form-item> |
| | | <el-form-item label=""> |
| | | <el-button type="primary">撤销退料</el-button> |
| | | <el-button type="primary" @click="caneltongbureturn">撤销退料</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="tableData" border style="width: 100%" row-key="id" @selection-change="handleSelectionChange"> |
| | | <el-table :data="tableData" border style="width: 100%" row-key="finterid" @selection-change="handleSelectionChange" 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="produceNo" label="生产单号" > |
| | | <el-table-column prop="soCode" label="生产单号" > |
| | | </el-table-column> |
| | | <el-table-column prop="jobNo" label="任务单号"> |
| | | <el-table-column prop="fbillno" label="任务单号"> |
| | | </el-table-column> |
| | | <el-table-column prop="matnr" label="物料编码"> |
| | | <el-table-column prop="invCode" label="物料编码"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="物料名称"> |
| | | <el-table-column prop="invName" label="物料名称" width="300" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="specs" label="规格"> |
| | | <el-table-column prop="invStd" label="规格" width="200" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column prop="workshop" label="车间"> |
| | | <el-table-column prop="depName" label="车间"> |
| | | </el-table-column> |
| | | <el-table-column prop="anfme" label="数量"> |
| | | <el-table-column prop="fauxqty" label="数量" width="90"> |
| | | </el-table-column> |
| | | <el-table-column prop="startTime" label="计划开工时间"> |
| | | <el-table-column prop="fplancommitdate" label="计划开工时间"> |
| | | </el-table-column> |
| | | <el-table-column prop="endTime" label="计划完工时间"> |
| | | <el-table-column prop="fplanfinishdate" label="计划完工时间"> |
| | | </el-table-column> |
| | | <el-table-column prop="sync" label="是否同步"> |
| | | <el-table-column prop="izSyncReceive" label="是否同步" width="90"> |
| | | </el-table-column> |
| | | <el-table-column prop="matnrReturn" label="是否退料"> |
| | | <el-table-column prop="izSyncReceiveReturn" label="是否退料" width="90"> |
| | | </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> |
| | | <!-- <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-card> |
| | |
| | | <script src="../../static/evn/icons-vue.js"></script> |
| | | <script type="module"> |
| | | // 导入中文语言包 |
| | | import zhCn from './zh-cn.js'; |
| | | import zhCn from '../../static/js/erp/zh-cn.js'; |
| | | |
| | | const { createApp, ref, onMounted } = Vue; |
| | | |
| | |
| | | const app = createApp({ |
| | | setup() { |
| | | const currentPage = ref(1) |
| | | const pageSizes = ref([16, 30, 50, 100, 150, 200]) |
| | | const pageSize = ref(16) |
| | | const pageSizes = ref([15,20, 30, 50, 100, 200]) |
| | | const pageSize = ref(15) |
| | | const pageTotal = ref(0) |
| | | const tableSearchParam = ref({ |
| | | produce_no: null |
| | | soCode: null, |
| | | fplancommitdate: new Date(), |
| | | depName:null |
| | | }) |
| | | const tableData = ref([]) |
| | | const defaultTime = ref(new Date()) |
| | | const fullscreenLoading = ref(false) |
| | | |
| | | const options = [ |
| | | { |
| | | value: '南区车间', |
| | | label: '南区车间' |
| | | }, |
| | | { |
| | | value: '北区车间', |
| | | label: '北区车间' |
| | | }, |
| | | |
| | | ] |
| | | |
| | | const selectList = ref([]) |
| | | |
| | | function page(){ |
| | | let data = JSON.parse(JSON.stringify(tableSearchParam.value)) |
| | |
| | | data.datetime = null |
| | | data.create_time = tableSearchParam.value.datetime[0] + " - " + tableSearchParam.value.datetime[1] |
| | | } |
| | | const loading = ElementPlus.ElLoading.service({ |
| | | lock: true, |
| | | text: 'Loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }) |
| | | $.ajax({ |
| | | url: baseUrl + "/erpReceiving/list/auth", |
| | | url: "http://127.0.0.1:9090/mo/materialreceive/getList", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'GET', |
| | | success: function(res) { |
| | | loading.close() |
| | | if (res.code == 200) { |
| | | // 修复:直接赋值给 ref 变量 |
| | | tableData.value = res.data.records |
| | | pageTotal.value = res.data.total |
| | | tableData.value = res.data |
| | | ElementPlus.ElMessage({ |
| | | message: "拉取数据完成", |
| | | type: 'success' |
| | | }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | // 修复:使用 ElMessage 而不是 this.$message |
| | | ElMessage({ |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function tongbu(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | 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/materialreceive/tongbu", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | loading.close(); |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "同步完成", |
| | | type: 'success' |
| | | }); |
| | | page() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function caneltongbu1(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | 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/materialreceive/caneltongbu1", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | loading.close(); |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "撤销同步完成", |
| | | type: 'success' |
| | | }); |
| | | page() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function tongbureturn(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | 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/materialreceive/tongbureturn", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | loading.close(); |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "退料完成", |
| | | type: 'success' |
| | | }); |
| | | page() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function caneltongbureturn(){ |
| | | if (selectList.value.length === 0){ |
| | | ElementPlus.ElMessage({ |
| | | message: "请先选择", |
| | | type: 'error' |
| | | }); |
| | | return ; |
| | | } |
| | | 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/materialreceive/caneltongbureturn", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: JSON.stringify(selectList.value), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function(res) { |
| | | loading.close(); |
| | | if (res.code == 200) { |
| | | ElementPlus.ElMessage({ |
| | | message: "撤销退料完成", |
| | | type: 'success' |
| | | }); |
| | | page() |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | ElementPlus.ElMessage({ |
| | | message: res.msg, |
| | | type: 'error' |
| | | }); |
| | |
| | | currentPage.value = val |
| | | page() |
| | | } |
| | | function handleSelectionChange(val) { |
| | | function handleSelectionChange(val) { |
| | | console.log(val) |
| | | selectList.value = val |
| | | } |
| | | |
| | | onMounted(() => { |
| | |
| | | pageSize, |
| | | pageTotal, |
| | | tableSearchParam, |
| | | defaultTime, |
| | | options, |
| | | page, |
| | | tongbu, |
| | | caneltongbu1, |
| | | tongbureturn, |
| | | caneltongbureturn, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | handleSelectionChange |