工艺代码提交

dev-scheduling
zhangdi 3 weeks ago
parent 1e37274850
commit 29ddfc7133
  1. 508
      src/views/inboundOutboundManagement/binTransfer/components/addEditDialog.vue
  2. 20
      src/views/orderManagement/components/exception/dataMissing.vue
  3. 212
      src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
  4. 210
      src/views/processManagement/components/processMainte/processPlanning.vue
  5. 7
      src/views/warehouseManagement/components/borrowDialog.vue
  6. 2
      src/views/warehouseManagement/materialMaintenance.vue
  7. 2
      src/views/warehouseManagement/teamRequest/components/addEditDialog.vue

@ -19,26 +19,23 @@
</template>
<template #default="scope">
<!-- prop 格式数组名[索引].字段名 -->
<el-form-item :prop="`tableData[${scope.$index}].location`" :rules="formRules.location">
<el-select
<el-form-item :prop="`tableData[${scope.$index}].location`" :rules="formRules.location" style="margin-top: 14px">
<jhSelect
v-model="scope.row.goodsId"
placeholder="请选择"
style="width: 100%; margin-top: 15px"
remote
:remote-method="remoteMethodGoods"
:loading="loading"
reserve-keyword
clearable
filterable
@change="val => changeGoods(val, scope.$index)"
>
<el-option
v-for="item in goodsData"
:key="item.goodsId"
:value="item.goodsId"
:label="item.goodsCodeAndGoodsName"
></el-option>
</el-select>
placeholder="请搜索选择"
api-url="/api/blade-wms/combox/config/goodsOut"
echo-api="/api/blade-wms/combox/config/goodsOut"
echoParamsKey="ids"
echo-method="get"
api-method="get"
list-key="records"
total-key="total"
label-key="goodsCodeAndGoodsName"
value-key="goodsId"
search-key="filterValue"
:debounce-time="500"
@change="(value, item) => changeGoods(value, item, scope.$index)"
/>
</el-form-item>
</template>
</el-table-column>
@ -55,14 +52,11 @@
</el-table-column>
<!-- 新库房号绑定数组字段 -->
<el-table-column align="center" label="新库房号">
<template #header>
<span><i style="color: red">*</i>新库房号</span>
</template>
<template #header>
<span><i style="color: red">*</i>新库房号</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].newShId`"
:rules="formRules.newShId"
>
<el-form-item :prop="`tableData[${scope.$index}].newShId`" :rules="formRules.newShId">
<el-select
v-model="scope.row.newShId"
placeholder="请选择"
@ -87,25 +81,26 @@
</el-table-column>
<!-- 新库位号绑定数组字段 -->
<el-table-column align="center" label="新库位号">
<!-- remote
<!-- remote
:remote-method="remoteMethodLocation" -->
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].newSlId`"
:rules="formRules.newSlId"
>
<el-select
v-model="scope.row.newSlId"
placeholder="请选择"
style="width: 100%; margin-top: 15px"
:loading="loading"
reserve-keyword
clearable
filterable
>
<el-option v-for="item in locationData" :key="item.id" :value="item.id" :label="item.location"></el-option>
</el-select>
<el-form-item :prop="`tableData[${scope.$index}].newSlId`" :rules="formRules.newSlId">
<el-select
v-model="scope.row.newSlId"
placeholder="请选择"
style="width: 100%; margin-top: 15px"
:loading="loading"
reserve-keyword
clearable
filterable
>
<el-option
v-for="item in locationData"
:key="item.id"
:value="item.id"
:label="item.location"
></el-option>
</el-select>
<!-- <el-input style="margin-top: 15px" v-model="scope.row.newSlId" disabled></el-input> -->
</el-form-item>
</template>
@ -113,10 +108,7 @@
<!-- 旧库房号绑定数组字段 -->
<el-table-column align="center" label="旧库房号">
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].shName`"
:rules="formRules.shName"
>
<el-form-item :prop="`tableData[${scope.$index}].shName`" :rules="formRules.shName">
<el-input style="margin-top: 15px" v-model="scope.row.shName" disabled></el-input>
</el-form-item>
</template>
@ -124,10 +116,7 @@
<!-- 旧库位号绑定数组字段 -->
<el-table-column align="center" label="旧库位号">
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].location`"
:rules="formRules.location"
>
<el-form-item :prop="`tableData[${scope.$index}].location`" :rules="formRules.location">
<el-input style="margin-top: 15px" v-model="scope.row.location" disabled></el-input>
</el-form-item>
</template>
@ -139,17 +128,18 @@
:prop="`tableData[${scope.$index}].specifications`"
:rules="formRules.specifications"
>
<el-input style="margin-top: 15px" v-model="scope.row.specifications" disabled></el-input>
<el-input
style="margin-top: 15px"
v-model="scope.row.specifications"
disabled
></el-input>
</el-form-item>
</template>
</el-table-column>
<!-- 批次号绑定数组字段 -->
<el-table-column align="center" label="批次号">
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].piNo`"
:rules="formRules.piNo"
>
<el-form-item :prop="`tableData[${scope.$index}].piNo`" :rules="formRules.piNo">
<el-input style="margin-top: 15px" v-model="scope.row.piNo" disabled></el-input>
</el-form-item>
</template>
@ -157,10 +147,7 @@
<!-- 库存数量绑定数组字段 -->
<el-table-column align="center" label="库存数量">
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].quantity`"
:rules="formRules.quantity"
>
<el-form-item :prop="`tableData[${scope.$index}].quantity`" :rules="formRules.quantity">
<el-input style="margin-top: 15px" v-model="scope.row.quantity" disabled></el-input>
</el-form-item>
</template>
@ -177,218 +164,213 @@
</template>
<script>
import {getGoodsOutList,addTransfer} from '@/api/storeManagement/binTransfer.js'
import {getWareList,getLocationList} from "@/api/storeManagement/warehouseMaintenance.js"
import { getGoodsOutList, addTransfer } from '@/api/storeManagement/binTransfer.js';
import { getWareList, getLocationList } from '@/api/storeManagement/warehouseMaintenance.js';
import { add } from '@/api/system/menu';
export default {
props: {
title: {
type: String,
default: '新增',
},
showDialog: {
type: Boolean,
default: false,
},
props: {
title: {
type: String,
default: '新增',
},
data() {
return {
openShow: false,
warehouseData: [],
locationData:[],
formError:'',
form: {
tableData: [],
},
goodsData:[],
formRules: {
// 1
tableData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array' //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
trigger: 'submit'
}
],
// wcId
goodsCode: [
{ required: true, message: '请选择物料编码', trigger: ['change', 'submit'] }
],
newShId:[
{ required: true, message: '请选择新库房号', trigger: ['change', 'submit'] }
],
newSlId:[
{ required: true, message: '请选择新库位号', trigger: ['change', 'submit'] }
]
showDialog: {
type: Boolean,
default: false,
},
},
data() {
return {
openShow: false,
warehouseData: [],
locationData: [],
formError: '',
form: {
tableData: [],
},
goodsData: [],
formRules: {
// 1
tableData: [
{
required: true,
message: '请至少添加一行数据',
trigger: 'submit',
type: 'array', //
},
{
validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('请至少添加一行数据'));
} else {
callback();
}
},
loading:false,
};
trigger: 'submit',
},
],
// wcId
goodsCode: [{ required: true, message: '请选择物料编码', trigger: ['change', 'submit'] }],
newShId: [{ required: true, message: '请选择新库房号', trigger: ['change', 'submit'] }],
newSlId: [{ required: true, message: '请选择新库位号', trigger: ['change', 'submit'] }],
},
loading: false,
};
},
mounted() {
this.openShow = this.showDialog;
},
methods: {
remoteMethodGoods(query) {
console.log('query==========', query);
if (query) {
console.log('1111111111111');
this.loading = true;
getGoodsOutList({
goodsCode: query,
}).then(res => {
this.goodsData = res.data.data.records;
this.loading = false;
});
} else {
console.log('222222222222222');
this.loading = true;
getGoodsOutList({
current: 1,
size: 9999,
}).then(res => {
this.goodsData = res.data.data.records;
this.loading = false;
});
}
console.log('goods==============', this.goodsData);
},
mounted() {
this.openShow = this.showDialog;
remoteMethodWare(query) {
if (query) {
this.loading = true;
getWareList({
warehouseCode: query,
}).then(res => {
this.warehouseData = res.data.data.records;
this.loading = false;
});
} else {
this.loading = true;
getWareList().then(res => {
this.warehouseData = res.data.data.records;
this.loading = false;
});
}
},
methods: {
remoteMethodGoods(query){
console.log('query==========',query)
if (query) {
console.log('1111111111111')
this.loading = true
getGoodsOutList({
goodsCode:query
}).then(res =>{
this.goodsData = res.data.data.records;
this.loading = false
})
}else{
console.log('222222222222222')
this.loading = true
getGoodsOutList({
current:1,
size:9999
}).then(res =>{
this.goodsData = res.data.data.records;
this.loading = false
})
}
console.log('goods==============',this.goodsData)
},
remoteMethodWare(query){
if(query){
this.loading = true
getWareList({
warehouseCode:query
}).then(res =>{
this.warehouseData = res.data.data.records;
this.loading = false
})
}else{
this.loading = true
getWareList().then(res =>{
this.warehouseData = res.data.data.records;
this.loading = false
})
}
},
changeGoods(val,index){
let tmp = this.goodsData.find(item => item.goodsId == val)
this.form.tableData[index].rlsId = tmp.id
this.form.tableData[index].goodsName = tmp.goodsName
this.form.tableData[index].location = tmp.location
this.form.tableData[index].shName = tmp.shName
this.form.tableData[index].specifications = tmp.specifications
this.form.tableData[index].piNo = tmp.piNo
this.form.tableData[index].quantity = tmp.quantity
this.form.tableData[index].oldSlId = tmp.slId
this.form.tableData[index].oldShId = tmp.shId
},
changeWare(val,index){
this.form.tableData[index].newSlId = ''
this.remoteMethodLocation(val)
},
remoteMethodLocation(val){
if(val){
this.loading = true
getLocationList({
shId:val
}).then(res =>{
this.locationData = res.data.data.records;
this.loading = false
})
}else{
this.loading = true
getLocationList().then(res =>{
this.locationData = res.data.data.records;
this.loading = false
})
}
},
selectChange(list, row) {
row._select = !row._select;
},
// push tableData
addTable() {
this.form.tableData.push({
_select: false, //
location: '', //
goodsCode: '', //
goodsName: '', //
specifications: '', //
materialModel: '', // /
});
},
//
delTable() {
this.$confirm('确定删除选中数据?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.form.tableData = this.form.tableData.filter(row => !row._select);
});
},
closeDialog(val) {
this.openShow = false;
this.$emit('closeDialog',val);
//
this.form.tableData = [];
this.formError = '';
this.$refs.tableForm?.resetFields();
},
submitForm(){
this.formError = '';
console.log('table----------------',this.form.tableData)
if(this.form.tableData.length === 0){
this.formError = '请至少填写一条数据';
return
changeGoods(val, item, index) {
let tmp = item;
this.form.tableData[index].rlsId = tmp.id;
this.form.tableData[index].goodsName = tmp.goodsName;
this.form.tableData[index].location = tmp.location;
this.form.tableData[index].shName = tmp.shName;
this.form.tableData[index].specifications = tmp.specifications;
this.form.tableData[index].piNo = tmp.piNo;
this.form.tableData[index].quantity = tmp.quantity;
this.form.tableData[index].oldSlId = tmp.slId;
this.form.tableData[index].oldShId = tmp.shId;
},
changeWare(val, index) {
this.form.tableData[index].newSlId = '';
this.remoteMethodLocation(val);
},
remoteMethodLocation(val) {
if (val) {
this.loading = true;
getLocationList({
shId: val,
}).then(res => {
this.locationData = res.data.data.records;
this.loading = false;
});
} else {
this.loading = true;
getLocationList().then(res => {
this.locationData = res.data.data.records;
this.loading = false;
});
}
},
selectChange(list, row) {
row._select = !row._select;
},
// push tableData
addTable() {
this.form.tableData.push({
_select: false, //
location: '', //
goodsCode: '', //
goodsName: '', //
specifications: '', //
materialModel: '', // /
});
},
//
delTable() {
this.$confirm('确定删除选中数据?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.form.tableData = this.form.tableData.filter(row => !row._select);
});
},
closeDialog(val) {
this.openShow = false;
this.$emit('closeDialog', val);
//
this.form.tableData = [];
this.formError = '';
this.$refs.tableForm?.resetFields();
},
submitForm() {
this.formError = '';
console.log('table----------------', this.form.tableData);
if (this.form.tableData.length === 0) {
this.formError = '请至少填写一条数据';
return;
}
// Form
this.$refs.tableForm.validate((isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
// Form
this.$refs.tableForm.validate((isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
return;
}
});
return;
}
//
const submitData = this.form.tableData.map(row => {
const { _select,
// goodsCode,goodsName,
// location,materialModel,piNo,quantity,
// shName,specifications,
...validData } = row; //
return validData;
});
//
const submitData = this.form.tableData.map(row => {
const {
_select,
// goodsCode,goodsName,
// location,materialModel,piNo,quantity,
// shName,specifications,
...validData
} = row; //
return validData;
});
console.log('submitData---------------',submitData)
addTransfer(submitData).then(res =>{
if(res.data.code === 200){
this.$message.success('新增成功')
this.closeDialog(true)
}
})
})
}
}
console.log('submitData---------------', submitData);
addTransfer(submitData).then(res => {
if (res.data.code === 200) {
this.$message.success('新增成功');
this.closeDialog(true);
}
});
});
},
},
};
</script>

@ -47,6 +47,9 @@
row.curStatusText
}}</el-tag>
</template>
<template #validationMomo="{ row }">
<el-text class="mx-1" type="danger">{{ row.validationMomo }}</el-text>
</template>
<template #menu="{ row }">
<el-button type="primary" text @click="editData(row)" v-if="permission.missing_data_edit">修改</el-button>
<!-- <el-button text @click="editData1(row)">修改1</el-button> -->
@ -346,6 +349,23 @@ export default {
align: 'center',
column: [
{
label: '异常原因',
prop: 'validationMomo',
search: true,
sortable: 'custom',
width: 240,
span: 12,
headerAlign: 'center',
align: 'center',
rules: [
{
required: true,
message: '请输入计划单号',
trigger: 'blur',
},
],
},
{
label: '计划单号',
prop: 'ypCode',

@ -500,30 +500,72 @@
<div slot="header" class="clearfix">
<span style="font-size: 16px">子件信息</span>
</div>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
>
<template #isElectroplating-form="{ row, disabled }">
<el-form-item label="子件编号:" prop="partCode">
<el-table :data="data" @select="selectChange" border >
<el-table-column type="index" width="50" label="#" align="center"></el-table-column>
<el-table-column align="center" label="零件号" prop="partCode" width="180">
<template #default="scope">
<el-input v-model="scope.row.partCode" placeholder="请输入" />
</template>
</el-table-column>
<el-table-column align="center" prop="partName" label="零件名称"> </el-table-column>
<el-table-column align="center" prop="productType" label="产品型号"> </el-table-column>
<el-table-column align="center" prop="quota" label="数量" width="140">
<template #default="scope">
<el-input-number
v-model="scope.row.quota"
:min="0"
controls-position="right"
placeholder="请输入"
/>
</template>
</el-table-column>
<el-table-column align="center" prop="area" label="面积(d㎡)" width="140">
<template #default="scope">
<el-input-number
v-model="scope.row.area"
:min="0"
controls-position="right"
placeholder="请输入"
/>
</template>
</el-table-column>
<el-table-column align="center" prop="totalArea" label="总面积"> </el-table-column>
<el-table-column align="center" prop="sinTerType" label="零件类型">
<template #default="scope">
<el-select
v-model="row.isElectroplating"
v-model="scope.row.sinTerType"
placeholder="请选择"
style="width: 250px"
v-if="!(row.sinTerType != 1 && row.partName.indexOf('A1') < 0)"
style="width: 100%"
filterable
clearable
>
<el-option label="插针" :value="1"> </el-option>
<el-option label="壳体" :value="2"> </el-option>
<el-option label="石墨模" :value="5"> </el-option>
<el-option label="自制玻璃饼" :value="3"> </el-option>
<el-option label="其他" :value="4"> </el-option>
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="isElectroplating" label="是否电镀">
<template #default="scope">
<el-select
v-model="scope.row.isElectroplating"
placeholder="请选择"
style="width: 100%"
v-if="!(scope.row.sinTerType != 1 && scope.row.partName.indexOf('A1') < 0)"
filterable
clearable
>
<el-option label="是" value="1"> </el-option>
<el-option label="否" value="0"> </el-option>
</el-select>
</el-form-item>
</template>
</avue-crud>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column align="center" prop="updateUserStr" label="修改人"> </el-table-column>
<el-table-column align="center" prop="updateTime" label="修改时间"> </el-table-column>
</el-table>
</el-card>
</div>
</template>
@ -634,143 +676,7 @@ export default {
},
submitLoading: false,
data: [],
option: {
tip: false,
simplePage: false,
searchShow: true,
searchMenuSpan: 6,
dialogWidth: '60%',
border: true,
selection: false,
viewBtn: true,
menuWidth: 240,
dialogClickModal: false,
excelBtn: true,
viewBtn: false,
editBtnText: '编辑',
refreshBtn: false,
searchShowBtn: false,
gridBtn: false,
menu: false,
header: false,
index: true,
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
column: [
{
label: '零件号',
prop: 'partCode',
search: false,
sortable: true,
overHidden: true,
cell: true,
width: 180,
},
{
label: '零件名称',
prop: 'partName',
search: false,
sortable: true,
overHidden: true,
},
{
label: '产品型号',
prop: 'productType',
search: false,
sortable: true,
overHidden: true,
},
{
label: '数量',
prop: 'quota',
search: false,
sortable: true,
overHidden: true,
cell: true,
},
{
label: '面积(d㎡)',
prop: 'area',
search: false,
sortable: true,
overHidden: true,
cell: true,
},
{
label: '总面积',
prop: 'totalArea',
cell: false,
search: false,
sortable: true,
overHidden: true,
},
{
label: '零件类型',
prop: 'sinTerType',
search: false,
sortable: true,
overHidden: true,
type: 'select',
filterable: true,
clearable: true,
cell: true,
dicData: [
{
label: '插针',
value: 1,
},
{
label: '壳体',
value: 2,
},
{
label: '石墨模',
value: 5,
},
{
label: '自制玻璃饼',
value: 3,
},
{
label: '其他',
value: 4,
},
],
},
{
label: '是否电镀',
prop: 'isElectroplating',
cell: true,
search: false,
sortable: true,
overHidden: true,
},
{
label: '修改人',
prop: 'updateUserStr',
search: false,
sortable: true,
overHidden: true,
},
{
label: '修改时间',
prop: 'updateTime',
search: false,
sortable: true,
overHidden: true,
},
],
},
partType: '',
loading: false,
plateList: [], //

@ -114,7 +114,6 @@
style="width: 220px; margin-right: 12px"
clearable
filterable
:filter-method="handleFilter"
></el-cascader>
<el-button type="primary" @click="modelLevelChange()" :loading="modelLevelLoading"
@ -390,11 +389,6 @@
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].mtId`" :rules="formRules3.mtId">
<!-- <el-input
v-model="scope.row.tool"
placeholder="请输入"
style="width: 100%"
></el-input> -->
<jhSelect
v-model="scope.row.mtId"
placeholder="请搜索选择"
@ -600,7 +594,6 @@ export default {
formRules1: {
ppsId: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
caId: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
// proDes: [{ required: true, message: '', trigger: ['change', 'submit'] }],
isMain: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
processNo: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
@ -642,6 +635,7 @@ export default {
},
cascaderValue: '',
cascaderOptions: [],
cachedSelectedNodeId: null, // ID
};
},
@ -679,8 +673,6 @@ export default {
}
});
this.cascaderOptions = data_;
// this.filteredList = [...this.modelOption];
});
},
//
@ -831,26 +823,7 @@ export default {
this.rankList = res.data.data;
});
},
handleFilter(keyword) {
// 1.
if (!keyword) {
this.filteredList = [...this.modelOption];
return;
}
// 2.
const lowerKeyword = keyword;
// 3. name pinyin
this.filteredList = this.modelOption.filter(item => {
// 1
const matchName = item.name.includes(lowerKeyword);
// 2
const matchPinyin = item.modelNameStr.includes(lowerKeyword);
//
return matchName || matchPinyin;
});
},
//
async getModelList() {
await getModelList().then(res => {
@ -999,7 +972,7 @@ export default {
updateTreeNode(this.data);
},
//
async getDetails() {
async getDetails(shouldRestoreSelection = false) {
this.treeLoading = true;
let query_ = {};
if (!this.updateRow.partVersion) {
@ -1016,24 +989,79 @@ export default {
rank: this.lastConfirmedRank,
};
}
await getProcessAuthorized(query_)
.then(res => {
this.treeLoading = false;
this.data = this.transformCraftTree(res.data.data);
this.partInfoData = res.data.data.partInfo;
this.$nextTick(() => {
this.autoSelectFirstProcess();
this.calculateTableHeight();
});
if (this.partInfoData.partName == '石墨模') {
let graphite = this.modelOption.find(item => item.name == '石墨模');
this.modelLevel = graphite.id;
this.modelLevelChange();
try {
const res = await getProcessAuthorized(query_);
this.treeLoading = false;
this.data = this.transformCraftTree(res.data.data);
this.partInfoData = res.data.data.partInfo;
this.$nextTick(() => {
//
if (!shouldRestoreSelection && this.data.length > 0) {
const rootNode = this.data[0];
this.handleNodeClick(rootNode, {
level: 1,
parent: { data: null, isRoot: true },
});
if (this.$refs.tree) {
this.$refs.tree.setCurrentKey(rootNode.id);
}
}
})
.catch(err => {
this.treeLoading = false;
//
else if (shouldRestoreSelection && this.cachedSelectedNodeId) {
this.restoreSelectedNode();
}
this.calculateTableHeight();
});
} catch (err) {
this.treeLoading = false;
}
},
//
restoreSelectedNode() {
const findAndSelectNode = nodes => {
for (let node of nodes) {
if (node.id === this.cachedSelectedNodeId) {
//
this.handleNodeClick(node, {
level: node.level,
parent: {
data: this.getParentNode(this.data, node.id),
isRoot: node.level === 1,
},
});
//
this.$nextTick(() => {
if (this.$refs.tree) {
this.$refs.tree.setCurrentKey(node.id);
}
});
return true;
}
if (node.children && node.children.length > 0) {
if (findAndSelectNode(node.children)) return true;
}
}
return false;
};
findAndSelectNode(this.data);
},
//
getParentNode(nodes, targetId, parent = null) {
for (let node of nodes) {
if (node.id === targetId) {
return parent;
}
if (node.children && node.children.length > 0) {
const found = this.getParentNode(node.children, targetId, node);
if (found) return found;
}
}
return null;
},
autoSelectFirstProcess() {
if (!this.data || this.data.length === 0) return;
@ -1133,10 +1161,9 @@ export default {
if (nodes.disabled && node.level !== 1) {
return false;
}
// console.log(node.level, nodes, 'node.level');
this.calculateTableHeight();
this.treeLoading = true;
this.cachedSelectedNodeId = nodes.id;
this.treeNodes = nodes;
const parentNode = node.parent;
@ -1145,10 +1172,8 @@ export default {
}
this.treeLeave = node.level;
//
this.clearTableData();
//
if (this.treeLeave === 1) {
// 🟢
@ -1255,7 +1280,6 @@ export default {
this.$prompt('请输入零件号', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
// inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
inputErrorMessage: '零件号正确',
})
.then(({ value }) => {
@ -1264,7 +1288,6 @@ export default {
partCode: value,
};
console.log(9999999, node.data.id);
craftBatchCopy(query).then(res => {
this.$message.success('复制成功');
});
@ -1591,7 +1614,7 @@ export default {
// // heatTreatmentTest
if (dsCraftMold.hotDispose == '1') {
if (!arr.includes('热处理检验')) {
this.$message({
this.$message({
dangerouslyUseHTMLString: true,
message:
'<strong style="font-size:22px" >' +
@ -1625,7 +1648,6 @@ export default {
});
}
}
//
if (this.treeNodes.rawData.qualityGradeCode) {
@ -1640,12 +1662,12 @@ export default {
processList: this.form1.tableData1, //
processDeleteIds: this.form1.deleteIds, //ids
};
this.craftLoading = true;
this.craftLoading = true;
authorizedAccomplish2(query_)
.then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
this.getDetails();
this.getDetails(true);
})
.catch(err => {
this.craftLoading = false;
@ -1678,18 +1700,20 @@ export default {
deleteIds: this.form2.deleteIds, //ids
};
saveProcessProjectSave(query_).then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.projectList = this.form2.tableData2;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
}).catch(err=>{
this.craftLoading = false;
})
saveProcessProjectSave(query_)
.then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.projectList = this.form2.tableData2;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
})
.catch(err => {
this.craftLoading = false;
});
}
});
}
@ -1702,18 +1726,20 @@ export default {
processMeasuringToolEntities: this.form3.tableData3, //
deleteIds: this.form3.deleteIds, //ids
};
saveProcessMeasuringTool(query_).then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.measuringToolList = this.form3.tableData3;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
}).catch(err=>{
this.craftLoading = false;
})
saveProcessMeasuringTool(query_)
.then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.measuringToolList = this.form3.tableData3;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
})
.catch(err => {
this.craftLoading = false;
});
}
});
}
@ -1726,18 +1752,20 @@ export default {
processMoldToolEntities: this.form4.tableData4, //
deleteIds: this.form4.deleteIds, //ids
};
saveProcessMoldTool(query_).then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.moldToolList = this.form4.tableData4;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
}).catch(err=>{
this.craftLoading = false;
})
saveProcessMoldTool(query_)
.then(res => {
this.$message.success('保存成功');
this.craftLoading = false;
//
if (this.treeLeave === 3) {
this.treeNodes.rawData.moldToolList = this.form4.tableData4;
this.updateTreeNodeProject();
this.refreshTableData(); //
}
})
.catch(err => {
this.craftLoading = false;
});
}
});
}

@ -198,12 +198,15 @@ export default {
this.tableData[index].goodsId = tmp.id
this.tableData[index].unitName = tmp.unitName
this.tableData[index].materialModel = tmp.materialModel
getWarehouseList({
if(val != ''){
getWarehouseList({
goodsCode:val
}).then(res =>{
console.log('res-----------',res)
this.tableData[index].shList = res.data.data
})
}
}
// let tmp = this.goodsList.find(item => item.goodsCode == val)
@ -231,7 +234,7 @@ export default {
},
changePiNo(val,index){
let tmp = this.tableData[index].piNoList.find(item => item.piNo == val)
this.tableData[index].stockQuantity = tmp.quantity
this.tableData[index].stockQuantity = tmp.usableQuantity
this.tableData[index].rlsId = tmp.id
},
getUser(){

@ -352,7 +352,7 @@ export default {
// ],
},
{
label: '是否用',
label: '是否用',
editDisplay: true,
prop: 'used',
type: 'switch',

@ -36,7 +36,7 @@
total-key="total"
label-key="goodsCode"
value-key="goodsCode"
search-key="goodsCode"
search-key="filterValue"
:debounce-time="100"
@change="(val, item) => changeGoods(val, item, scope.row, scope.$index)"
/>

Loading…
Cancel
Save