add 设备表、产品表 & 同步DialogJustForm到DialogWithMenu
This commit is contained in:
140
src/views/modules/pms/equipment/config.js
Normal file
140
src/views/modules/pms/equipment/config.js
Normal file
@@ -0,0 +1,140 @@
|
||||
import TableOperaionComponent from '@/components/noTemplateComponents/operationComponent'
|
||||
import TableTextComponent from '@/components/noTemplateComponents/detailComponent'
|
||||
import switchBtn from '@/components/noTemplateComponents/switchBtn'
|
||||
|
||||
export default function () {
|
||||
|
||||
const tableProps = [
|
||||
{ prop: 'name', label: '设备名称' },
|
||||
{ prop: 'code', label: '设备编码' },
|
||||
{ prop: 'equipmentType', label: '设备类型' },
|
||||
{ prop: 'enabled', label: '状态', subcomponent: switchBtn }, // subcomponent
|
||||
{ prop: 'remark', label: '备注' },
|
||||
{ prop: 'description', label: '查看详情', subcomponent: TableTextComponent },
|
||||
{
|
||||
prop: 'operations',
|
||||
name: '操作',
|
||||
fixed: 'right',
|
||||
width: 120,
|
||||
subcomponent: TableOperaionComponent,
|
||||
options: ['edit', { name: 'delete', permission: 'pms:equipment:delete' }]
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
const headFormFields = [
|
||||
{
|
||||
label: '设备名称',
|
||||
prop: 'name',
|
||||
input: true,
|
||||
default: { value: '' },
|
||||
bind: { placeholder: '请输入设备名称' }
|
||||
},
|
||||
{
|
||||
button: {
|
||||
type: 'primary',
|
||||
name: '查询'
|
||||
}
|
||||
},
|
||||
{
|
||||
button: {
|
||||
type: 'plain',
|
||||
name: '新增',
|
||||
permission: 'pms:equipment:save'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
const dialogConfigs = {
|
||||
menu: [{ name: '设备信息' }, { name: '设备属性信息', onlyEditMode: false }],
|
||||
form: {
|
||||
rows: [
|
||||
[
|
||||
{ input: true, label: '设备名称', prop: 'name', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入设备名称' } },
|
||||
{ input: true, label: '设备名称编码', prop: 'code', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入设备名称编码' } },
|
||||
// { input: true, label: '版本号', prop: 'version', elparams: { placeholder: '请输入版本号' } },
|
||||
{
|
||||
select: true,
|
||||
label: '设备类型',
|
||||
prop: 'equipmentTypeId',
|
||||
options: [
|
||||
// { label: '1', value: 1 },
|
||||
// { label: '2', value: 2 },
|
||||
// { label: '3', value: 3 },
|
||||
],
|
||||
fetchData: () => {
|
||||
return this.$http.get('/pms/equipmentType/page', { params: { page: 1, limit: 999, key: '' } })
|
||||
},
|
||||
elparams: { placeholder: '选择一个设备类型' }
|
||||
},
|
||||
],
|
||||
[{ textarea: true, label: '备注', prop: 'remark', elparams: { placeholder: '备注' } }],
|
||||
],
|
||||
operations: [
|
||||
{ name: 'add', label: '保存', type: 'primary', permission: 'pms:equipment:save', showOnEdit: false },
|
||||
{ name: 'update', label: '更新', type: 'primary', permission: 'pms:equipment:update', showOnEdit: true },
|
||||
{ name: 'reset', label: '重置', type: 'warning', showAlways: true },
|
||||
// { name: 'cancel', label: '取消', showAlways: true },
|
||||
],
|
||||
},
|
||||
table: {
|
||||
// extraParams: ['stepId'],
|
||||
extraParams: 'stepId',
|
||||
props: [
|
||||
{ prop: 'createTime', label: '创建时间' },
|
||||
{ prop: 'equipmentId', label: '所属设备id' },
|
||||
{ prop: 'attrName', label: '属性名称', isEditField: true },
|
||||
{ prop: 'attrValue', label: '属性值', isEditField: true },
|
||||
{
|
||||
prop: 'operations',
|
||||
name: '操作',
|
||||
fixed: 'right',
|
||||
width: 120,
|
||||
subcomponent: TableOperaionComponent,
|
||||
options: [
|
||||
{ name: 'edit', permission: 'pms:equipment:update' },
|
||||
{ name: 'delete', permission: 'pms:equipment:delete' },
|
||||
]
|
||||
}
|
||||
],
|
||||
data: [
|
||||
// TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要)
|
||||
],
|
||||
},
|
||||
|
||||
subDialog: {
|
||||
extraParam: 'equipmentId',
|
||||
rows: [
|
||||
[
|
||||
{ input: true, label: '属性名称', prop: 'attrName', elparams: { placeholder: '请输入属性名称' } },
|
||||
{ input: true, label: '属性值', prop: 'attrValue', rules: { required: true, message: 'not empty', trigger: 'blur' }, elparams: { placeholder: '请输入属性值' } },
|
||||
],
|
||||
[
|
||||
{ textarea: true, label: '备注', prop: 'remark', elparams: { placeholder: '添加备注' } },
|
||||
]
|
||||
],
|
||||
operations: [
|
||||
{ name: 'add', label: '保存', type: 'primary', permission: 'pms:equipment:save', showOnEdit: false },
|
||||
{ name: 'update', label: '更新', type: 'primary', permission: 'pms:equipment:update', showOnEdit: true },
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
dialogConfigs,
|
||||
tableConfig: {
|
||||
table: null, // 此处可省略,el-table 上的配置项
|
||||
column: tableProps, // el-column-item 上的配置项
|
||||
},
|
||||
headFormConfigs: {
|
||||
rules: null, // 名称是由 BaseSearchForm.vue 组件固定的
|
||||
fields: headFormFields // 名称是由 BaseSearchForm.vue 组件固定的
|
||||
},
|
||||
urls: {
|
||||
base: '/pms/equipment',
|
||||
page: '/pms/equipment/page'
|
||||
}
|
||||
}
|
||||
}
|
||||
32
src/views/modules/pms/equipment/index.vue
Normal file
32
src/views/modules/pms/equipment/index.vue
Normal file
@@ -0,0 +1,32 @@
|
||||
<template>
|
||||
<ListViewWithHead :table-config="tableConfig" :head-config="headFormConfigs" :dialog-configs="dialogConfigs" :listQueryExtra="['name']" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import initConfig from './config';
|
||||
import ListViewWithHead from '@/views/atomViews/ListViewWithHead.vue';
|
||||
|
||||
export default {
|
||||
name: 'BlenderView',
|
||||
components: { ListViewWithHead },
|
||||
provide() {
|
||||
return {
|
||||
urls: this.allUrls
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const { tableConfig, headFormConfigs, urls, dialogConfigs } = initConfig.call(this);
|
||||
return {
|
||||
tableConfig,
|
||||
headFormConfigs,
|
||||
allUrls: urls,
|
||||
dialogConfigs,
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
Reference in New Issue
Block a user