This commit is contained in:
qianhao.xu
2024-04-28 15:19:52 +08:00
parent 64deb91da0
commit 0d8e4cbdce
4 changed files with 118 additions and 35 deletions

View File

@@ -25,3 +25,12 @@ export function getworkorderlist(data) {
data data
}) })
} }
export function generatetasklist(data) {
return request({
url: '/mes/mm/materialinput/generatetask',
method: 'post',
data
})
}

View File

@@ -8,7 +8,7 @@
<u--input <u--input
v-model="select_position" v-model="select_position"
border="surround" border="surround"
placeholder="后置图标" placeholder="填入站点"
suffixIcon="map-fill" suffixIcon="map-fill"
suffixIconStyle="{color: #00aaff;font-size: 30px;}" suffixIconStyle="{color: #00aaff;font-size: 30px;}"
></u--input> ></u--input>
@@ -33,14 +33,20 @@
</view> </view>
<u-line></u-line> <u-line></u-line>
<view class="area"> <view class="area">
<view style="margin-top: 5px; margin-bottom: 20px; font-size: 1.2rem">选择日期 {{ workerorder_time | formatDate }}</view> <u-row>
<u-col span="8">
<u-button @click="timeshow = true">选择日期</u-button> <u-button @click="timeshow = true">选择日期</u-button>
<u-datetime-picker :show="timeshow" v-model="workerorder_time" mode="date" @confirm="confirm()" @cancel="timeshow = false"></u-datetime-picker> <u-datetime-picker :show="timeshow" v-model="workerorder_time" mode="date" @confirm="confirm()" @cancel="timeshow = false"></u-datetime-picker>
</u-col>
<u-col span="4">
<view style="font-size: 1.2rem">{{ workerorder_time | formatDate }}</view>
</u-col>
</u-row>
</view> </view>
<u-line></u-line> <u-line></u-line>
<u-row gutter="30"> <u-row gutter="30">
<u-col span="4"> <u-col span="4">
<view>工单</view> <view>毛坯</view>
</u-col> </u-col>
<u-col span="3"> <u-col span="3">
<span>计划上件数</span> <span>计划上件数</span>
@@ -57,7 +63,7 @@
<u-list-item v-for="(item, index) in workerorder_list" :key="index"> <u-list-item v-for="(item, index) in workerorder_list" :key="index">
<u-row gutter="30"> <u-row gutter="30">
<u-col span="4"> <u-col span="4">
<u-tag :text="item.clientWorkorder" plain></u-tag> <u-tag :text="item.blankNumber" plain></u-tag>
</u-col> </u-col>
<u-col span="3"> <u-col span="3">
<u-tag :text="item.previousNumber" plain></u-tag> <u-tag :text="item.previousNumber" plain></u-tag>
@@ -66,18 +72,28 @@
<u-tag type="success" :text="item.previousNumbered" plain></u-tag> <u-tag type="success" :text="item.previousNumbered" plain></u-tag>
</u-col> </u-col>
<u-col span="2"> <u-col span="2">
<u-switch v-model="item.selected" size="38"></u-switch> <u-switch v-model="item.selected" size="38" @change="switch_change(index, item.selected)"></u-switch>
<u-modal :show="show_model" title="确认选中数量" @confirm="ingredient_confirm">
<u--form labelPosition="left" labelWidth="240" :labelStyle="labelstyle">
<u-form-item label="配料数量" borderBottom>
<u--input v-model="ingredient" border="surround" type="number"></u--input>
</u-form-item>
</u--form>
</u-modal>
</u-col> </u-col>
</u-row> </u-row>
<u-line></u-line> <u-line></u-line>
</u-list-item> </u-list-item>
</u-list> </u-list>
</view> </view>
<u-button type="primary" size="big" text="生成配料任务" @click="generatetask"></u-button>
<u-modal :show="task.show" :title="task.title" :content="task.content" @confirm="task.show = false"></u-modal>
</view> </view>
</template> </template>
<script> <script>
import { achievestartpoints, getworkorderlist } from '@/api/materialManagement/MaterialProductionInput.js'; import { achievestartpoints, getworkorderlist, generatetasklist } from '@/api/materialManagement/MaterialProductionInput.js';
export default { export default {
data() { data() {
@@ -87,7 +103,16 @@ export default {
timeshow: false, timeshow: false,
workerorder_time: Number(new Date()), workerorder_time: Number(new Date()),
labelstyle: { 'font-size': '1.2rem' }, labelstyle: { 'font-size': '1.2rem' },
workerorder_list: [] workerorder_list: [],
show_model: false,
ingredient: 100,
selected_index: null,
message: false,
task: {
show: false,
title: '生成配料任务',
content: ''
}
}; };
}, },
filters: { filters: {
@@ -131,39 +156,89 @@ export default {
}, },
//todo 根据日期获取工单 //todo 根据日期获取工单
get_workorder_list() { get_workorder_list() {
// let date = new Date(this.workerorder_time);
// date = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
// 使用时间戳创建一个日期对象
let date = new Date(this.workerorder_time); let date = new Date(this.workerorder_time);
// 获取上海时区的时间偏移量(以分钟为单位)
let offset = 8 * 60; // 上海时区为 UTC+8
// 计算上海时区的时间
let shanghaiTime = new Date(date.getTime() + offset * 60 * 1000);
const query = { const query = {
datetimespan: date datetimespan: shanghaiTime
}; };
getworkorderlist(query).then((res) => { getworkorderlist(query).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.workerorder_list = res.data; this.workerorder_list = res.data;
let newList = [];
for(let item of workerorder_list){ for (let item = 0; item < this.workerorder_list.length; item++) {
item.selected = false; this.workerorder_list[item].selected = false;
item.previousNumbered = 0; this.workerorder_list[item].previousNumbered = 0;
newList.push(item);
} }
this.workerorder_list = newList;
// this.workerorder_list.forEach((item) => {
// item['selected'] = false;
// item['previousNumbered'] = 0;
// });
} }
}); });
}, },
//todo 选中事件 //todo 选中之后 弹窗
// change_selected(value) { switch_change(index, selected) {
// // 修改值 console.log('selected', selected);
// console.log('change_selected',value); if (selected) {
// // console.log(index); this.show_model = true;
// // //this.workerorder_list[index].selected = true; this.ingredient = this.workerorder_list[index].previousNumber;
// // this.$nextTick(()=>{ this.selected_index = index;
// // this.workerorder_list[index].selected = true; } else {
// // }) this.workerorder_list[index].previousNumbered = 0;
// // // this.$set(this.workerorder_list[index], 'selected', true); // 使用 Vue.set 方法或 this.$set 方法来添加新的属性
// // console.log('123456',this.workerorder_list[index]) // this.$set(this.workerorder_list[index], 'previousNumbered', 0);
// } // this.$nextTick(() => {
// this.workerorder_list[index].previousNumbered = 0;
// });
this.$forceUpdate();
}
},
//模态框 确认
ingredient_confirm() {
this.show_model = false;
this.workerorder_list[this.selected_index].previousNumbered = this.ingredient;
},
// 生成配料任务
generatetask() {
let array1 = this.workerorder_list.filter((it) => it.selected);
console.log(array1);
let array = array1.map((it) => {
return {
workorder: it.clientWorkorder,
partnumber: it.blankNumber,
previousNumber: it.previousNumber,
previousNumbered: it.previousNumbered
};
});
console.log(array);
const query = {
agv_position: this.select_position,
workorders: array
};
generatetasklist(query).then((res) => {
if (res.code == 200) {
this.task.show = true;
this.task.content = '生产配料任务成功' + res.data;
this.reset()
}
});
},
reset(){
this.select_position="";
this.selected_index=null;
for (let i = 0; i < this.workerorder_list.length; i++) {
this.workerorder_list[i].previousNumbered = 0,
this.workerorder_list[i].selected = false
}
this.get_workorder_list();
}
} }
}; };
</script> </script>
@@ -173,7 +248,7 @@ export default {
background-color: white; background-color: white;
} }
.scrollable-container { .scrollable-container {
height: 300px; height: 400px;
overflow: auto; overflow: auto;
border: 3px solid #ccc; border: 3px solid #ccc;
} }

View File

@@ -33,7 +33,7 @@
index: 1 index: 1
}, },
{ {
name: 'AGV运输', name: '车间叫料',
icon: 'grid-fill', icon: 'grid-fill',
url: 'pages/materialManagement/MaterialProductionInput/MaterialProductionInput', url: 'pages/materialManagement/MaterialProductionInput/MaterialProductionInput',
type: 1, type: 1,

View File

@@ -50,7 +50,6 @@ const request = config => {
dataType: 'json' dataType: 'json'
}).then(response => { }).then(response => {
let [error, res] = response let [error, res] = response
console.log(response);
// console.log('token:','Bearer ' + getToAccess-Control-Allow-Originken()); // console.log('token:','Bearer ' + getToAccess-Control-Allow-Originken());
// console.log('request:',storageBaseUrl + config.url,response); // console.log('request:',storageBaseUrl + config.url,response);
if (error) { if (error) {