<template> <a-modal :title="'批量修改'" :width="800" :visible="batchVisible" :confirmLoading="confirmLoading" @ok="handleBatchOk" @cancel="handleBatchCancel" cancelText="关闭" wrapClassName="ant-modal-cust-warp" style="top:5%;height: 85%;overflow-y: hidden"> <a-spin :spinning="confirmLoading"> <a-form :form="form"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="采购单号"> <a-input placeholder="请输入采购单号" v-decorator="['code']" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="供应商"> <a-input placeholder="请输入供应商" v-decorator="['supplier']" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="联系人"> <a-input placeholder="请输入联系人" v-decorator="['contact']" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="联系方式"> <a-input placeholder="请输入联系方式" v-decorator="['phone']" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="状态"> <a-select v-model="status" > <a-select-option v-for="item in statusList" :key="item.value" :value="item.value">{{ item.text }}</a-select-option> </a-select> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="计划开始时间"> <a-date-picker v-decorator="['planStartTime']" type="date" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="计划结束时间"> <a-date-picker v-decorator="['planEndTime']" type="date" placeholder="计划结束时间" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="实际开始时间"> <a-date-picker v-decorator="['actualStartTime']" type="date" /> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="实际结束时间"> <a-date-picker v-decorator="['actualEndTime']" type="date" placeholder="实际结束时间" /> </a-form-item> </a-form> </a-spin> </a-modal> </template> <script> import { ajaxGetDictItems, editBatchPurchase, editPurchase } from '../../../api/api' export default { name: 'PurchaseInBatchModal', data() { return { ids: '', labelCol: { xs: { span: 24 }, sm: { span: 5 }, }, wrapperCol: { xs: { span: 24 }, sm: { span: 16 }, }, model: {}, batchVisible: false, form: this.$form.createForm(this), confirmLoading: false, statusList:[], status:'' } }, created() { this.loadBaseData(); }, methods: { loadBaseData() { ajaxGetDictItems('purchased_status').then((res)=> { if (res.success) { this.statusList = res.result } }) }, handleBatchCancel() { this.ids = '' this.batchVisible = false }, handleBatchOk() { const that = this; // 触发表单验证 this.form.validateFields((err, values) => { if (!err) { that.confirmLoading = true; let formData = Object.assign(this.model, values); formData.id = this.ids editBatchPurchase(formData).then((res)=>{ if(res.success){ that.$message.success(res.message); that.$emit('ok'); }else{ that.$message.warning(res.message); } }).finally(() => { that.confirmLoading = false; that.close(); }) } }) }, edit (record) { this.ids = record this.form.resetFields(); this.batchVisible = true; }, } } </script> <style scoped> </style>