Commit 1002b33c authored by xioln's avatar xioln

供外物料类型选择

parent fc83cdf4
/**
* @Description: 物料类型
* @author xioln
* @date 2023-08-23
* @FilePath: applications/dee-mes/src/privateComponents/components/extResourceTypeSelect/index.vue
*/
<template>
<div>
<el-select v-model="form.materialType" :disabled="disabledVal">
<el-option
v-for="(item,i) in materialTypeOptions"
:key="i"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</template>
<script>
export default {
componentName: '物料类型',
name: 'ExtResourceTypeSelect',
components: {},
props: {
form: {},
itemObj: {
type: Object,
default: null
}
},
data() {
return {
materialTypeOptions: [],
isFirst: true,
disabledVal: false
}
},
computed: {},
watch: {
'form.extWorkCenterId'(val) {
if (val) {
this.$set(this.form, 'materialType', this.form.materialTypeId || '')
if (!this.isFirst) {
this.$set(this.form, 'materialType', '')
}
this.getMaterialType(val)
}
},
itemObj: {
immediate: true,
deep: true,
handler(v) {
if (v.component.hasOwnProperty('disabled')) {
this.disabledVal = v.component.disabled
}
}
}
},
// 生命周期 - 创建完成(可以访问当前this 实例)
created() {
},
// 生命周期 - 挂载之前
beforeMount() {
},
// 生命周期 - 挂载完成(可以访问 DOM 元素)
mounted() {
},
methods: {
getMaterialType(val) {
this.isFirst = false
const params = {
searchItems: {
items: [{ 'fieldName': 'sourceId', operator: 'EQ', value: val }],
operator: 'AND'
},
openProps: [{ 'name': 'target' }]
}
this.$api.searchApi('ExtCenterResourceTypeLink', params).then(res => {
const materialTypeOptions = res.items.content.map(row => {
return {
value: row.target.id,
label: row.target.typeName
}
})
this.materialTypeOptions = materialTypeOptions
})
}
}
}
</script>
<style lang='scss' scoped>
</style>
...@@ -6,10 +6,12 @@ ...@@ -6,10 +6,12 @@
*/ */
<template> <template>
<div class="procurement-Warehousing-import"> <div class="procurement-Warehousing-import">
<dee-dialog <el-dialog
:dialog-visible="dialogVisible" :visible.sync="dialogVisible"
title="导入" title="导入"
width="40%" width="40%"
close-on-click-modal
show-close
> >
<el-form ref="fileForm" label-width="100px"> <el-form ref="fileForm" label-width="100px">
<el-form-item label="选择文件"> <el-form-item label="选择文件">
...@@ -38,7 +40,7 @@ ...@@ -38,7 +40,7 @@
@click="handleImportExcel" @click="handleImportExcel"
>确定导入</el-button> >确定导入</el-button>
</div> </div>
</dee-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
...@@ -123,13 +125,14 @@ export default { ...@@ -123,13 +125,14 @@ export default {
this.$api.apiUploadFile(`/InStorageRequestItem/importByExcel?id=${id}`, formData).then(res => { // 调用接口 this.$api.apiUploadFile(`/InStorageRequestItem/importByExcel?id=${id}`, formData).then(res => { // 调用接口
this.uploading = false this.uploading = false
if (res.code === '0') { if (res.code === '0') {
this.$message.success(res.message) this.$utils.showMessageSuccess(res.message)
this.close() this.close()
} else { } else {
this.$message.error(res.message) this.$utils.showMessageError(res.message)
} }
}).catch(err => { }).catch(err => {
this.$message.error(err) // this.$utils.showMessageError(err)
console.log('err', err)
}) })
} }
} }
...@@ -138,7 +141,7 @@ export default { ...@@ -138,7 +141,7 @@ export default {
<style lang='scss'> <style lang='scss'>
.procurement-Warehousing-import { .procurement-Warehousing-import {
.dialog-footer{ .dialog-footer{
float: right; margin-right: 25px;
} }
} }
</style> </style>
...@@ -6,12 +6,7 @@ ...@@ -6,12 +6,7 @@
*/ */
<template> <template>
<div class="storageDetails-create"> <div class="storageDetails-create">
<dee-dialog <dee-dialog :dialog-visible="dialogVisible" title="采购入库申请创建" width="90%" @handleClose="handleClose">
:dialog-visible="dialogVisible"
title="采购入库申请创建"
width="90%"
@handleClose="handleClose"
>
<dee-form <dee-form
ref="form" ref="form"
:form="form" :form="form"
...@@ -19,11 +14,12 @@ ...@@ -19,11 +14,12 @@
:rules="rules" :rules="rules"
label-width="200px" label-width="200px"
form-btn-position="center" form-btn-position="center"
:form-buttons="formButtons"
@on-submit="save"
@on-cancel="handleClose"
> >
<section> <!-- <el-button ref="saveButton" :disabled="disabled" :loading="saveLoading" type="primary" size="medium" @click.native="()=>{save()}">确定</el-button>
<el-button :disabled="disabled" type="primary" size="medium" @click="save">确定</el-button> <el-button :disabled="disabled" size="medium" @click="handleClose">取消</el-button> -->
<el-button :disabled="disabled" size="medium" @click="handleClose">取消</el-button>
</section>
</dee-form> </dee-form>
</dee-dialog> </dee-dialog>
</div> </div>
...@@ -45,15 +41,30 @@ export default { ...@@ -45,15 +41,30 @@ export default {
return { return {
dialogVisible: false, dialogVisible: false,
disabled: false, disabled: false,
saveLoading: false,
header: {}, header: {},
billType: '', billType: '',
form: { }, form: {},
formFileds: [ formFileds: [
{ {
split: 3, split: 3,
data: [] data: []
} }
], ],
formButtons: [
{
text: '提交',
type: 'submit',
component: {
type: 'primary',
loading: false
}
},
{
text: '取消',
type: 'cancel'
}
],
material: [], material: [],
suppliers: [], suppliers: [],
// 表单校验 // 表单校验
...@@ -236,6 +247,7 @@ export default { ...@@ -236,6 +247,7 @@ export default {
}, },
methods: { methods: {
handleOpen(type, basicData, row) { handleOpen(type, basicData, row) {
console.log('rwo', row)
this.basicData = basicData this.basicData = basicData
this.form = { 'reqAmount': 1 } this.form = { 'reqAmount': 1 }
this.dialogVisible = true this.dialogVisible = true
...@@ -248,10 +260,10 @@ export default { ...@@ -248,10 +260,10 @@ export default {
this.$set(this.form, 'operator', 'ADD') this.$set(this.form, 'operator', 'ADD')
delete row.id delete row.id
this.form = row this.form = row
this.$set(this.form, 'supplier', row.extDxSipplier.supplierFullName || '') this.$set(this.form, 'supplier', row.extDxSipplierId)
this.$set(this.form, 'withProductMaterial', Array.isArray(row.withProductMaterial) ? row.withProductMaterial : row.withProductMaterial.split(';')) this.$set(this.form, 'withProductMaterial', Array.isArray(row.withProductMaterial) ? row.withProductMaterial : row.withProductMaterial.split(';'))
this.resetMaterial(row.extMaterial.resCode) this.resetMaterial(row.extMaterial ? row.extMaterial.resCode : '')
this.changeMaterial(row.extMaterial.resCode) this.changeMaterial(row.extMaterial ? row.extMaterial.resCode : '')
this.$set(this.form, 'resCode', '') this.$set(this.form, 'resCode', '')
this.$set(this.form, 'resName', '') this.$set(this.form, 'resName', '')
this.$set(this.form, 'reqUnit', '') this.$set(this.form, 'reqUnit', '')
...@@ -456,7 +468,7 @@ export default { ...@@ -456,7 +468,7 @@ export default {
title: '供应商', title: '供应商',
key: 'supplier', key: 'supplier',
component: { component: {
name: 'el-input', name: 'el-select',
disabled: true, disabled: true,
placeholder: '请输入供应商' placeholder: '请输入供应商'
}, },
...@@ -751,6 +763,7 @@ export default { ...@@ -751,6 +763,7 @@ export default {
component: { component: {
clearable: true, clearable: true,
name: 'el-input', name: 'el-input',
disabled: childrenAddOrEdit,
placeholder: '请输入架次' placeholder: '请输入架次'
} }
}, },
...@@ -766,7 +779,6 @@ export default { ...@@ -766,7 +779,6 @@ export default {
}, },
handler: { handler: {
change: (v) => { change: (v) => {
console.log('123', v)
this.changeComputed() this.changeComputed()
} }
} }
...@@ -775,7 +787,7 @@ export default { ...@@ -775,7 +787,7 @@ export default {
title: '供应商', title: '供应商',
key: 'supplier', key: 'supplier',
component: { component: {
name: 'el-input', name: 'el-select',
disabled: true, disabled: true,
placeholder: '请输入供应商' placeholder: '请输入供应商'
}, },
...@@ -1130,6 +1142,7 @@ export default { ...@@ -1130,6 +1142,7 @@ export default {
component: { component: {
clearable: true, clearable: true,
name: 'el-input', name: 'el-input',
disabled: childrenAddOrEdit,
placeholder: '请输入架次' placeholder: '请输入架次'
} }
}, },
...@@ -1150,7 +1163,7 @@ export default { ...@@ -1150,7 +1163,7 @@ export default {
title: '供应商', title: '供应商',
key: 'supplier', key: 'supplier',
component: { component: {
name: 'el-input', name: 'el-select',
disabled: true, disabled: true,
placeholder: '请输入供应商' placeholder: '请输入供应商'
}, },
...@@ -1396,6 +1409,8 @@ export default { ...@@ -1396,6 +1409,8 @@ export default {
this.defaultAirModel() this.defaultAirModel()
// 设置随产品资料 // 设置随产品资料
this.resetProductFiles() this.resetProductFiles()
// 设置供应商
this.getExtDxSipplier()
}, },
// 设置物料类型下拉 // 设置物料类型下拉
async resetMaterial(query) { async resetMaterial(query) {
...@@ -1692,6 +1707,17 @@ export default { ...@@ -1692,6 +1707,17 @@ export default {
this.extUnitId = SELECT_MATERIAL.extUnitId || '' this.extUnitId = SELECT_MATERIAL.extUnitId || ''
} }
}, },
// 供应商ExtDxSipplier/find/recursion
getExtDxSipplier() {
const param = {}
post('ExtDxSipplier/find/recursion', param).then(res => {
this.formFileds[0].data.forEach(item => {
item.key === 'supplier' && (item.component.options = res.items.content.map(row => { return { value: row.id, label: `${row.supplierCode}-${row.supplierName}` } }))
})
}).catch((err) => {
console.log(err)
})
},
// 设置随产品资料 // 设置随产品资料
resetProductFiles(value) { resetProductFiles(value) {
const PRODUCT = this.formFileds[0].data.find( const PRODUCT = this.formFileds[0].data.find(
...@@ -1794,9 +1820,10 @@ export default { ...@@ -1794,9 +1820,10 @@ export default {
} }
}, },
save() { save() {
this.$set(this.formButtons[0].component, 'loading', true)
this.$refs.form.validate((isok) => { this.$refs.form.validate((isok) => {
console.log('validate', this.form)
if (isok) { if (isok) {
this.handleClose()
// 校验通过 // 校验通过
const newTableData = { const newTableData = {
...this.form, ...this.form,
...@@ -1850,8 +1877,8 @@ export default { ...@@ -1850,8 +1877,8 @@ export default {
'MaterialResCode': this.form.resCode 'MaterialResCode': this.form.resCode
} }
this.$emit('addTableData', newTableData) this.$emit('addTableData', newTableData)
this.handleClose()
} }
this.$set(this.formButtons[0].component, 'loading', false)
}) })
// post( // post(
......
...@@ -442,13 +442,11 @@ export default { ...@@ -442,13 +442,11 @@ export default {
}, },
methods: { methods: {
back() { back() {
setTimeout(() => {
this.$store.dispatch('tagsView/delView', this.$route) this.$store.dispatch('tagsView/delView', this.$route)
this.$router.replace({ this.$router.replace({
path: '/page/86a5fa19-e245-4732-aff6-c48b18e2b5c7', path: '/page/86a5fa19-e245-4732-aff6-c48b18e2b5c7',
query: { title: '采购入库', menuRootAppId: '1626781924331' } query: { title: '采购入库', menuRootAppId: '1626781924331' }
}) })
}, 2000)
}, },
initData() { initData() {
this.getInventoryRequest() this.getInventoryRequest()
...@@ -547,7 +545,7 @@ export default { ...@@ -547,7 +545,7 @@ export default {
if (targetItem) { if (targetItem) {
targetItem.component.options = res.items.content.map(row => ({ value: row.id, label: row.typeName })) targetItem.component.options = res.items.content.map(row => ({ value: row.id, label: row.typeName }))
} }
this.form.materialTypeId = '' // this.form.materialTypeId = ''
}).catch((err) => { }).catch((err) => {
console.log(err) console.log(err)
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment