|
@@ -6,30 +6,41 @@
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="visible">
|
|
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="100px">
|
|
|
- <el-form-item label="物品名称" prop="name">
|
|
|
- <el-input v-model="dataForm.name" :disabled="display" placeholder="物品名称"></el-input>
|
|
|
+ <el-form-item label="物品名称" prop="materialName">
|
|
|
+ <el-input v-model="dataForm.materialName" :disabled="display" placeholder="物品名称"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="型号及规格" prop="specification">
|
|
|
<el-input v-model="dataForm.specification" :disabled="display" placeholder="型号及规格"></el-input>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="采购类别" prop="purchaseType">
|
|
|
+ <el-select
|
|
|
+ v-model="dataForm.purchaseType"
|
|
|
+ :disabled="display"
|
|
|
+ remote
|
|
|
+ placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsType"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.value"
|
|
|
+ :value="item.code">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="数量" prop="cnt">
|
|
|
<el-input-number v-model="dataForm.cnt" :disabled="display" :min="1"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="单位" prop="unitName">
|
|
|
<el-input v-model="dataForm.unitName" :disabled="display" placeholder="单位"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="不含税单价" prop="price">
|
|
|
- <el-input-number v-model="dataForm.price" :disabled="display" :precision="1" :step="1" :min="0"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="含税单价" prop="taxPrice">
|
|
|
- <el-input-number v-model="dataForm.taxPrice" :disabled="display" :precision="1" :step="1" :min="0"/>
|
|
|
+ <el-form-item label="采购期限" prop="deadline">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="dataForm.deadline"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date">
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="含税总价" prop="taxAmount">
|
|
|
- <span>{{ (dataForm.cnt*dataForm.taxPrice).toFixed(2) }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="税率" prop="taxRateVal">
|
|
|
- <el-input-number :step="1" :min="0" v-model="dataForm.taxRateVal" :disabled="display"/>
|
|
|
- %
|
|
|
+ <el-form-item label="批次号/用途" prop="batchNumber">
|
|
|
+ <el-input v-model="dataForm.batchNumber" :disabled="display" placeholder="批次号/用途"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注" prop="notes">
|
|
|
<el-input type="textarea" v-model="dataForm.notes" :disabled="display" placeholder="备注"></el-input>
|
|
@@ -44,6 +55,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import { getDictList } from '@/api/dict'
|
|
|
export default {
|
|
|
name: 'add-material',
|
|
|
data () {
|
|
@@ -54,36 +66,46 @@
|
|
|
transferData: {},
|
|
|
dataForm: {},
|
|
|
id: 0,
|
|
|
- taxRateVal: 0,
|
|
|
+ optionsType: [], // 采购类别
|
|
|
dataRule: {
|
|
|
- name: [{ required: true, message: '物品名称不能为空', trigger: 'blur' }],
|
|
|
+ materialName: [{ required: true, message: '物品名称不能为空', trigger: 'blur' }],
|
|
|
specification: [{ required: true, message: '型号及规格不能为空', trigger: 'blur' }],
|
|
|
- unitName: [{ required: true, message: '单位不能为空', trigger: 'blur' }]
|
|
|
+ unitName: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
|
|
|
+ purchaseType: [{ required: true, message: '请选择采购类别', trigger: 'change' }],
|
|
|
+ deadline: [{ required: true, message: '请选择采购期限', trigger: 'change' }],
|
|
|
+ batchNumber: [{ required: true, message: '批次号不能为空', trigger: 'blur' }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- async init (id, display, transferData) {
|
|
|
+ async init (id, display, transferData, optionsType) {
|
|
|
+ if (optionsType) {
|
|
|
+ this.optionsType = optionsType
|
|
|
+ } else {
|
|
|
+ this.getTypeList()
|
|
|
+ }
|
|
|
this.dataForm = {
|
|
|
- cnt: 1,
|
|
|
- price: 0,
|
|
|
- taxPrice: 0,
|
|
|
- taxRateVal: 0
|
|
|
+ cnt: 1
|
|
|
}
|
|
|
this.visible = true
|
|
|
this.id = id || Math.round(Math.random() * 1000000)
|
|
|
this.display = display
|
|
|
if (!id) return
|
|
|
this.dataForm = transferData
|
|
|
- this.dataForm.taxRateVal = this.dataForm.taxRate ? (Number(this.dataForm.taxRate * 100)).toFixed(0) : 0
|
|
|
+ },
|
|
|
+ // 获取采购类别字典
|
|
|
+ getTypeList () {
|
|
|
+ getDictList({type: 'purchase_type'}).then(({data}) => {
|
|
|
+ if (data) {
|
|
|
+ this.optionsType = data
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
// 表单提交
|
|
|
dataFormSubmit () {
|
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.dataForm.detailId = this.id
|
|
|
- this.dataForm.taxAmount = (this.dataForm.cnt * this.dataForm.taxPrice).toFixed(2)
|
|
|
- this.dataForm.taxRate = this.dataForm.taxRateVal ? (Number(this.dataForm.taxRateVal / 100)).toFixed(2) : 0
|
|
|
this.visible = false
|
|
|
this.$emit('addItem', this.dataForm)
|
|
|
}
|