界面修改,拆零新增损耗出库

20240912_adapter_z
yewj 10 months ago
parent 4e42bcb419
commit 6ed14e5e29

@ -41,3 +41,11 @@ export function destroyOutByCode(query) {
data: query
});
}
export function destroySplitOut(query) {
return axios({
url: "/udiwms/collect/split/desOrder/destroyOut",
method: "post",
data: query
});
}

@ -11,7 +11,7 @@
<el-col :span="18" style="margin-left: 0px" >
<span style="font-size: 16px;color: #409EFF">当前工位:&nbsp&nbsp&nbsp&nbsp<span style="font-size: 16px;color: #000000">{{this.formData.workplaceName}}</span>
&nbsp&nbsp&nbsp&nbsp
<span :style="{ color: formData.workplaceStatus === 0 ? 'green' : 'red' }"> ({{ formData.workplaceStatus === 0 ? '服务中' : '服务暂停' }} ) </span>
<!-- <span :style="{ color: formData.workplaceStatus === 0 ? 'green' : 'red' }"> ({{ formData.workplaceStatus === 0 ? '服务中' : '服务暂停' }} ) </span>-->
<!-- <el-button type="primary" @click="toggleWorkplaceStatus" style="margin-left: 10px;" >切换状态</el-button>-->
</span>

@ -1,85 +1,85 @@
<template>
<div>
<el-card>
<el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" class="query-form"
size="mini" label-width="100px">
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList">
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`" :key="item.id">
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
clearable>
<el-option
v-for="dict in item.lableRuleObj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
:disabled="executeEval(null,item.disabledFuc,false)"
filterable
remote
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
clearable>
<el-option
v-for="item in options[item.clickFuc]"
:key="item.code"
:label="item.label"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
value-format="yyyy-MM-dd"
:disabled="executeEval(null,item.disabledFuc,false)"
type="date"
:placeholder="item.columnDesc"
></el-date-picker>
</el-form-item>
</template>
</el-row>
</el-form>
<el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" class="query-form"
size="mini" label-width="100px">
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList">
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`" :key="item.id">
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
clearable>
<el-option
v-for="dict in item.lableRuleObj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
:disabled="executeEval(null,item.disabledFuc,false)"
filterable
remote
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
clearable>
<el-option
v-for="item in options[item.clickFuc]"
:key="item.code"
:label="item.label"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`">
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
value-format="yyyy-MM-dd"
:disabled="executeEval(null,item.disabledFuc,false)"
type="date"
:placeholder="item.columnDesc"
></el-date-picker>
</el-form-item>
</template>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group>
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
@ -224,6 +224,22 @@
@pagination="getList"
/>
</el-card>
<el-dialog
title="损耗出库"
:visible.sync="destroyOutDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="60%"
v-if="destroyOutDialogVisible"
>
<destroyOutDialog
:prescribeData="prescribeData"
:destroyType="destroyType"
:closeDialog="closeDialog"
>
</destroyOutDialog>
</el-dialog>
</div>
</template>
@ -233,13 +249,13 @@
import A from '../../plugins/KeyScaner'
import PanelDestroyDetail from '@/views/collect/PanelDestroyDetail'
import PanelDestroyCodeDetail from '@/views/collect/PanelDestroyCodeDetail'
import { findInvRemind } from '@/api/inout/splitCode'
import { enterCodeWeb, saveOrderWeb } from '@/api/inout/order'
import { getUserBindWork } from '@/api/basic/collectPoint/userWorkplace'
import {findInvRemind} from '@/api/inout/splitCode'
import {enterCodeWeb, saveOrderWeb} from '@/api/inout/order'
import {getUserBindWork} from '@/api/basic/collectPoint/userWorkplace'
import chooseDraftOrderDialog from './chooseDraftOrderDialog'
import dialogInvProduct from '@/views/inout/DialogSelectInvProduct'
import { executeFuc, getHead } from '@/utils/customConfig'
import { getSplitCode } from '@/api/collect/collectOrder'
import {executeFuc, getHead} from '@/utils/customConfig'
import {getSplitCode} from '@/api/collect/collectOrder'
export default {
name: 'IoDestroyOrder',
@ -293,7 +309,12 @@ export default {
},
],
},
list: []
list: [],
showType: 1,
isLinkDisabled: false,
destroyOutDialogVisible: false,
prescribeData: {},
destroyType: 3,//1 2.code3
}
},
components: {},
@ -316,15 +337,15 @@ export default {
this.filterQuery.orderBy = column.prop;
this.getList();
},
getWorkPlaceList(_this){
getWorkPlaceList(_this) {
getUserBindWork({
autoUserId: 1,
page: 1,
page: 1,
limit: 200,
}).then((response) => {
let getWorkPlaceList = []
if(response.code == 20000 && response.data.list.length > 0){
response.data.list.forEach( item => {
let getWorkPlaceList = []
if (response.code == 20000 && response.data.list.length > 0) {
response.data.list.forEach(item => {
let post = {
code: item.workplaceId,
label: item.workplaceName
@ -364,9 +385,9 @@ export default {
this.filterQuery.page = 1;
this.getList();
},
getList(){
getList() {
getSplitCode(this.filterQuery).then(res => {
if (res.code == 20000){
if (res.code == 20000) {
if (res.code === 20000) {
this.list = res.data.list || [];
this.total = res.data.total || 0;
@ -381,13 +402,30 @@ export default {
this.list = [];
this.total = 0;
});
}
},
//
destroyOut(_this, row) {
_this.prescribeData = row
_this.destroyType = 3
_this.destroyOutDialogVisible = true;
},
closeDialog() {
this.destroyOutDialogVisible = false
this.getList()
},
},
filters: {},
mounted() {
this.getWorkPlaceList(this);
},
created() {
if (this.$route.query.workplaceId != null) {
this.isLinkDisabled = true
this.filterQuery.workPlaceCode = this.$route.query.workplaceId
this.showType = 2
}
getHead("ioSplitCode", "1").then((re) => {
//
this.tableObj = re.data;

@ -458,7 +458,6 @@
:destroyType="destroyType"
:closeDialog="closeDialog"
>
</destroyOutDialog>
</el-dialog>

@ -325,7 +325,9 @@ export default {
options: {
findWorkPlace: []
},
showType: 1
showType: 1,
isLinkDisabled: false,
}
},
@ -420,6 +422,7 @@ export default {
},
created() {
if (this.$route.query.workplaceId != null) {
this.isLinkDisabled = true
this.filterQuery.workPlaceCode = this.$route.query.workplaceId
this.showType = 2
}

@ -10,15 +10,15 @@
<!--</div>-->
<el-descriptions title="产品信息" :column="2" border style="margin-top: 5px">
<el-descriptions-item label="UDI码" v-if="destroyType == 2">
{{prescribeData.code}}
{{ prescribeData.code }}
</el-descriptions-item>
<el-descriptions-item label="产品名称" >{{ prescribeData.cpmctymc }}</el-descriptions-item>
<el-descriptions-item label="产品名称">{{ prescribeData.cpmctymc }}</el-descriptions-item>
<el-descriptions-item label="产品标识">{{ prescribeData.nameCode }}</el-descriptions-item>
<el-descriptions-item label="产品规格">{{ prescribeData.ggxh }}</el-descriptions-item>
<el-descriptions-item label="批次号">{{ prescribeData.batchNo }}</el-descriptions-item>
<el-descriptions-item label="计量单位">{{ prescribeData.measname }}</el-descriptions-item>
<el-descriptions-item label="剩余数量" custom-style class="custom-label">
<el-tag size="small">{{prescribeData.reCount}}</el-tag>
<el-tag size="small">{{ prescribeData.reCount }}</el-tag>
<!--<el-tag type="danger">{{ prescribeData.reCount}}</el-tag>-->
</el-descriptions-item>
<el-descriptions-item label="生产日期">{{ produceDate }}</el-descriptions-item>
@ -29,18 +29,20 @@
</el-descriptions>
<!--<el-button type="primary" icon="el-icon-plus" sty>提交</el-button>-->
<el-form :inline="true" :model="formData" class="demo-form-inline" style="margin-top: 30px" :rules="rules" ref="formRef">
<el-form :inline="true" :model="formData" class="demo-form-inline" style="margin-top: 30px" :rules="rules"
ref="formRef">
<el-row :gutter="24">
<el-col :span="10">
<el-form-item label="损耗出库数量" prop="count">
<el-input v-model.number="formData.count" placeholder="请填写损耗出库数量" type="number" :min="1" @input="checkCount"></el-input>
<!--<span v-if="countExceeded" class="exceeded-message">10</span>-->
</el-form-item>
<el-form-item label="损耗出库数量" prop="count">
<el-input v-model.number="formData.count" placeholder="请填写损耗出库数量" type="number" :min="1"
@input="checkCount"></el-input>
<!--<span v-if="countExceeded" class="exceeded-message">10</span>-->
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="损耗出库说明">
<el-input v-model="formData.remark" placeholder="请填写损耗出库说明" clearable></el-input>
</el-form-item>
<el-form-item label="损耗出库说明">
<el-input v-model="formData.remark" placeholder="请填写损耗出库说明" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
@ -58,7 +60,7 @@
</template>
<script>
import { destroyOut, destroyOutByCode } from '@/api/collect/IoDestroy'
import {destroyOut, destroyOutByCode, destroySplitOut} from '@/api/collect/IoDestroy'
export default {
name: 'destroyOutDialog',
@ -78,22 +80,22 @@ export default {
},
data() {
return {
formData:{},
formData: {},
produceDate: null,
expireDate: null,
saveLoading: false,
rules: {
count: [
{ validator: this.validateCount,message: '损耗出库数量不能超出剩余数量',trigger: 'blur' }
{validator: this.validateCount, message: '损耗出库数量不能超出剩余数量', trigger: 'blur'}
]
},
}
},
methods: {
conversionDate(dateString){
conversionDate(dateString) {
const parts = dateString.split('');
const year = '20' + parts.slice(0, 2).join('') ;
const year = '20' + parts.slice(0, 2).join('');
const month = parts[2] + parts[3];
const day = parts[4] + parts[5];
return `${year}-${month}-${day}`;
@ -109,13 +111,13 @@ export default {
//
this.$refs.formRef.validateField('count');
},
closeAddDialog(){
closeAddDialog() {
this.closeDialog()
},
//
destroyOutOrder(){
if ( this.formData.count == null){
destroyOutOrder() {
if (this.formData.count == null) {
return this.$message.error("请输入损耗数量")
}
let query = {
@ -123,32 +125,34 @@ export default {
remark: this.formData.remark,
updateUser: this.$store.getters.adminId,
createUser: this.$store.getters.adminId,
splitFifoInv : this.prescribeData,
code:this.prescribeData.code,
splitFifoInv: this.prescribeData,
code: this.prescribeData.code,
}
if (this.destroyType == 1){
if (this.destroyType == 1) {
destroyOut(query).then(res => {
if (res.code == 20000){
if (res.code == 20000) {
this.closeDialog()
return this.$message.success("损耗出库成功")
}else {
} else {
return this.$message.error(res.message)
}
})
}else {
destroyOutByCode(query).then(res => {
if (res.code == 20000){
} else if (this.destroyType == 1) {
destroySplitOut(query).then(res => {
if (res.code == 20000) {
this.closeDialog()
return this.$message.success("损耗出库成功")
}else {
} else {
return this.$message.error("损耗出库失败")
}
})
} else if (this.destroyType == 3) {
}
},
destroyOutByCodeOrder(){
if ( this.formData.count == null){
destroyOutByCodeOrder() {
if (this.formData.count == null) {
return this.$message.error("请输入损耗数量")
}
let query = {
@ -156,21 +160,21 @@ export default {
remark: this.formData.remark,
updateUser: this.$store.getters.adminId,
createUser: this.$store.getters.adminId,
splitFifoInv : this.prescribeData,
code:this.formData.code,
splitFifoInv: this.prescribeData,
code: this.formData.code,
}
}
},
created() {
if (this.prescribeData.produceDate != null){
if (this.prescribeData.produceDate != null) {
this.produceDate = this.conversionDate(this.prescribeData.produceDate)
}
if (this.prescribeData.expireDate != null){
if (this.prescribeData.expireDate != null) {
this.expireDate = this.conversionDate(this.prescribeData.expireDate)
}
if (this.destroyType == 2){
if (this.destroyType == 2) {
this.prescribeData.reCount = this.prescribeData.totalCount
}
}

Loading…
Cancel
Save