<template>
|
<div class="comp-container">
|
<el-form :model="dwForm" label-width="180px" :rules="dwFormRules" ref="ruleFormRef">
|
<div class="homeCard">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="申请部门" prop="dwDepartment">
|
<el-select v-model="dwForm.dwDepartment" placeholder="请选择部门">
|
<el-option label="机修班" value="机修班" />
|
<el-option label="火工班" value="火工班" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="申请人" prop="dwApplyName">
|
<el-input
|
v-model="dwForm.dwApplyName"
|
placeholder="请输入"
|
class="input-with-select"
|
>
|
<template #append>
|
<el-button :icon="Search" />
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="动土范围" prop="dwRange">
|
<el-input
|
v-model="dwForm.dwRange"
|
placeholder="请输入"
|
class="input-with-select"
|
type="textarea"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="动土方式" prop="dwWay">
|
<el-input
|
v-model="dwForm.dwWay"
|
placeholder="请输入"
|
class="input-with-select"
|
type="textarea"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="动土简图" prop="fileList">
|
<el-upload
|
v-model:file-list="fileList"
|
class="upload-demo"
|
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
|
multiple
|
:on-preview="handlePreview"
|
:on-remove="handleRemove"
|
:before-remove="beforeRemove"
|
:limit="3"
|
:on-exceed="handleExceed"
|
>
|
<el-button type="primary">上传附件</el-button>
|
<template #tip>
|
<div class="el-upload__tip">
|
jpg/png 文件大小须在500k以内.
|
</div>
|
</template>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
</el-form>
|
</div>
|
</template>
|
|
<script lang="ts">
|
import { toRefs, reactive, defineComponent, ref } from 'vue';
|
import { storeToRefs } from 'pinia';
|
import { initBackEndControlRoutes } from '/@/router/backEnd';
|
import {useUserInfo} from "/@/stores/userInfo";
|
import { Session } from '/@/utils/storage';
|
import { Search } from '@element-plus/icons-vue'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
|
let global: any = {
|
homeChartOne: null,
|
homeChartTwo: null,
|
homeCharThree: null,
|
dispose: [null, '', undefined],
|
};
|
|
interface stateType {
|
homeOne: Array <type>
|
}
|
interface type {
|
|
}
|
export default defineComponent({
|
name: 'dirtWorkForm',
|
setup() {
|
const userInfo = useUserInfo()
|
const { userInfos } = storeToRefs(userInfo);
|
const state = reactive<stateType>({});
|
const dwForm = reactive({
|
dwDepartment: '',
|
dwApplyName: '',
|
dwRange: '',
|
dwWay: '',
|
fileList: []
|
})
|
const ruleFormRef = ref<FormInstance>()
|
const dwFormRules = reactive<FormRules>({
|
dwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
|
dwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
|
dwRange: [{required: true,message: '此处不可为空',trigger: 'blur'}],
|
dwWay: [{required: true,message: '此处不可为空',trigger: 'blur'}],
|
fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}]
|
})
|
const fileList = ref<UploadUserFile[]>([
|
{
|
name: 'element-plus-logo.svg',
|
url: 'https://element-plus.org/images/element-plus-logo.svg',
|
}
|
])
|
|
const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
|
console.log(file, uploadFiles)
|
}
|
|
const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
|
console.log(uploadFile)
|
}
|
|
const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
|
ElMessage.warning(
|
// `The limit is 3, you selected ${files.length} files this time, add up to ${
|
// files.length + uploadFiles.length
|
// } totally`
|
'文件总数超出限制'
|
)
|
}
|
|
const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
|
return ElMessageBox.confirm(
|
`取消上传 ${uploadFile.name} ?`
|
).then(
|
() => true,
|
() => false
|
)
|
}
|
// 折线图
|
const renderMenu = async (value: string) => {
|
Session.set('projectId',value)
|
userInfos.value.projectId = value
|
await initBackEndControlRoutes();
|
};
|
return {
|
renderMenu,
|
dwForm,
|
dwFormRules,
|
ruleFormRef,
|
fileList,
|
handleRemove,
|
handlePreview,
|
handleExceed,
|
beforeRemove,
|
...toRefs(state),
|
};
|
},
|
});
|
</script>
|
|
<style scoped lang="scss">
|
.home-container {
|
height: 100%;
|
overflow: hidden;
|
.homeCard{
|
width: 100%;
|
padding: 20px;
|
background: #fff;
|
border-radius: 4px;
|
margin-bottom: 20px;
|
}
|
.el-row{
|
margin-bottom: 20px;
|
}
|
.el-row:last-child {
|
margin-bottom: 0;
|
}
|
.el-input{
|
width: 100% !important;
|
}
|
.el-date-editor::v-deep{
|
width: 100%;
|
}
|
.el-select{
|
width: 100%;
|
}
|
.el-cascader{
|
width: 100% !important;
|
}
|
.submitBtn{
|
display: flex;
|
justify-content: center;
|
}
|
}
|
</style>
|