init
This commit is contained in:
77
pages/modules/call-full-mater.vue
Normal file
77
pages/modules/call-full-mater.vue
Normal file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="呼叫满料"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>起点</th>
|
||||
<th>终点</th>
|
||||
<th>任务状态</th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i">
|
||||
<td>{{e.point_name1}}</td>
|
||||
<td>{{e.point_name2}}</td>
|
||||
<td>{{e.task_status}}</td>
|
||||
<td>{{e.remark}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_callingMaterialTaskShow">刷新</button>
|
||||
<button class="submit-button" :disabled="disabled" @tap="toSure">呼叫满料</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {callingMaterialTaskShow, callingMaterialTask} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._callingMaterialTaskShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _callingMaterialTaskShow () {
|
||||
let res = await callingMaterialTaskShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 呼叫满料 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
try {
|
||||
let res = await callingMaterialTask()
|
||||
this.disabled = false
|
||||
this._callingMaterialTaskShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
77
pages/modules/call-mupan.vue
Normal file
77
pages/modules/call-mupan.vue
Normal file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="呼叫木盘"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>起点</th>
|
||||
<th>终点</th>
|
||||
<th>任务状态</th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i">
|
||||
<td>{{e.point_name1}}</td>
|
||||
<td>{{e.point_name2}}</td>
|
||||
<td>{{e.task_status}}</td>
|
||||
<td>{{e.remark}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_callingWoodenPalletTaskShow">刷新</button>
|
||||
<button class="submit-button" :disabled="disabled" @tap="toSure">呼叫木盘</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {callingWoodenPalletTaskShow, callingWoodenPalletTask} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._callingWoodenPalletTaskShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _callingWoodenPalletTaskShow () {
|
||||
let res = await callingWoodenPalletTaskShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 呼叫木盘 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
try {
|
||||
let res = await callingWoodenPalletTask()
|
||||
this.disabled = false
|
||||
this._callingWoodenPalletTaskShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
77
pages/modules/empty-instore.vue
Normal file
77
pages/modules/empty-instore.vue
Normal file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="空盘入库"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>起点</th>
|
||||
<th>终点</th>
|
||||
<th>任务状态</th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i">
|
||||
<td>{{e.point_name1}}</td>
|
||||
<td>{{e.point_name2}}</td>
|
||||
<td>{{e.task_status}}</td>
|
||||
<td>{{e.remark}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_emptyDiskIntoStorageShow">刷新</button>
|
||||
<button class="submit-button" :disabled="disabled" @tap="toSure">空盘入库</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {emptyDiskIntoStorageShow, emptyDiskIntoStorageTask} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._emptyDiskIntoStorageShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _emptyDiskIntoStorageShow () {
|
||||
let res = await emptyDiskIntoStorageShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 空盘入库 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
try {
|
||||
let res = await emptyDiskIntoStorageTask()
|
||||
this.disabled = false
|
||||
this._emptyDiskIntoStorageShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
124
pages/modules/equip-inspection.vue
Normal file
124
pages/modules/equip-inspection.vue
Normal file
@@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="设备点检"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">设备号</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">状态</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item filter_item_1">
|
||||
<view class="filter_label">备注</view>
|
||||
<view class="filter_input_wraper filter_input_wraper_1">
|
||||
<textarea class="filter_textarea" v-model="remark"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">取消</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {deviceInfo, deviceStatus, deviceCheckVerify} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
options1: [],
|
||||
index1: '',
|
||||
options2: [],
|
||||
index2: '',
|
||||
remark: '',
|
||||
disabled1: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._deviceInfo()
|
||||
this._deviceStatus()
|
||||
},
|
||||
methods: {
|
||||
/** 选择器 */
|
||||
selectChange1(e) {
|
||||
this.index1 = e
|
||||
},
|
||||
selectChange2(e) {
|
||||
this.index2 = e
|
||||
},
|
||||
/** 获取设备下拉框 */
|
||||
async _deviceInfo () {
|
||||
let res = await deviceInfo()
|
||||
this.options1 = [...res]
|
||||
},
|
||||
/** 获取设备状态下拉框 */
|
||||
async _deviceStatus () {
|
||||
let res = await deviceStatus()
|
||||
this.options2 = [...res]
|
||||
},
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (!this.index1) {
|
||||
uni.showToast({
|
||||
title: '设备号不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
if (!this.index2) {
|
||||
uni.showToast({
|
||||
title: '状态不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
|
||||
let res = await deviceCheckVerify(this.index1, userName,this.remark, this.index2)
|
||||
this.disabled1 = false
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
this.remark = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled1 = false
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
this.remark = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.filter_item_1, .filter_input_wraper_1
|
||||
align-items: flex-start
|
||||
height 210rpx
|
||||
</style>
|
||||
115
pages/modules/equip-operate.vue
Normal file
115
pages/modules/equip-operate.vue
Normal file
@@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="设备操作"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">设备号</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">动作</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">取消</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {deviceInfo, deviceStatus, deviceCheckVerify} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
options1: [],
|
||||
index1: '',
|
||||
options2: [],
|
||||
index2: '',
|
||||
disabled1: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._deviceInfo()
|
||||
this._deviceStatus()
|
||||
},
|
||||
methods: {
|
||||
/** 选择器 */
|
||||
selectChange1(e) {
|
||||
this.index1 = e
|
||||
},
|
||||
selectChange2(e) {
|
||||
this.index2 = e
|
||||
},
|
||||
/** 获取设备下拉框 */
|
||||
async _deviceInfo () {
|
||||
let res = await deviceInfo()
|
||||
this.options1 = [...res]
|
||||
},
|
||||
/** 获取设备状态下拉框 */
|
||||
async _deviceStatus () {
|
||||
let res = await deviceStatus()
|
||||
this.options2 = [...res]
|
||||
},
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (!this.index1) {
|
||||
uni.showToast({
|
||||
title: '设备号不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
if (!this.index2) {
|
||||
uni.showToast({
|
||||
title: '状态不能为空',
|
||||
icon: 'none'
|
||||
})
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
|
||||
let res = await deviceCheckVerify(this.index1, userName, this.index2)
|
||||
this.disabled1 = false
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled1 = false
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.filter_item_1, .filter_input_wraper_1
|
||||
align-items: flex-start
|
||||
height 210rpx
|
||||
</style>
|
||||
102
pages/modules/forced-rest.vue
Normal file
102
pages/modules/forced-rest.vue
Normal file
@@ -0,0 +1,102 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="强制静置"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">静置时间</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="text" class="filter_input" v-model="val1">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>困料位置</th>
|
||||
<th>设备号</th>
|
||||
<th>静置时间</th>
|
||||
<th>剩余静置时间</th>
|
||||
<th>预计完成时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.group_id === pkId}">
|
||||
<td>{{e.point_code}}</td>
|
||||
<td>{{e.device_code}}</td>
|
||||
<td>{{e.standing_time}}</td>
|
||||
<td>{{e.timeDifferenceMinutes}}</td>
|
||||
<td>{{e.estimatedCompletionTimeString}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_forcedRestingShow">刷新</button>
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !pkId}" :disabled="disabled" @tap="toSure">确认</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {forcedRestingShow, forcedRestingSubmit} from '@/utils/getData2.js'
|
||||
import {dateTimeFtt} from '@/utils/utils.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
dataList: [],
|
||||
pkId: '',
|
||||
pkObj: {},
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._forcedRestingShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _forcedRestingShow () {
|
||||
let res = await forcedRestingShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 确认 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.val1 || !this.pkId) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await forcedRestingSubmit(this.val1, this.pkId)
|
||||
this.disabled = false
|
||||
this.pkId = ''
|
||||
this.pkObj = {}
|
||||
this.val1 = ''
|
||||
this._forcedRestingShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
toCheck (e) {
|
||||
this.pkId = this.pkId === e.group_id ? '' : e.group_id
|
||||
this.pkObj = this.pkId === e.group_id ? e : {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
92
pages/modules/hunnian-carry.vue
Normal file
92
pages/modules/hunnian-carry.vue
Normal file
@@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="混碾搬运"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">载具编码</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">混碾位置</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !index1}" :disabled="disabled1" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">取消</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {getBlendingCode, sendTask} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
options1: [],
|
||||
index1: '',
|
||||
disabled1: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._getBlendingCode()
|
||||
},
|
||||
methods: {
|
||||
/** 选择器 */
|
||||
selectChange1(e) {
|
||||
this.index1 = e
|
||||
},
|
||||
/** 下拉框-混碾位置 */
|
||||
async _getBlendingCode () {
|
||||
let res = await getBlendingCode()
|
||||
this.options1 = [...res]
|
||||
},
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (!this.val1 || !this.index1) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await sendTask(this.val1, this.index1)
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.index1 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.index1 = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.filter_item_1, .filter_input_wraper_1
|
||||
align-items: flex-start
|
||||
height 210rpx
|
||||
</style>
|
||||
89
pages/modules/hunnian-operate.vue
Normal file
89
pages/modules/hunnian-operate.vue
Normal file
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="混碾操作"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>压机编号</th>
|
||||
<th>泥料号</th>
|
||||
<th>工单号</th>
|
||||
<th>是否上料</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.record_id === pkId}">
|
||||
<td>{{e.device_code}}</td>
|
||||
<td>{{e.material_id}}</td>
|
||||
<td>{{e.workorder_id}}</td>
|
||||
<td>{{e.is_finish}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_mixRequestInfo">刷新</button>
|
||||
<button class="submit-button" :disabled="disabled" @tap="toSure">删除</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {mixRequestInfo, mixDeleteInfo} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
pkId: '',
|
||||
pkObj: {},
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._mixRequestInfo()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _mixRequestInfo () {
|
||||
let res = await mixRequestInfo()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 删除 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.pkId) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await mixDeleteInfo(this.pkObj)
|
||||
this.disabled = false
|
||||
this.pkId = ''
|
||||
this.pkObj = {}
|
||||
this._mixRequestInfo()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
toCheck (e) {
|
||||
this.pkId = this.pkId === e.record_id ? '' : e.record_id
|
||||
this.pkObj = this.pkId === e.record_id ? e : {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
134
pages/modules/man-group.vue
Normal file
134
pages/modules/man-group.vue
Normal file
@@ -0,0 +1,134 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="人工组盘"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">载具编码</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">载具类型</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">点位编码</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<zxz-uni-data-select v-model="index2" filterable :localdata="options2" @inputChange="inputChange" @change="change"></zxz-uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">物料重量</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val2">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">取消</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {getPressCode, getVehicleType, groupmanual} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
options1: [],
|
||||
index1: '',
|
||||
options2: [],
|
||||
index2: '',
|
||||
disabled1: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._getPressCode()
|
||||
this._getVehicleType()
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
// console.log('e:', e);
|
||||
},
|
||||
inputChange(e) {
|
||||
// console.log(e);
|
||||
},
|
||||
/** 选择器 */
|
||||
selectChange1(e) {
|
||||
this.index1 = e
|
||||
},
|
||||
// selectChange2(e) {
|
||||
// this.index2 = e
|
||||
// },
|
||||
/** 获取载具类型下拉框 */
|
||||
async _getVehicleType () {
|
||||
let res = await getVehicleType()
|
||||
this.options1 = [...res]
|
||||
},
|
||||
/** 获取点位编码下拉框 */
|
||||
async _getPressCode () {
|
||||
let res = await getPressCode()
|
||||
this.options2 = [...res]
|
||||
},
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (!this.index1) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
if (!this.index2) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await groupmanual(this.val1, this.index1, this.index2, this.val2)
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.filter_item_1, .filter_input_wraper_1
|
||||
align-items: flex-start
|
||||
height 210rpx
|
||||
</style>
|
||||
111
pages/modules/package-instore.vue
Normal file
111
pages/modules/package-instore.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="包装入库"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">托盘编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">物料数量</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val2">
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">剩余数量</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val3">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>起点1</th>
|
||||
<th>终点1</th>
|
||||
<th>起点2</th>
|
||||
<th>终点2</th>
|
||||
<th>任务状态</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i">
|
||||
<td>{{e.point_name1}}</td>
|
||||
<td>{{e.point_name2}}</td>
|
||||
<td>{{e.point_name3}}</td>
|
||||
<td>{{e.point_name4}}</td>
|
||||
<td>{{e.task_status}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_manualSortingPackingTaskShow">刷新</button>
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {manualSortingPackingTaskShow, manualSortingPackingTask} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
val3: '0',
|
||||
dataList: [],
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._manualSortingPackingTaskShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _manualSortingPackingTaskShow () {
|
||||
let res = await manualSortingPackingTaskShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 确认 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.val1 || !this.val2) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await manualSortingPackingTask(this.val1, this.val2, this.val3)
|
||||
this.disabled = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.val3 = '0'
|
||||
this._manualSortingPackingTaskShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
76
pages/modules/pallet-bind.vue
Normal file
76
pages/modules/pallet-bind.vue
Normal file
@@ -0,0 +1,76 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="托盘绑定"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">木托盘编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">钢托盘编码</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val2" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">清空</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {manualSortingBindingVehicle} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.val1 || !this.val2) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await manualSortingBindingVehicle(this.val2, this.val1)
|
||||
this.disabled = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
</style>
|
||||
110
pages/modules/press-carry.vue
Normal file
110
pages/modules/press-carry.vue
Normal file
@@ -0,0 +1,110 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="压机搬运"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">载具编码</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">搬运起点</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<zxz-uni-data-select v-model="index2" filterable :localdata="options2" @inputChange="inputChange" @change="change"></zxz-uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">砖块数量</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val2">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !index2}" :disabled="disabled1" @tap="toSure">确认</button>
|
||||
<button class="submit-button" @tap="toCancle">取消</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {pressPointList, pressTask} from '@/utils/getData1.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
options2: [],
|
||||
index2: '',
|
||||
disabled1: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._pressPointList()
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
// console.log('e:', e);
|
||||
},
|
||||
inputChange(e) {
|
||||
// console.log(e);
|
||||
},
|
||||
// selectChange2(e) {
|
||||
// this.index2 = e
|
||||
// },
|
||||
/** 获取下拉框 */
|
||||
async _pressPointList () {
|
||||
let res = await pressPointList()
|
||||
this.options2 = [...res]
|
||||
},
|
||||
/** 确定 */
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (!this.index2) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await pressTask(this.index2, this.val1, this.val2)
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.index2 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.index2 = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.filter_item_1, .filter_input_wraper_1
|
||||
align-items: flex-start
|
||||
height 210rpx
|
||||
</style>
|
||||
142
pages/modules/shelf-check.vue
Normal file
142
pages/modules/shelf-check.vue
Normal file
@@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="货架盘点"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">库位编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="text" placeholder="输入货架号码" class="filter_input" v-model="val1">
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">库位状态</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="index === '2' || index === '3'" class="filter_item">
|
||||
<view class="filter_label">托盘编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="text" class="filter_input" v-model="val2">
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="index === '3'" class="filter_item">
|
||||
<view class="filter_label">砖块数量</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val3">
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="index === '3'" class="filter_item">
|
||||
<view class="filter_label">物料编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="text" class="filter_input" v-model="val4">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-show="index === '3'" class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>物料编码</th>
|
||||
<th>物料名称</th>
|
||||
<th>物料规格</th>
|
||||
<th>物料型号</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.material_id === pkId}">
|
||||
<td>{{e.material_code}}</td>
|
||||
<td>{{e.material_name}}</td>
|
||||
<td>{{e.material_spec}}</td>
|
||||
<td>{{e.material_model}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_shelfMaterialQuery">查询</button>
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !index || (index === '2' && !val2) || (index === '3' && (!val2 || !val3 || !pkId))}" :disabled="disabled" @tap="toSure">确认</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {shelfMaterialQuery, shelfUpdateData} from '@/utils/getData2.js'
|
||||
import {dateTimeFtt} from '@/utils/utils.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
index: '',
|
||||
options: [{value: '1', text: '空位'}, {value: '2', text: '空盘'}, {value: '3', text: '有料'}],
|
||||
val2: '',
|
||||
val3: '',
|
||||
val4: '',
|
||||
dataList: [],
|
||||
pkId: '',
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
selectChange(e) {
|
||||
this.index = e
|
||||
},
|
||||
/** grid查询 */
|
||||
async _shelfMaterialQuery () {
|
||||
let res = await shelfMaterialQuery(this.val4)
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 确认 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.val1 || !this.index || (this.index === '2' && !this.val2) || (this.index === '3' && (!this.val2 || !this.val3 || !this.pkId))) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let vcode = ''
|
||||
let qty = ''
|
||||
let id = ''
|
||||
if (this.index === '2') {
|
||||
vcode = this.val2
|
||||
}
|
||||
if (this.index === '3') {
|
||||
vcode = this.val2
|
||||
qty = this.val3
|
||||
id = this.pkId
|
||||
}
|
||||
let res = await shelfUpdateData(this.val1, this.index, vcode, qty, id)
|
||||
this.disabled = false
|
||||
this.pkId = ''
|
||||
this.val1 = ''
|
||||
this.index = ''
|
||||
this.val2 = ''
|
||||
this.val3 = ''
|
||||
this.val4 = ''
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
toCheck (e) {
|
||||
this.pkId = this.pkId === e.material_id ? '' : e.material_id
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
123
pages/modules/sort-schedue.vue
Normal file
123
pages/modules/sort-schedue.vue
Normal file
@@ -0,0 +1,123 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="分拣排产"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>工单号</th>
|
||||
<th>物料编码</th>
|
||||
<th>物料名称</th>
|
||||
<th>工单状态</th>
|
||||
<th>开工人</th>
|
||||
<th>创建者</th>
|
||||
<th>计划量</th>
|
||||
<th>实际量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.workorder_code === pkId}">
|
||||
<td>{{e.workorder_code}}</td>
|
||||
<td>{{e.material_code}}</td>
|
||||
<td>{{e.material_name}}</td>
|
||||
<td>{{e.workorder_status}}</td>
|
||||
<td>{{e.operator}}</td>
|
||||
<td>{{e.create_name}}</td>
|
||||
<td><input type="number" class="sin_input" v-model="e.plan_qty"></td>
|
||||
<td>{{e.real_qty}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="toSure1">开工</button>
|
||||
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled2" @tap="toSure2">完工</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {manualSortingOrders, manualSortingProductionScheduling, manualSortingProductionComplete} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
pkId: '',
|
||||
pkObj: {},
|
||||
disabled1: false,
|
||||
disabled2: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._manualSortingOrders()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _manualSortingOrders () {
|
||||
let res = await manualSortingOrders()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
toCheck (e) {
|
||||
this.pkId = this.pkId === e.workorder_code ? '' : e.workorder_code
|
||||
this.pkObj = this.pkId === e.workorder_code ? e : {}
|
||||
},
|
||||
/** 开工 */
|
||||
async toSure1 () {
|
||||
this.disabled1 = true
|
||||
if (!this.pkId) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
|
||||
let res = await manualSortingProductionScheduling(this.pkId, userName)
|
||||
this.disabled1 = false
|
||||
this.pkId = ''
|
||||
this.pkObj = {}
|
||||
this._manualSortingOrders()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 完工 */
|
||||
async toSure2 () {
|
||||
this.disabled2 = true
|
||||
if (!this.pkId) {
|
||||
this.disabled2 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
|
||||
let res = await manualSortingProductionComplete(this.pkId, userName)
|
||||
this.disabled2 = false
|
||||
this.pkId = ''
|
||||
this.pkObj = {}
|
||||
this._manualSortingOrders()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
101
pages/modules/surplus-mater-instore.vue
Normal file
101
pages/modules/surplus-mater-instore.vue
Normal file
@@ -0,0 +1,101 @@
|
||||
<template>
|
||||
<view class="zd_container">
|
||||
<nav-bar title="剩料入库"></nav-bar>
|
||||
<view class="zd_content">
|
||||
<view class="zd_wrapper">
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">托盘编码</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box v-model="val1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">物料数量</view>
|
||||
<view class="filter_input_wraper">
|
||||
<input type="number" class="filter_input" v-model="val2">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd_wrapper grid-wraper">
|
||||
<view class="slide_new">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>起点</th>
|
||||
<th>终点</th>
|
||||
<th>任务状态</th>
|
||||
<th>备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(e, i) in dataList" :key="i">
|
||||
<td>{{e.point_name1}}</td>
|
||||
<td>{{e.point_name2}}</td>
|
||||
<td>{{e.task_status}}</td>
|
||||
<td>{{e.remark}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit-bar">
|
||||
<button class="submit-button" @tap="_forcedRestingShow">刷新</button>
|
||||
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {callingResidueMaterialTaskShow, callingResidueMaterialTask} from '@/utils/getData2.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
dataList: [],
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
created () {
|
||||
this._callingResidueMaterialTaskShow()
|
||||
},
|
||||
methods: {
|
||||
/** grid查询 */
|
||||
async _callingResidueMaterialTaskShow () {
|
||||
let res = await callingResidueMaterialTaskShow()
|
||||
this.dataList = [...res]
|
||||
},
|
||||
/** 确认 */
|
||||
async toSure () {
|
||||
this.disabled = true
|
||||
if (!this.val1 || !this.val2) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await callingResidueMaterialTask(this.val1, this.val2)
|
||||
this.disabled = false
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this._callingResidueMaterialTaskShow()
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
</style>
|
||||
Reference in New Issue
Block a user