中微测试

main
FOAM 2024-09-09 13:45:58 +08:00
parent 6fce7fae2e
commit 0fc09737df
7 changed files with 25051 additions and 70 deletions

24841
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -52,4 +52,28 @@ export function edit(data) {
})
}
export default { add, edit, del }
export function zlRegister(ids) {
return request({
url: 'api/asn/zlRegister',
method: 'post',
data: ids
})
}
export function cyRegister(ids) {
return request({
url: 'api/asn/cyRegister',
method: 'post',
data: ids
})
}
export function zjRegister(ids) {
return request({
url: 'api/asn/zjRegister',
method: 'post',
data: ids
})
}
export default { add, edit, del,zlRegister,cyRegister,zjRegister }

View File

@ -7,6 +7,14 @@ export function getBillType() {
})
}
export function getBillTypes(params) {
return request({
url: 'api/billType/getBillTypes',
method: 'post',
data: params
})
}
export function add(data) {
return request({
@ -32,4 +40,4 @@ export function edit(data) {
})
}
export default { add, edit, del }
export default { add, edit, del ,getBillTypes}

View File

@ -62,7 +62,11 @@
/>
</el-select>
</el-form-item>
<el-form-item label="流程规则" >
<el-checkbox label="整理" style="font-weight :bold" v-model="form.bezl"></el-checkbox>
<el-checkbox label="抽样" style="font-weight :bold" v-model="form.becy"></el-checkbox>
<el-checkbox label="质检" style="font-weight :bold" v-model="form.bezj"></el-checkbox>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU"></el-button>
@ -87,6 +91,21 @@
{{ dict.label.bill_type[scope.row.type] }}
</template>
</el-table-column>
<el-table-column prop="bezl" label="整理">
<template slot-scope="scope">
{{ scope.row.bezl ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="becy" label="抽样">
<template slot-scope="scope">
{{ scope.row.becy ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="bezj" label="质检">
<template slot-scope="scope">
{{ scope.row.bezj ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="enabled" label="启用">
<template slot-scope="scope">
@ -138,7 +157,10 @@ const defaultForm = {
updateBy: null,
createTime: null,
updateTime: null,
prefix: null
prefix: null,
bezl:null,
becy:null,
bezj:null
}
export default {
name: 'BillType',

View File

@ -121,6 +121,12 @@
<el-form-item label="描述">
<el-input v-model="form.description" :rows="3" type="textarea" style="width: 370px;"/>
</el-form-item>
<el-form-item label="物料规则" >
<el-checkbox label="批次" style="font-weight :bold" v-model="form.bepc"></el-checkbox>
<el-checkbox label="序列号" style="font-weight :bold" v-model="form.bexq"></el-checkbox>
<el-checkbox label="超收" style="font-weight :bold" v-model="form.beds"></el-checkbox>
<el-checkbox label="超发" style="font-weight :bold" v-model="form.becf"></el-checkbox>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU"></el-button>
@ -146,6 +152,26 @@
<el-table-column prop="extendD3" label="收容数"/>
<el-table-column prop="specs" label="规格"/>
<el-table-column prop="largeClass" label="组合编码"/>
<el-table-column prop="bepc" label="批次">
<template slot-scope="scope">
{{ scope.row.bepc ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="bexq" label="序列号">
<template slot-scope="scope">
{{ scope.row.bexq ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="beds" label="超收">
<template slot-scope="scope">
{{ scope.row.beds ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="becf" label="超发">
<template slot-scope="scope">
{{ scope.row.becf ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="enabled" label="启用" width="50">
<template slot-scope="scope">
<el-switch

View File

@ -1,8 +1,8 @@
<template>
<div class="app-container">
<div class="app-container" >
<!--工具栏-->
<!-- 搜索 -->
<div v-if="crud.props.searchToggle">
<div v-if="crud.props.searchToggle" >
<!-- 搜索 -->
<!-- <label class="el-form-item-label">单号</label>-->
<el-input v-model="query.code" clearable placeholder="单号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
@ -33,7 +33,7 @@
</el-select>
<rrOperation :crud="crud" />
</div>
<div class="head-container">
<div class="head-container" v-loading="this.loading_add" element-loading-text="拼命加载中" element-loading-background="rgba(0, 0, 0, 0.1)">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<!-- <el-button-->
<!-- slot="right"-->
@ -57,6 +57,36 @@
>
新增
</el-button>
<el-button
slot="left"
class="filter-item"
type="primary"
size="mini"
:disabled="viewZl"
v-permission="permission.invVerify"
@click="zlBtn(crud.selections)">
整理
</el-button>
<el-button
slot="left"
class="filter-item"
type="primary"
size="mini"
:disabled="viewCy"
v-permission="permission.invVerify"
@click="cyBtn(crud.selections)">
抽样
</el-button>
<el-button
slot="left"
class="filter-item"
type="primary"
size="mini"
:disabled="viewZj"
v-permission="permission.invVerify"
@click="zjBtn(crud.selections)">
质检
</el-button>
<el-button
slot="left"
class="filter-item"
@ -210,11 +240,10 @@
{{formatDate1(scope.row.orderDate)}}
</template>
</el-table-column>
<el-table-column prop="receivedDate" label="收货日期" width="140px" align="center">
<template slot-scope="scope">
{{ formatDate1(scope.row.receivedDate)}}
</template>
</el-table-column>
<el-table-column prop="zlDate" label="整理日期" width="140px" align="center"/>
<el-table-column prop="cyDate" label="抽样日期" width="140px" align="center"/>
<el-table-column prop="zjDate" label="质检日期" width="140px" align="center"/>
<el-table-column prop="receivedDate" label="收货日期" width="140px" align="center"/>
<el-table-column prop="orderQuantity" label="订单数量" align="center"/>
<el-table-column prop="receivedQuantity" label="收货数量" align="center"/>
<el-table-column prop="createBy" label="创建人" align="center"/>
@ -252,7 +281,7 @@
<script>
import DateRangePicker from "@/components/DateRangePicker/index.vue";
import crudAsn, { getCodeNo, queryAsnAll, save } from '@/api/asn'
import crudAsn, { getCodeNo, queryAsnAll, save,zlRegister,cyRegister,zjRegister } from '@/api/asn'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation.vue'
import crudOperation from '@crud/CRUD.operation.vue'
@ -264,6 +293,7 @@ import { add, invVerify, queryAsnDetailAll } from '@/api/asnDetail'
import { queryPointList } from '@/api/point'
import { queryItemAll } from '@/api/item'
import { formatDate } from '@/utils/commonUtils'
import {xbjsOut} from "@/api/pickOut";
const defaultForm = {
id: null,
@ -337,6 +367,7 @@ export default {
{ key: 'status', display_name: '状态查询' },
],
areaOptions: [],
loading_add:false,
billTypeOptions: [],
//
inserAsnOnOff: false,
@ -405,7 +436,10 @@ export default {
itemListData: [],
pointList: [],
asnOptions: [],
invVerifySTF:true
invVerifySTF:true,
viewZl:true,
viewCy:true,
viewZj:true
}
},
mounted() {
@ -526,55 +560,99 @@ export default {
this.$message.success(res)
this.crud.toQuery()
// }
}).catch(e=>{
this.$message.error(e)
})
},
invVerifySTFM(selection, row){
if (selection.length>0){
this.invVerifySTF = false;
this.viewZl = false;
this.viewCy = false;
this.viewZj = false;
}else {
return
}
//
for (const selectionElement of selection) {
///
if (!(selectionElement.status === 'OPEN' || selectionElement.status === 'RECEIVING')){
//
if (selectionElement.status === 'RECEIVED'){
this.invVerifySTF = true;
this.viewZl = true;
this.viewCy = true;
this.viewZj = true;
}
if (selectionElement.status !== 'OPEN'){
this.viewZl = true;
}
if (selectionElement.status !== 'OPEN'&&selectionElement.status !== 'ZL'){
this.viewCy = true;
}
if (selectionElement.status !== 'OPEN'&&selectionElement.status !== 'ZL'&&selectionElement.status !== 'CY'){
this.viewZj = true;
}
}
},
invVerifySTFAll(selection){
if (selection.length>0){
this.invVerifySTF = false;
this.viewZl = true;
this.viewCy = true;
this.viewZj = true;
}else {
return
}
//
for (const selectionElement of selection) {
///
if (!(selectionElement.status === 'OPEN' || selectionElement.status === 'RECEIVING')){
if (selectionElement.status === 'RECEIVED'){
this.invVerifySTF = true;
this.viewZl = true;
this.viewCy = true;
this.viewZj = true;
}
}
},
zlBtn(data){
this.loading_add=true;
let ids = [];
for (const obj of data) {
ids.push(obj.id)
}
zlRegister(ids).then(res=>{
this.crud.toQuery()
this.loading_add=false;
this.$message.success("整理登记完成")
},e=>{
this.loading_add=false;
})
},
cyBtn(data){
this.loading_add=true;
let ids = [];
for (const obj of data) {
ids.push(obj.id)
}
cyRegister(ids).then(res=>{
this.crud.toQuery()
this.loading_add=false;
this.$message.success("抽样登记完成")
},e=>{
this.loading_add=false;
})
},
zjBtn(data){
this.loading_add=true;
let ids = [];
for (const obj of data) {
ids.push(obj.id)
}
zjRegister(ids).then(res=>{
this.crud.toQuery()
this.loading_add=false;
this.$message.success("质检登记完成")
},e=>{
this.loading_add=false;
})
}
/**
* 根据条件禁用行复选框
* 函数返回值为false则禁用选择(反之亦然)
* @param {Object} row - 行数据
* @param {String} index - 索引值
* @return Boolean
*/
// selectable: function(row, index) {
// // ""
// // if(row.receivedDate != null){
// // return false;
// // }
// return !(row.status != null);
// //
// // N (N )
// // false()
// },
}
}
</script>

View File

@ -167,7 +167,7 @@
>
<el-form-item label="物料" prop="item" style="float: left">
<el-select v-model="form.item" value-key="id" filterable placeholder="请选择品番" style="width: 200px;"
@change="getPointList($event.code,asn)"
@change="getPointList(form.item,$event.code,asn)"
clearable
>
<el-option
@ -196,6 +196,13 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="viewPropC1" label="批次号" prop="propC1" style="float: left">
<el-input v-model="form.propC1" style="width: 200px;"/>
</el-form-item>
<el-form-item v-if="viewPropC2" label="序列号" prop="propC2" style="float: left">
<el-input v-model="form.propC2" style="width: 200px;"/>
</el-form-item>
<el-form-item label="备注" prop="remark" style="float: left">
<el-input type="textarea" :rows="2" v-model="form.remark" style="width: 200px;"/>
</el-form-item>
@ -240,12 +247,13 @@
<div>{{ scope.row.point == null ? '' : scope.row.point.code }}</div>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="propC1" label="批次号">
<el-table-column prop="propC1" label="批次号">
<template slot-scope="scope">
<div>{{ scope.row.propC1 }}</div>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="propD1" label="生产日期">
<el-table-column prop="propC2" label="序列号"/>
<el-table-column prop="propD1" label="生产日期">
<template slot-scope="scope">
<div>{{ scope.row.propD1 }}</div>
</template>
@ -286,8 +294,8 @@ import DateRangePicker from '@/components/DateRangePicker/index.vue'
import { getToken } from '@/utils/auth'
import { queryPointList } from '@/api/point'
import { getIdByAsn } from '@/api/asn'
import { getAreas } from '@/api/area'
import { getBillType } from '@/api/billType'
import {getAreas, queryAreaList} from '@/api/area'
import { getBillTypes} from '@/api/billType'
import crudAsn from '@/api/asn'
import { queryBomAccountList } from '@/api/bomAccount'
import {mapGetters} from "vuex";
@ -369,6 +377,7 @@ export default {
},
data() {
return {
fileList:[],
headers: { 'Authorization': getToken() },
permission: {
add: ['admin', 'asnDetail:add'],
@ -435,6 +444,7 @@ export default {
createTime: null,
updateTime: null
},
detailId:0,
//id
asnId: 0,
asn: {},
@ -450,7 +460,9 @@ export default {
logining1: false,
logining2: false,
logining3: false,
pointTF:true,
pointTF:false,
viewPropC1:false,
viewPropC2:false,
}
},
// beforeDestroy() { //
@ -490,7 +502,12 @@ export default {
this.asnFrom.orderDate = `${year}-${month}-${day}`
},
//
getPointList(code, data) {
getPointList(itObj,code, data) {
console.log(itObj)
if(itObj!=null) {
this.viewPropC1 = itObj.bepc;
this.viewPropC2 = itObj.bexq;
}
if (data.area.bexb) {
this.pointTF=true;
let selectDate = { rAreaCode: null, itemCode: null }
@ -519,6 +536,9 @@ export default {
})
}else {
this.pointTF=false;
queryPointList({ type: 'CH' }).then(re => {
this.pointOptions = re
})
}
},
//
@ -554,16 +574,13 @@ export default {
getAreas().then(res => {
this.areaOptions = res
})
//
getBillType().then(res => {
//
getBillTypes({type:'100001',enabled:true}).then(res=>{
this.billTypeOptions = res
for (const re of res) {
if (re.code === 'RK') {
this.asnFrom.billType = re
}
}
})
},
//
asnTF() {
if (this.asnId != 0) {
@ -622,7 +639,7 @@ export default {
this.logining2 = true
let data = this.asnDetailButton
data.button = num
data.id = this.asn.id
data.id =this.detailId
rkAndQxButton(data).then(res => {
this.$message.success(res)
this.dyrkTf = false
@ -652,9 +669,10 @@ export default {
},
//
dyrkM(data) {
this.detailId=data[0].id;
this.dyrkTf = !this.dyrkTf
console.log(data[0].item.code)
this.getPointList(data[0].item.code, this.asn)
this.getPointList(null,data[0].item.code, this.asn)
this.asnDetailButton.asnDetailData = data[0]
},
//