Commit 4eaee894 authored by wangdanlei's avatar wangdanlei

Merge branch 'dev' of http://94.191.100.41/tfmom/tf-mom-web into dev

parents 6b5ffc2c 6d8dfbaa
/**
* @Description: 采购入库导入
* @author xioln
* @date 2023-06-21
* @FilePath: applications/dee-mes/src/privateComponents/components/ProcurementWarehousingImport/index.vue
*/
<template>
<div class="procurement-Warehousing-import">
<dee-dialog
:dialog-visible="dialogVisible"
title="导入"
width="40%"
>
<el-form ref="fileForm" label-width="100px">
<el-form-item label="选择文件">
<el-upload
ref="upload"
class="upload-demo"
accept=".xlsx, .xlsm, .xls"
:auto-upload="false"
action="#"
:limit="1"
:file-list="fileList"
:on-change="handleChange"
:on-exceed="handleExceed"
:on-remove="handleRemove"
>
<el-button size="small" style="width: 400px; text-align: right">
<i class="fa fa-folder-open-o" />
</el-button>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
:disabled="uploading"
@click="handleImportExcel"
>确定导入</el-button>
</div>
</dee-dialog>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
componentName: '导入',
name: 'ProcurementWarehousingImport', // name写在组件的最前方,自定义组件为必填
components: {},
props: {
param: {
type: Object,
required: true
}
// baseComInfo: {
// type: Object,
// default: () => { }
// }
},
data() {
return {
dialogVisible: false,
fileList: [], // 文件列表
file: {},
uploading: true // 默认置灰确定导入按钮
}
},
computed: {},
created() {
// 初始化数据
},
mounted() {
this.$nextTick(() => {
// this.handleExcel()
})
},
methods: {
open() {
this.dialogVisible = true
},
close() {
this.dialogVisible = false
},
// 文件状态改变触发
handleChange(file) { // (file,fileList)参数
this.uploading = false
this.file = file
},
// 文件超出个数限制
handleExceed() {
this.$message.warning('仅允许上传一个文件!')
},
// 移除文件
handleRemove() {
this.uploading = true
},
// 导入excel
handleImportExcel() {
if (!this.file.size) {
this.$message.warning('请选择上传的文件')
return
}
this.uploading = true
if (this.param.id) {
this.upLoadExcel(this.param.id)
} else {
post('/InventoryRequest/batch/recursionAdd', this.param).then(res => {
if (res.items.id) {
this.upLoadExcel(res.items.id)
}
}).catch((err) => {
console.log(err)
})
}
},
// 上传excel
upLoadExcel(id) {
const formData = new FormData()
formData.append('file', this.file.raw)
this.$api.apiUploadFile(`/InStorageRequestItem/importByExcel?id=${id}`, formData).then(res => { // 调用接口
this.uploading = false
if (res.code === '0') {
this.$message.success(res.message)
this.close()
} else {
this.$message.error(res.message)
}
}).catch(err => {
this.$message.error(err)
})
}
}
}
</script>
<style lang='scss'>
.procurement-Warehousing-import {
.dialog-footer{
float: right;
}
}
</style>
......@@ -163,6 +163,13 @@ export default {
trigger: ['blur', 'change']
}
],
sorties: [
{
required: true,
message: '请填写表单信息',
trigger: ['blur', 'change']
}
],
serialNo: [
{
required: true,
......@@ -238,6 +245,7 @@ export default {
this.$set(this.form, 'operator', 'ADD')
} else if (type === 'ADD') {
this.parentId = row.rowId
this.$set(this.form, 'operator', 'ADD')
} else if (type === 'MODIFY') {
console.log('row', row)
console.log('this.basicData', this.basicData.operator)
......
......@@ -21,14 +21,41 @@
<dee-tools :tools="tools" mode="normal" :collapse="false" />
</div>
<task-detail-basicInfo :basic-data="basicData" />
<!-- <div v-if="approvalObject.length">
<div v-if="approvalObject.length">
<div class="sub-title" style="padding-bottom:12px">审批对象</div>
<div v-for="(x,index) in approvalObject" :key="index">
<dee-dynamic-com v-if="x.type==='customComponent'" :ref="name.configName" :com-item="name" :basic-data="basicData" :participant-data="participantData" />
<component :is="x.comName" v-else-if="x.comName" :ref="x.configName" :lay-info="x" :basic-data="basicData.businessObject" @to-detail="toDetail" />
<component :is="x.configName" v-else :ref="x.configName" :lay-info="x" :basic-data="basicData.businessObject" @to-detail="toDetail" />
<div v-for="(name,index) in approvalObject" :key="index">
<!-- 高级组件: globalComponents -->
<component :is="name.configName" v-if="name && name.type && name.type === 'globalComponents'" :ref="name.refKey" :com-item="name" :basic-data="basicData" :participant-data="participantData" />
<!-- 自定义组件: privateComponent -->
<dee-as-com
v-else-if="name && name.type && name.type === 'privateComponent'"
:ref="name.refKey"
:component-prop="{...name, selfComponentPath: name.selfComponentPath}"
:lay-config="{
component: {
registrationType: 'custom',
codeApp: name.webServerName,
codePath: name.selfComponentPath
}
}"
:basic-data="basicData"
:participant-data="participantData"
@saveStatusChangeEvent="onSaveStatusChangeEvent"
/>
<!-- 表单配置: formConfig -->
<dee-as-com
v-else-if="name && name.type && name.type === 'formConfig'"
:ref="name.refKey"
:lay-config="{
typeName: name.modelName,
layKey: name.keyName
}"
editor-immediately
:basic-data="basicData"
:participant-data="participantData"
/>
</div>
</div> -->
</div>
<div v-if="basicData && basicData.basicInfo && !basicData.basicInfo.forwardFlag">
<div class="sub-title" style="padding-bottom:12px">任务处理</div>
<div v-for="(name,index) in dynamicComponents" :key="index">
......@@ -531,7 +558,13 @@ export default {
el.comName = el.configName
}
})
this.approvalObject = res.items.approvalObject.filter(r => r.isShow)
this.approvalObject = res.items.approvalObject.filter(r => r.isShow).map(m => {
return {
...m,
// 设置组件引用key
refKey: this.$utils.guid()
}
})
}
this.participantData = {
......@@ -714,6 +747,19 @@ export default {
finishTask(flag, params, callback, errCallBack) {
this.$nextTick(function() {
const validateArray = []
// 审批对象表单
this.approvalObject.forEach(item => {
const vm = this.$refs[item.refKey][0]
if (!vm) return
if (vm.hasOwnProperty('validate')) {
validateArray.push(vm.validate())
} else if (vm.$refs.asCom && vm.$refs.asCom.hasOwnProperty('validate')) {
validateArray.push(vm.$refs.asCom.validate())
} else if (vm.$refs.asCom.$refs && vm.$refs.asCom.$refs.deeForm && vm.$refs.asCom.$refs.deeForm.hasOwnProperty('validate')) {
validateArray.push(vm.$refs.asCom.$refs.deeForm.validate())
}
})
// 任务处理
this.dynamicComponents.forEach(item => {
if (this.$refs.hasOwnProperty(item.configName)) {
if (this.$refs[item.configName][0].hasOwnProperty('validate')) {
......
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