'基础+报表'
This commit is contained in:
109
src/views/report-manage/components/edit-substrate.vue
Normal file
109
src/views/report-manage/components/edit-substrate.vue
Normal file
@@ -0,0 +1,109 @@
|
||||
<!--
|
||||
* @Descripttion:
|
||||
* @version:
|
||||
* @Author: fzq
|
||||
* @Date: 2022-03-05 17:45:46
|
||||
* @LastEditors: fzq
|
||||
* @LastEditTime: 2022-03-05 18:33:24
|
||||
-->
|
||||
<template>
|
||||
<!-- <el-dialog
|
||||
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
|
||||
:visible.sync="visible"
|
||||
> -->
|
||||
<el-dialog
|
||||
:title="'btn.edit' | i18nFilter"
|
||||
:visible.sync="visible"
|
||||
>
|
||||
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()">
|
||||
<el-form-item :label="$t('module.report.substrate.substrateCode')" prop="substrateCode">
|
||||
<el-input v-model="dataForm.substrateCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateCode')])" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('module.report.substrate.location')" prop="location">
|
||||
<el-input v-model="dataForm.location" :placeholder="$i18nForm(['placeholder.input', $t('mmodule.report.substrate.location')])" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('module.report.substrate.storeTime')" prop="storeTime">
|
||||
<el-input v-model="dataForm.storeTime" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.storeTime')])" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('module.report.substrate.substrateStatus')" prop="substrateStatus">
|
||||
<el-input v-model="dataForm.substrateStatus" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateStatus')])" clearable />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { updateSubstrate, listSubstrate } from '@/api/report-manage/report'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default: () => {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: '',
|
||||
substrateCode: '',
|
||||
location: '',
|
||||
storeTime: '',
|
||||
substrateStatus: ''
|
||||
}
|
||||
// dataRule: {
|
||||
// name: [
|
||||
// { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationName')]), trigger: 'blur' }
|
||||
// ],
|
||||
// code: [
|
||||
// { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' }
|
||||
// ]
|
||||
// }
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.dataForm.id = id || ''
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].resetFields()
|
||||
listSubstrate(this.dataForm.id).then(res => {
|
||||
this.dataForm = res.data
|
||||
})
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = {
|
||||
'substrateStatus': this.dataForm.substrateStatus,
|
||||
'storeTime': this.dataForm.storeTime,
|
||||
'id': this.dataForm.id,
|
||||
'substrateCode': this.dataForm.substrateCode,
|
||||
'location': this.dataForm.location
|
||||
}
|
||||
updateSubstrate(data).then(res => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.$emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
35
src/views/report-manage/components/substrateBtn.vue
Normal file
35
src/views/report-manage/components/substrateBtn.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<!--
|
||||
* @Descripttion:
|
||||
* @version:
|
||||
* @Author: fzq
|
||||
* @Date: 2022-03-05 14:35:07
|
||||
* @LastEditors: fzq
|
||||
* @LastEditTime: 2022-03-05 16:44:43
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" size="small" @click="emitClick">{{ $t('module.report.inventory.viewSubstrates') }}</el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
emitClick() {
|
||||
this.$router.push({
|
||||
name: 'viewSubstrate',
|
||||
query: {
|
||||
id: this.injectData.id,
|
||||
code: this.injectData.code
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
191
src/views/report-manage/components/viewSubstrate.vue
Normal file
191
src/views/report-manage/components/viewSubstrate.vue
Normal file
@@ -0,0 +1,191 @@
|
||||
<!--
|
||||
* @Descripttion:
|
||||
* @version:
|
||||
* @Author: fzq
|
||||
* @Date: 2022-03-05 15:55:45
|
||||
* @LastEditors: fzq
|
||||
* @LastEditTime: 2022-03-05 19:42:10
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- <div style="margin:10px 50px">
|
||||
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
||||
<el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button>
|
||||
</div> -->
|
||||
<div style="title">存储箱号:{{ num }}
|
||||
<el-button type="success" style="back" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
||||
</div>
|
||||
<base-table
|
||||
:page="listQuery.current"
|
||||
:limit="listQuery.size"
|
||||
:table-config="tableProps"
|
||||
:table-data="list"
|
||||
:is-loading="listLoading"
|
||||
>
|
||||
<method-btn
|
||||
slot="handleBtn"
|
||||
:width="trueWidth"
|
||||
:method-list="tableBtn"
|
||||
@clickBtn="handleClick"
|
||||
/>
|
||||
</base-table>
|
||||
<edit-substrate v-if="addOrUpdateVisible" :id="listQuery.id" ref="addOrUpdate" @refreshDataList="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>import i18n from '@/lang'
|
||||
import { listSubstrate, deleSubstrate } from '@/api/report-manage/report'
|
||||
import editSubstrate from './edit-substrate.vue'
|
||||
import BaseTable from '@/components/BaseTable'
|
||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||
/**
|
||||
* 表格表头配置项 TypeScript接口注释
|
||||
* tableConfig<ConfigItem> = []
|
||||
*
|
||||
* Interface ConfigItem = {
|
||||
* prop: string,
|
||||
* label: string,
|
||||
* width: string,
|
||||
* align: string,
|
||||
* subcomponent: function,
|
||||
* filter: function
|
||||
* }
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
const tableBtn = [
|
||||
{
|
||||
type: 'edit',
|
||||
btnName: 'btn.edit'
|
||||
},
|
||||
{
|
||||
type: 'delete',
|
||||
btnName: 'btn.delete'
|
||||
}
|
||||
]
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'substrateCode',
|
||||
label: i18n.t('module.report.substrate.substrateCode'),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'location',
|
||||
label: i18n.t('module.report.substrate.location'),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'storeTime',
|
||||
label: i18n.t('module.report.substrate.storeTime'),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'substrateStatus',
|
||||
label: i18n.t('module.report.substrate.substrateStatus'),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
|
||||
export default {
|
||||
name: 'ViewSubstrate',
|
||||
components: { BaseTable, MethodBtn, editSubstrate },
|
||||
filters: {
|
||||
statusFilter(status) {
|
||||
const statusMap = {
|
||||
published: 'success',
|
||||
draft: 'info',
|
||||
deleted: 'danger'
|
||||
}
|
||||
return statusMap[status]
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addOrUpdateVisible: false,
|
||||
num: '',
|
||||
tableBtn,
|
||||
trueWidth: 200,
|
||||
tableProps,
|
||||
list: [],
|
||||
listLoading: true,
|
||||
listQuery: {
|
||||
current: 1,
|
||||
size: 10,
|
||||
substrateCode: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.listQuery.substrateCode = this.$route.query.code
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
handleClick(raw) {
|
||||
if (raw.type === 'delete') {
|
||||
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.substrateCode}]?`, this.$t('module.basicData.visual.Tips'), {
|
||||
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
|
||||
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
// console.log(raw.data)
|
||||
deleSubstrate(raw.data).then(response => {
|
||||
this.$message({
|
||||
message: this.$t('module.basicData.visual.success'),
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.addNew(raw.data.id)
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
this.num = this.listQuery.substrateCode
|
||||
this.listQuery.code = this.$route.query.code
|
||||
console.log(this.listQuery)
|
||||
listSubstrate(this.listQuery).then(response => {
|
||||
if (response.data) {
|
||||
this.list = response.data
|
||||
console.log(this.list)
|
||||
} else {
|
||||
this.list.splice(0, this.list.length)
|
||||
}
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 新增 / 修改
|
||||
addNew(id) {
|
||||
this.addOrUpdateVisible = true
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.addOrUpdate.init(id)
|
||||
// })
|
||||
},
|
||||
goback() {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.title {
|
||||
left: 150px;
|
||||
}
|
||||
.edit-input {
|
||||
padding-right: 100px;
|
||||
}
|
||||
.cancel-btn {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 10px;
|
||||
}
|
||||
.back {
|
||||
right: 20px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user