This commit is contained in:
2022-09-27 17:08:12 +08:00
10 changed files with 280 additions and 40 deletions

View File

@@ -505,3 +505,11 @@ export const repaireDtlConfirm = (form, row, pname) => post('api/pda/sb/repaireD
rows: row,
product_person_name: pname
})
/** 报修任务查询 */
// 1.12部门下拉框
export const deptList = () => post('api/pda/sb/deptList', {})
// 1.13报修单查询
export const repairRequest = (id) => post('api/pda/sb/repairRequest', {
dept_id: id
})

View File

@@ -23,12 +23,16 @@ export function toPrint (data) {
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮
LODOP.SET_LICENSES('浙江省烟草专卖局(公司)', 'C0C4A46A3A0D1F526D426018D9F11921', '', '')
LODOP.PRINT_INIT('')
LODOP.SET_PRINT_MODE('WINDOW_DEFPRINTER', store.getters.printName) // 指定打印机
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.SET_PRINTER_INDEX(store.getters.printName) // 指定打印机
// LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
// LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
// LODOP.SET_PRINT_STYLE('FontSize', 12)
// LODOP.SET_PRINT_STYLE('Bold', 1)
if (data.print_type === '05') {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bag_id + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)
@@ -37,6 +41,10 @@ export function toPrint (data) {
LODOP.ADD_PRINT_TEXT('41mm', '5mm', '80mm', '15mm', '编码:' + data.material_code)
LODOP.ADD_PRINT_TEXT('48mm', '5mm', '80mm', '15mm', '还回人员:' + data.return_person)
} else if (data.print_type === '04' && data.printWeight === undefined) {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)
@@ -45,6 +53,10 @@ export function toPrint (data) {
LODOP.ADD_PRINT_TEXT('41mm', '5mm', '80mm', '15mm', '编码:' + data.material_code)
LODOP.ADD_PRINT_TEXT('48mm', '5mm', '80mm', '15mm', '名称:' + data.material_name)
} else if (data.print_type === '04' && data.printWeight === true) {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)
@@ -53,13 +65,21 @@ export function toPrint (data) {
LODOP.ADD_PRINT_TEXT('41mm', '5mm', '80mm', '15mm', '编码:' + data.material_code)
LODOP.ADD_PRINT_TEXT('48mm', '5mm', '80mm', '15mm', '名称:' + data.material_name)
} else if (data.print_type === '04' && data.printWeight === false) {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)
LODOP.ADD_PRINT_TEXT('34mm', '5mm', '80mm', '15mm', '桶号:' + data.bucketunique)
LODOP.ADD_PRINT_TEXT('41mm', '5mm', '80mm', '15mm', '编码:' + data.material_code)
LODOP.ADD_PRINT_TEXT('48mm', '5mm', '80mm', '15mm', '名称:' + data.material_name)
} else if (data.print_type === '02' || data.print_type === '03') {
} else if (data.print_type === '02') {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)
@@ -68,7 +88,27 @@ export function toPrint (data) {
LODOP.ADD_PRINT_TEXT('41mm', '5mm', '80mm', '15mm', '编码:' + data.material_code)
LODOP.ADD_PRINT_TEXT('48mm', '5mm', '80mm', '15mm', '名称:' + data.material_name)
LODOP.ADD_PRINT_TEXT('48mm', '59mm', '80mm', '15mm', '序号:' + data.record_order)
} else if (data.print_type === '03') {
LODOP.SET_PRINT_PAGESIZE(2, '100mm', '150mm', '')
LODOP.ADD_PRINT_RECT('2mm', '7mm', '140mm', '96mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontName', '黑体')
LODOP.SET_PRINT_STYLE('FontSize', 33)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_TEXT('7mm', '9mm', '150mm', '40mm', '编码:' + data.material_code + '')
LODOP.ADD_PRINT_TEXT('22mm', '9mm', '145mm', '40mm', '牌号:' + data.old_mark + '')
LODOP.ADD_PRINT_TEXT('37mm', '9mm', '145mm', '40mm', '批次:' + pcsn)
LODOP.SET_PRINT_STYLE('FontSize', 20)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('60mm', '10mm', '40mm', '40mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('60mm', '45mm', '80mm', '27mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('72mm', '45mm', '80mm', '27mm', '桶号:' + data.bucketunique + '')
LODOP.ADD_PRINT_TEXT('84mm', '45mm', '80mm', '27mm', '重量:' + Number(data.storage_qty).toFixed(3) + 'kg')
LODOP.ADD_PRINT_TEXT('84mm', '108mm', '60mm', '27mm', '序号:' + data.record_order + '')
} else if (data.print_type === '01') {
LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', '')
LODOP.ADD_PRINT_RECT('1mm', '3mm', '74mm', '54mm', 0, 1)
LODOP.SET_PRINT_STYLE('FontSize', 12)
LODOP.SET_PRINT_STYLE('Bold', 1)
LODOP.ADD_PRINT_BARCODE('2mm', '4mm', '33mm', '33mm', 'QRCode', data.bucketunique + '##' + data.ext_id + '##' + data.pcsn + '##' + Number(data.storage_qty).toFixed(3) + '##' + data.input_time + '##' + data.record_order + '##' + data.is_active)
LODOP.ADD_PRINT_TEXT('5mm', '35mm', '50mm', '15mm', '日期:' + data.input_time)
LODOP.ADD_PRINT_TEXT('15mm', '35mm', '50mm', '15mm', '批次:' + pcsn)

View File

@@ -21,7 +21,7 @@
<img src="../../images/xinrui/menu/password.png" alt="">
<p class="fxcol">修改密码</p>
</div>
<div class="menu-col fxrow" @click="goInner('/MaintainExecution')"><p class="fxcol">设备保养执行-维修工</p></div>
<!-- <div class="menu-col fxrow" @click="goInner('/MaintainExecution')"><p class="fxcol">设备保养执行-维修工</p></div>
<div class="menu-col fxrow" @click="goInner('/MaintainConfirm')"><p class="fxcol">设备保养确认-生产员</p></div>
<div class="menu-col fxrow" @click="goInner('/EquipRepair')"><p class="fxcol">设备报修</p></div>
<div class="menu-col fxrow" @click="goInner('/EquipRepairExecute')"><p class="fxcol">设备维修执行</p></div>
@@ -29,7 +29,7 @@
<div class="menu-col fxrow" @click="goInner('/SparePartInstore')"><p class="fxcol">备件入库</p></div>
<div class="menu-col fxrow" @click="goInner('/SparePartOutstore')"><p class="fxcol">备件出库</p></div>
<div class="menu-col fxrow" @click="goInner('/UseReturn')"><p class="fxcol">领用还回</p></div>
<div class="menu-col fxrow" @click="goInner('/RunLogFill')"><p class="fxcol">运行记录填报</p></div>
<div class="menu-col fxrow" @click="goInner('/RunLogFill')"><p class="fxcol">运行记录填报</p></div> -->
<!-- <div class="menu-col fxrow" @click="goInner('/ProcessMakePowder')"><p class="fxcol">配粉工序</p></div>
<div class="menu-col fxrow" @click="goInner('/ProcessGrindBall')"><p class="fxcol">球磨工序</p></div>
<div class="menu-col fxrow" @click="goInner('/ProcessSpray')"><p class="fxcol">喷雾工序</p></div>

View File

@@ -45,7 +45,8 @@ export default {
return
}
LODOP.PRINT_INIT('')
LODOP.SET_PRINT_MODE('WINDOW_DEFPRINTER', this.$store.getters.printName) // 指定打印机
// LODOP.SET_PRINT_MODE('WINDOW_DEFPRINTER', this.$store.getters.printName) // 指定打印机
LODOP.SET_PRINTER_INDEX(this.$store.getters.printName) // 指定打印机
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮
LODOP.SET_LICENSES('浙江省烟草专卖局(公司)', 'C0C4A46A3A0D1F526D426018D9F11921', '', '')
LODOP.SET_PRINT_PAGESIZE(1, '100mm', '100mm', '')

View File

@@ -0,0 +1,162 @@
<template>
<section>
<nav-bar title="报修任务查询"></nav-bar>
<section class="content mgt186" v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="0" infinite-scroll-immediate-check="false">
<div class="filter-wraper">
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">部门</div>
<div class="fxcol mgl20 visible" >
<dropdown-menu
:option="option"
:active="active"
:open="open"
@toggleItem="toggleItem"
@dropdownMenu="dropdownMenu">
</dropdown-menu>
</div>
</div>
</div>
<div class="grid-wraper">
<div class="left_fixed">
<table class="layout-t left_layout_t">
<tr>
<th>生成时间</th>
</tr>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.device_code}}</td>
</tr>
</table>
</div>
<div class="slide">
<table class="layout-t">
<tr>
<th>设备名称</th>
<th>设备编号</th>
<th>所属部门</th>
<th>保修内容</th>
<th>开始时间</th>
</tr>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.device_name}}</td>
<td>{{e.device_code}}</td>
<td>{{e.name}}</td>
<td>{{e.fault_desc}}</td>
<td>{{e.process_time}}</td>
</tr>
</table>
</div>
</div>
<div class="loading-tips">{{desc}}</div>
</section>
<section class="submit-bar">
<button class="btn submit-button" @click="_repairRequest">查询</button>
</section>
</section>
</template>
<script>
import NavBar from '@components/NavBar.vue'
import DropdownMenu from '@components/DropdownMenu.vue'
import {deptList, repairRequest} from '@config/getData2.js'
export default {
name: 'SearchRepairTask',
components: {
NavBar,
DropdownMenu
},
data () {
return {
dataList: [],
option: [],
active: '',
open: false,
page: 1,
size: '10',
busy: false,
desc: '',
pkId: '',
pkObj: {}
}
},
created () {
this._deptList()
},
methods: {
toggleItem () {
if (!this.open) {
this.open = true
} else {
this.open = false
}
},
dropdownMenu (i) {
this.active = i + ''
this.open = false
},
async _deptList () {
let res = await deptList()
if (res.code === '1') {
this.option = [...res.rows]
} else {
this.Dialog(res.desc)
}
},
async _repairRequest () {
let id = ''
if (this.active) {
id = this.option[this.active].value
}
this.page = 1
this.busy = false
this.desc = ''
let res = await repairRequest(id)
if (res.code === '1') {
this.dataList = []
this.checkArr = []
this.allcheckActive = false
// res.rows.map(el => {
// this.$set(el, 'checked', false)
// })
this.dataList = [...res.rows]
if (res.rows.length < 10) {
this.busy = true
this.desc = '已加载全部数据'
}
} else {
this.Dialog(res.desc)
this.desc = res.desc
}
},
async loadMore () {
this.busy = true
this.page++
let id = ''
if (this.active) {
id = this.option[this.active].value
}
let res = await repairRequest(id)
if (res.code === '1') {
// res.rows.map(el => {
// this.$set(el, 'checked', false)
// })
this.dataList = [...this.dataList, ...res.rows]
if (res.rows.length < 10) {
this.busy = true
this.desc = '已加载全部数据'
} else {
this.busy = false
}
} else {
this.Dialog(res.desc)
this.desc = res.desc
}
}
}
}
</script>
<style lang="stylus" scoped>
>>>.content
height calc(100% - 1.96rem)
overflow-y auto
</style>

View File

@@ -16,7 +16,7 @@
</div>
</div>
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">生产负责</div>
<div class="filter-label txtjustify">生产配合</div>
<div class="fxcol mgl20">
<input type="text" class="filter-input filter-scan-input" v-model="val3">
</div>

View File

@@ -88,7 +88,8 @@
<tr v-for="e in dataList" :key="e.inspection_item_id">
<td>{{e.inspection_item_name}}</td>
<!-- <td><input-number :min="0 + ''" v-model="e.testing_value"/></td> -->
<td><input type="number" class="sin_input" :class="{'bred': e.bred === true}" v-model="e.testing_value" @focus="handleFocus(e)" @blur="handleBlur(e)"></td>
<!-- <td><input type="number" class="sin_input" :class="{'bred': e.bred === true}" v-model="e.testing_value" @focus="handleFocus(e)" @blur="handleBlur(e)"></td> -->
<td><input type="number" class="sin_input" :class="{'bred': e.bred === true}" v-model="e.testing_value"></td>
<td>{{e.up_limit_value | numeric(4)}}</td>
<td>{{e.down_limit_value | numeric(4)}}</td>
</tr>
@@ -100,6 +101,12 @@
<button class="btn submit-button" :class="{'btn-disabled': dataList.length === 0}" @click="calculate">计算</button>
<button class="btn submit-button" :disabled="disabled1" :class="{'btn-disabled': sure === false}" @click="toSure">保存</button>
</section>
<modal
:mdShow="mdShow"
@closeModalCallback="closeModalCallback"
@comfirmCallback="comfirmCallback">
检测值有为空是否继续
</modal>
</section>
</template>
@@ -107,13 +114,15 @@
import NavBar from '@components/NavBar.vue'
import DropdownMenu from '@components/DropdownMenu.vue'
import InputNumber from '@components/InputNumber.vue'
import Modal from '@components/Modal.vue'
import {queryWorkProducedure, queryInspection, inspectConfirm, updateWorkStatus} from '@config/getData2.js'
export default {
name: 'ResultEntry',
components: {
NavBar,
DropdownMenu,
InputNumber
InputNumber,
Modal
},
data () {
return {
@@ -136,7 +145,8 @@ export default {
disabled: JSON.stringify(this.$store.getters.materObj1) !== '{}',
disabled1: false,
device_id: '',
sure: false
sure: false,
mdShow: false
}
},
beforeRouteLeave (to, from, next) {
@@ -179,19 +189,19 @@ export default {
}
},
methods: {
handleFocus (e) {
e.testing_value = ''
},
handleBlur (e) {
if (e.testing_value === '') {
e.testing_value = e.testing_value2
}
if (Number(e.testing_value) < Number(e.down_limit_value) || Number(e.testing_value) > Number(e.up_limit_value)) {
e.bred = true
} else {
e.testing_value2 = e.testing_value
}
},
// handleFocus (e) {
// e.testing_value = ''
// },
// handleBlur (e) {
// if (e.testing_value === '') {
// e.testing_value = e.testing_value2
// }
// if (Number(e.testing_value) < Number(e.down_limit_value) || Number(e.testing_value) > Number(e.up_limit_value)) {
// e.bred = true
// } else {
// e.testing_value2 = e.testing_value
// }
// },
goIn () {
if (this.$route.query.url === 'ProcessGrindBall') {
this.$router.push('/ProcessGrindBall')
@@ -287,6 +297,10 @@ export default {
},
toSure () {
this.disabled1 = true
if (!this.sure) {
this.disabled1 = false
return
}
if (this.val1 === '') {
this.toast('请选择物料')
this.disabled1 = false
@@ -317,9 +331,19 @@ export default {
this.disabled1 = false
return
}
if (this.sure) {
this._inspectConfirm()
let arr = this.dataList.filter(el => el.testing_value === '')
if (arr.length > 0) {
this.mdShow = true
return
}
this._inspectConfirm()
},
closeModalCallback () {
this.disabled1 = false
this.mdShow = false
},
comfirmCallback () {
this._inspectConfirm()
},
calculate () {
let flag = false

View File

@@ -154,12 +154,12 @@ export default {
this.val2 = ''
return
}
let arr2 = this.dataList.filter(el => { return el.material_code === res.bucket_jo.material_code && el.pcsn === res.bucket_jo.pcsn })
if (!arr2.length) {
this.toast('物料编码和批次必须一致')
this.val2 = ''
return
}
// let arr2 = this.dataList.filter(el => { return el.material_code === res.bucket_jo.material_code && el.pcsn === res.bucket_jo.pcsn })
// if (!arr2.length) {
// this.toast('物料编码和批次必须一致')
// this.val2 = ''
// return
// }
this.bucket_jo = res.bucket_jo
this.val2 = this.bucket_jo.bucketunique
this.dataList.push(this.bucket_jo)

View File

@@ -156,12 +156,12 @@ export default {
this.val2 = ''
return
}
let arr2 = this.dataList.filter(el => { return el.material_code === res.bucket_jo.material_code && el.pcsn === res.bucket_jo.pcsn })
if (!arr2.length) {
this.toast('物料编码和批次必须一致')
this.val2 = ''
return
}
// let arr2 = this.dataList.filter(el => { return el.material_code === res.bucket_jo.material_code && el.pcsn === res.bucket_jo.pcsn })
// if (!arr2.length) {
// this.toast('物料编码和批次必须一致')
// this.val2 = ''
// return
// }
this.bucket_jo = res.bucket_jo
this.val2 = this.bucket_jo.bucketunique
this.dataList.push(this.bucket_jo)

View File

@@ -111,6 +111,7 @@ const MaterInfoSearchCheckBox = r => require.ensure([], () => r(require('../page
const UploadPict = r => require.ensure([], () => r(require('../pages/xinrui/common/UploadPict')), 'common')
const Password = r => require.ensure([], () => r(require('../pages/xinrui/common/Password')), 'common')
const UploadPicts = r => require.ensure([], () => r(require('../pages/xinrui/common/UploadPicts')), 'common')
const SearchRepairTask = r => require.ensure([], () => r(require('../pages/xinrui/common/SearchRepairTask')), 'common')
Vue.use(Router)
@@ -508,6 +509,10 @@ export default new Router({
{
path: '/UploadPicts', // 上传多张图片
component: UploadPicts
},
{
path: '/SearchRepairTask', // 报修任务查询
component: SearchRepairTask
}
],
scrollBehavior (to, from, savedPosition) {