test #47
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
filename: dialogForm.vue
|
filename: dialogForm.vue
|
||||||
author: liubin
|
author: liubin
|
||||||
date: 2023-08-02 10:32:36
|
date: 2023-08-15 10:32:36
|
||||||
description: 弹窗的表单组件
|
description: 弹窗的表单组件
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -45,6 +45,18 @@
|
|||||||
type="datetime"
|
type="datetime"
|
||||||
:placeholder="`请选择${col.label}`"
|
:placeholder="`请选择${col.label}`"
|
||||||
v-bind="col.bind"></el-date-picker>
|
v-bind="col.bind"></el-date-picker>
|
||||||
|
<el-upload
|
||||||
|
class="upload-in-dialog"
|
||||||
|
v-if="col.upload"
|
||||||
|
:file-list="uploadedFileList"
|
||||||
|
:action="col.url"
|
||||||
|
:on-success="handleUploadSuccess"
|
||||||
|
v-bind="col.bind">
|
||||||
|
<el-button size="small" type="primary">点击上传</el-button>
|
||||||
|
<div class="el-upload__tip" slot="tip" v-if="col.uploadTips">
|
||||||
|
{{ col.uploadTips || '只能上传jpg/png文件,大小不超过2MB' }}
|
||||||
|
</div>
|
||||||
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -90,6 +102,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
formLoading: true,
|
formLoading: true,
|
||||||
optionListOf: {},
|
optionListOf: {},
|
||||||
|
uploadedFileList: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -196,6 +209,20 @@ export default {
|
|||||||
}
|
}
|
||||||
if (!promiseList.length) this.formLoading = false;
|
if (!promiseList.length) this.formLoading = false;
|
||||||
},
|
},
|
||||||
|
// 上传成功的特殊处理
|
||||||
|
// 上传前的验证规则可通过 bind 属性传入
|
||||||
|
handleUploadSuccess(response, file, fileList) {
|
||||||
|
// 保存原始文件名
|
||||||
|
if ('fileNames' in this.form) this.form.fileNames.push(file.name);
|
||||||
|
// 保存完整地址
|
||||||
|
if ('fileUrls' in this.form) this.form.fileUrls.push(response.data);
|
||||||
|
// console.log('[dialogForm:handleUploadSuccess]', response, file, fileList, this.form);
|
||||||
|
this.$modal.msgSuccess('上传成功');
|
||||||
|
},
|
||||||
|
|
||||||
|
getFileName(fileUrl) {
|
||||||
|
return fileUrl.split('/').pop();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -54,6 +54,8 @@ import {
|
|||||||
exportEquipmentTypeExcel,
|
exportEquipmentTypeExcel,
|
||||||
} from '@/api/base/equipmentType';
|
} from '@/api/base/equipmentType';
|
||||||
|
|
||||||
|
import { getAccessToken } from '@/utils/auth';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EquipmentType',
|
name: 'EquipmentType',
|
||||||
components: {},
|
components: {},
|
||||||
@ -86,40 +88,7 @@ export default {
|
|||||||
{ prop: 'name', label: '设备类型名称', align: 'center' },
|
{ prop: 'name', label: '设备类型名称', align: 'center' },
|
||||||
{ prop: 'code', label: '检测类型编码', align: 'center' },
|
{ prop: 'code', label: '检测类型编码', align: 'center' },
|
||||||
{ prop: 'remark', label: '备注', align: 'center' },
|
{ prop: 'remark', label: '备注', align: 'center' },
|
||||||
// {
|
|
||||||
// label: '操作',
|
|
||||||
// alignt: 'center',
|
|
||||||
// subcomponent: {
|
|
||||||
// render: function (h) {
|
|
||||||
// return h('div', null, [
|
|
||||||
// h(
|
|
||||||
// 'el-button',
|
|
||||||
// {
|
|
||||||
// props: {
|
|
||||||
// icon: 'el-icon-edit',
|
|
||||||
// size: 'mini',
|
|
||||||
// type: 'text',
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// ' 修改'
|
|
||||||
// ),
|
|
||||||
// h(
|
|
||||||
// 'el-button',
|
|
||||||
// {
|
|
||||||
// props: {
|
|
||||||
// icon: 'el-icon-edit',
|
|
||||||
// size: 'mini',
|
|
||||||
// type: 'text',
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// ' 修改'
|
|
||||||
// ),
|
|
||||||
// ]);
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
],
|
],
|
||||||
//
|
|
||||||
searchBarFormConfig: [
|
searchBarFormConfig: [
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
@ -133,11 +102,6 @@ export default {
|
|||||||
name: 'search',
|
name: 'search',
|
||||||
color: 'primary',
|
color: 'primary',
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// type: 'button',
|
|
||||||
// btnName: '重置',
|
|
||||||
// name: 'reset',
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
type: 'separate',
|
type: 'separate',
|
||||||
},
|
},
|
||||||
@ -159,22 +123,6 @@ export default {
|
|||||||
// color: 'warning',
|
// color: 'warning',
|
||||||
// },
|
// },
|
||||||
],
|
],
|
||||||
// 表单配置
|
|
||||||
// formRows: [
|
|
||||||
// [
|
|
||||||
// {
|
|
||||||
// input: true,
|
|
||||||
// label: '检测类型名称',
|
|
||||||
// prop: 'name',
|
|
||||||
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
||||||
// // bind: {
|
|
||||||
// // disabled: true, // some condition, like detail mode...
|
|
||||||
// // }
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// [{ input: true, label: '检测类型编码', prop: 'code' }],
|
|
||||||
// [{ input: true, label: '备注', prop: 'remark' }],
|
|
||||||
// ],
|
|
||||||
rows: [
|
rows: [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -198,13 +146,17 @@ export default {
|
|||||||
select: true,
|
select: true,
|
||||||
label: '父类',
|
label: '父类',
|
||||||
prop: 'parentId',
|
prop: 'parentId',
|
||||||
// other...
|
url: '/base/equipment-type/page?pageNo=1&pageSize=100',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
upload: true,
|
upload: true,
|
||||||
label: '上传资料',
|
label: '上传资料',
|
||||||
prop: 'uploadFiles',
|
prop: 'uploadFiles',
|
||||||
// other...
|
url: process.env.VUE_APP_BASE_API + '/admin-api/infra/file/upload', // 请求地址
|
||||||
|
bind: {
|
||||||
|
headers: { Authorization: 'Bearer ' + getAccessToken() },
|
||||||
|
'show-file-list': false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[{ input: true, label: '备注', prop: 'remark' }],
|
[{ input: true, label: '备注', prop: 'remark' }],
|
||||||
@ -221,6 +173,14 @@ export default {
|
|||||||
form: {},
|
form: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
// form: {
|
||||||
|
// handler: function (val, oldVal) {
|
||||||
|
// console.log('[watch:form]', val, oldVal);
|
||||||
|
// },
|
||||||
|
// deep: true,
|
||||||
|
// },
|
||||||
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
@ -248,6 +208,8 @@ export default {
|
|||||||
name: undefined,
|
name: undefined,
|
||||||
parentId: undefined,
|
parentId: undefined,
|
||||||
remark: undefined,
|
remark: undefined,
|
||||||
|
fileNames: [],
|
||||||
|
fileUrls: [],
|
||||||
};
|
};
|
||||||
this.resetForm('form');
|
this.resetForm('form');
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user