¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-modal |
| | | title="æ°å¢ç©æä¿¡æ¯" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | @cancel="handleCancel" |
| | | > |
| | | <a-spin :spinning="confirmLoading"> |
| | | <!-- tab --> |
| | | <a-tabs default-active-key="1" @change="callback"> |
| | | <a-tab-pane key="1" tab="åºæ¬ä¿¡æ¯"> |
| | | <add-form ref="addForm" @ok="handleOk" /> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" tab="æ§å¶å±æ§" force-render> |
| | | Content of Tab Pane 2 |
| | | </a-tab-pane> |
| | | <a-tab-pane key="3" tab="æ¹æ¬¡å±æ§"> |
| | | Content of Tab Pane 3 |
| | | </a-tab-pane> |
| | | <a-tab-pane key="4" tab="æ¿ä»£å管ç"> |
| | | Content of Tab Pane 4 |
| | | </a-tab-pane> |
| | | <a-tab-pane key="5" tab="客æ·"> |
| | | <add-form-base-customer ref="addFormBaseCustomer" @ok="handleOk" /> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane key="7" tab="å
è£
å
³ç³»"> |
| | | Content of Tab Pane 6 |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | </a-spin> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { WmsMaterialAdd, GetAreas, GetStations } from '@/api/modular/main/WmsMaterialManage' |
| | | import addForm from './tabItem/addForm.vue' |
| | | import addFormBaseCustomer from './tabItem/addFormBaseCustomer.vue' |
| | | |
| | | export default { |
| | | components: { |
| | | // STable, |
| | | addForm, |
| | | addFormBaseCustomer, |
| | | |
| | | // editForm, |
| | | // excelForm |
| | | }, |
| | | data() { |
| | | return { |
| | | labelCol: { |
| | | // xs: { span: 24 }, |
| | | // sm: { span: 5 } |
| | | span: 8 |
| | | }, |
| | | wrapperCol: { |
| | | // xs: { span: 24 }, |
| | | // sm: { span: 15 } |
| | | span: 13 |
| | | }, |
| | | inspectionMethodData: [], |
| | | materialTypeData: [], |
| | | areaNameParameterData: [], |
| | | stationNameParameterData: [], |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | methods: { |
| | | // åå§åæ¹æ³ |
| | | add(record) { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.getSelects() |
| | | }) |
| | | const materialTypeOption = this.$options |
| | | this.materialTypeData = materialTypeOption.filters['dictData']('material_type') |
| | | const inspectionMethodOption = this.$options |
| | | this.inspectionMethodData = inspectionMethodOption.filters['dictData']('material_inspection') |
| | | }, |
| | | getSelects() { |
| | | if (this.areaNameParameterData.length <= 0 || this.stationNameParameterData.length <= 0) { |
| | | this.confirmLoading = true |
| | | Promise.all([GetAreas(), GetStations()]) |
| | | .then(response => { |
| | | this.areaNameParameterData = response[0].data || [] |
| | | this.stationNameParameterData = response[1].data || [] |
| | | this.confirmLoading = false |
| | | }) |
| | | .catch(() => { |
| | | this.confirmLoading = false |
| | | }) |
| | | } |
| | | }, |
| | | /** |
| | | * æäº¤è¡¨å |
| | | */ |
| | | handleSubmit() { |
| | | const { |
| | | form: { validateFields } |
| | | } = this |
| | | this.confirmLoading = true |
| | | validateFields((errors, values) => { |
| | | if (!errors) { |
| | | if (this.$getObjectType(values.areas) === 'array') { |
| | | values.areaIds = values.areas.join(',') |
| | | values.areaNameParameterArr = values.areas.map(val => { |
| | | return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData') |
| | | }) |
| | | values.areaNameParameter = values.areaNameParameterArr.join(',') |
| | | } |
| | | if (this.$getObjectType(values.stations) === 'array') { |
| | | values.stationIds = values.stations.join(',') |
| | | values.stationNameParameterArr = values.stations.map(val => { |
| | | return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData') |
| | | }) |
| | | values.stationNameParameter = values.stationNameParameterArr.join(',') |
| | | } |
| | | WmsMaterialAdd(values) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.$message.success('æ°å¢æå') |
| | | this.confirmLoading = false |
| | | this.$emit('ok', values) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('æ°å¢å¤±è´¥ï¼' + JSON.stringify(res.message)) |
| | | } |
| | | }) |
| | | .finally(res => { |
| | | this.confirmLoading = false |
| | | }) |
| | | } else { |
| | | this.confirmLoading = false |
| | | } |
| | | }) |
| | | }, |
| | | parseSelectName(val, field, nfield, pfield) { |
| | | let res = val |
| | | for (let i = 0; i < this[pfield].length; i++) { |
| | | if (val === this[pfield][i][field]) { |
| | | res = this[pfield][i][nfield] |
| | | break |
| | | } |
| | | } |
| | | return res |
| | | }, |
| | | handleCancel() { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |