|
|
@@ -1,123 +1,51 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-dialog
|
|
|
- :title="!id ? '新增' : display ? '详情' : '新增或修改'"
|
|
|
- width="50%"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :visible.sync="visible"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- :model="dataForm"
|
|
|
- :rules="dataRule"
|
|
|
- ref="dataForm"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
+ <el-dialog :title="!id ? '新增' : display ? '详情' : '新增或修改'" width="50%" :close-on-click-modal="false"
|
|
|
+ :visible.sync="visible">
|
|
|
+ <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="100px">
|
|
|
<el-form-item label="任务单" prop="orderId">
|
|
|
- <el-select
|
|
|
- v-model="dataForm.orderId"
|
|
|
- :disabled="display"
|
|
|
- filterable
|
|
|
- remote
|
|
|
- reserve-keyword
|
|
|
- placeholder="请输入关键词"
|
|
|
- :remote-method="debouncedSearch"
|
|
|
- :loading="loading"
|
|
|
- style="width:100%"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in orderOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
+ <el-select v-model="dataForm.orderId" :disabled="display" filterable remote reserve-keyword
|
|
|
+ placeholder="请输入关键词" :remote-method="debouncedSearch" :loading="loading" style="width:100%">
|
|
|
+ <el-option v-for="item in orderOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="物品名称" prop="materialName">
|
|
|
<!-- <material-component v-model="dataForm" :material-id="dataForm.materialId"/>-->
|
|
|
- <el-input
|
|
|
- v-model="dataForm.materialName"
|
|
|
- :disabled="display"
|
|
|
- placeholder="物品名称"
|
|
|
- ></el-input>
|
|
|
+ <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-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-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-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-input v-model="dataForm.unitName" :disabled="display" placeholder="单位"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="采购期限" prop="deadline">
|
|
|
- <el-date-picker
|
|
|
- v-model="dataForm.deadline"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- >
|
|
|
+ <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="batchNumber">
|
|
|
- <el-input
|
|
|
- v-model="dataForm.batchNumber"
|
|
|
- :disabled="display"
|
|
|
- placeholder="批次号"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="dataForm.batchNumber" :disabled="display" placeholder="批次号"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="用途" prop="purpose">
|
|
|
- <el-input
|
|
|
- v-model="dataForm.purpose"
|
|
|
- :disabled="display"
|
|
|
- placeholder="用途"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="dataForm.purpose" :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>
|
|
|
+ <el-input type="textarea" v-model="dataForm.notes" :disabled="display" placeholder="备注"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<span slot="footer">
|
|
|
<el-button @click="visible = false">取消</el-button>
|
|
|
- <el-button
|
|
|
- v-if="!display"
|
|
|
- type="primary"
|
|
|
- @click="dataFormSubmit()"
|
|
|
- v-reClick
|
|
|
- >确定</el-button
|
|
|
- >
|
|
|
+ <el-button v-if="!display" type="primary" @click="dataFormSubmit()" v-reClick>确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
@@ -136,7 +64,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
components: { MaterialComponent },
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
visible: false,
|
|
|
display: false,
|
|
|
@@ -147,9 +75,9 @@ export default {
|
|
|
loading: false,
|
|
|
orderOptions: [],
|
|
|
dataRule: {
|
|
|
- orderId: [
|
|
|
- { required: true, message: '任务单不能为空', trigger: 'blur' }
|
|
|
- ],
|
|
|
+ // orderId: [
|
|
|
+ // { required: true, message: '任务单不能为空', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
materialName: [
|
|
|
{ required: true, message: '物品名称不能为空', trigger: 'blur' }
|
|
|
],
|
|
|
@@ -169,18 +97,18 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- created () {
|
|
|
+ created() {
|
|
|
// 创建防抖函数(500ms延迟)
|
|
|
this.debouncedSearch = _.debounce(this.remoteMethod, 500)
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ mounted() {
|
|
|
},
|
|
|
- beforeDestroy () {
|
|
|
+ beforeDestroy() {
|
|
|
// 清除防抖定时器,避免内存泄漏
|
|
|
this.debouncedSearch.cancel()
|
|
|
},
|
|
|
methods: {
|
|
|
- init (id, display, transferData) {
|
|
|
+ init(id, display, transferData) {
|
|
|
this.remoteMethod()
|
|
|
|
|
|
this.dataForm = {
|
|
|
@@ -193,7 +121,7 @@ export default {
|
|
|
this.dataForm = transferData
|
|
|
},
|
|
|
// 表单提交
|
|
|
- dataFormSubmit () {
|
|
|
+ dataFormSubmit() {
|
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.dataForm.detailId = this.id
|
|
|
@@ -202,17 +130,17 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- remoteMethod (query) {
|
|
|
+ remoteMethod(query) {
|
|
|
this.loading = true
|
|
|
this.getOrderByCode(query)
|
|
|
},
|
|
|
- getOrderByCode (orderCode) {
|
|
|
+ getOrderByCode(orderCode) {
|
|
|
getOrderByCode(orderCode).then(({ data }) => {
|
|
|
this.loading = false
|
|
|
|
|
|
if (data && data.code === '200' && data.data) {
|
|
|
this.orderOptions = data.data.map(item => {
|
|
|
- return {label: item.orderCode, value: item.orderId}
|
|
|
+ return { label: item.orderCode, value: item.orderId }
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
@@ -221,5 +149,4 @@ export default {
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
-</style>
|
|
|
+<style scoped></style>
|