|
@ -1,5 +1,11 @@ |
|
|
<script> |
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
import { |
|
|
|
|
|
getRunSzScheduling |
|
|
|
|
|
} from "@/api/scheduling"; |
|
|
|
|
|
import {getToken} from "@/utils/auth"; |
|
|
|
|
|
import preview from "./preview.vue"; |
|
|
|
|
|
import {uploadFileData} from "@/api/system/upload"; |
|
|
export default { |
|
|
export default { |
|
|
name: "Edit", |
|
|
name: "Edit", |
|
|
props: { |
|
|
props: { |
|
@ -8,46 +14,121 @@ export default { |
|
|
default: null |
|
|
default: null |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
components: { |
|
|
|
|
|
preview |
|
|
|
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
|
|
|
dialog: { |
|
|
|
|
|
title: '预览', |
|
|
|
|
|
dom: '', |
|
|
|
|
|
visible: false |
|
|
|
|
|
}, |
|
|
|
|
|
preViewFile: '', |
|
|
|
|
|
file: null, |
|
|
|
|
|
fileList: [], |
|
|
|
|
|
headers: { |
|
|
|
|
|
shuili: "water " + getToken(), |
|
|
|
|
|
}, |
|
|
ruleForm: { |
|
|
ruleForm: { |
|
|
sluice: '', |
|
|
planName: '', |
|
|
plan: '', |
|
|
engineeringManagementUnit: '', |
|
|
sponsor: '', |
|
|
wagaCode: '', |
|
|
code: '', |
|
|
wagaName: '', |
|
|
responsibility: '', |
|
|
docs: [] |
|
|
programme: '', |
|
|
|
|
|
drawing: '' |
|
|
|
|
|
}, |
|
|
}, |
|
|
rules: { |
|
|
rules: { |
|
|
sluice: [ |
|
|
wagaName: [ |
|
|
{ required: true, message: "请输入闸门名称", trigger: "blur" }, |
|
|
{required: true, message: "请输入闸门名称", trigger: "blur"}, |
|
|
], |
|
|
], |
|
|
plan: [ |
|
|
planName: [ |
|
|
{ required: true, message: "请输入计划名称", trigger: "blur" }, |
|
|
{required: true, message: "请输入计划名称", trigger: "blur"}, |
|
|
], |
|
|
], |
|
|
sponsor: [ |
|
|
engineeringManagementUnit: [ |
|
|
{ required: true, message: "请选择主管单位", trigger: "blur" }, |
|
|
{required: true, message: "请选择主管单位", trigger: "blur"}, |
|
|
], |
|
|
], |
|
|
code: [ |
|
|
code: [ |
|
|
{ required: true, message: "请输入注册编码", trigger: "blur" }, |
|
|
{required: true, message: "请输入注册编码", trigger: "blur"}, |
|
|
], |
|
|
], |
|
|
responsibility: [ |
|
|
docs: [ |
|
|
{ required: true, message: "请选择三个责任人", trigger: "blur" }, |
|
|
{required: true, message: "请上传调度方案", trigger: "blur"}, |
|
|
], |
|
|
] |
|
|
}, |
|
|
} |
|
|
fileList: [] |
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
async mounted() { |
|
|
|
|
|
if (this.model) { |
|
|
|
|
|
const data = await getRunSzScheduling(this.model.id) |
|
|
|
|
|
this.ruleForm.planName = data.data.planName |
|
|
|
|
|
this.ruleForm.engineeringManagementUnit = data.data.engineeringManagementUnit |
|
|
|
|
|
this.ruleForm.wagaCode = data.data.wagaCode |
|
|
|
|
|
this.ruleForm.wagaName = data.data.wagaName |
|
|
|
|
|
this.ruleForm.docs = data.data.docs |
|
|
|
|
|
this.fileList = data.data.docs |
|
|
|
|
|
} else { |
|
|
|
|
|
this.ruleForm.engineeringManagementUnit = this.$store.state.scheduling.wagaData.engineeringManagementUnit |
|
|
|
|
|
this.ruleForm.wagaCode = this.$store.state.scheduling.wagaData.wagaCode |
|
|
|
|
|
this.ruleForm.wagaName = this.$store.state.scheduling.wagaData.wagaName |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
submitForm(callback) { |
|
|
|
|
|
this.$refs.ruleForm.validate((valid) => { |
|
|
|
|
|
if (valid) { |
|
|
|
|
|
callback({ |
|
|
|
|
|
...this.ruleForm |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
handleUpload(e) { |
|
|
|
|
|
const {file} = e; |
|
|
|
|
|
let formData = new FormData(); |
|
|
|
|
|
formData.append("file", file); |
|
|
|
|
|
uploadFileData(formData) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
this.ruleForm.docs.push({ |
|
|
|
|
|
name: res.fileName, |
|
|
|
|
|
url: res.url, |
|
|
|
|
|
}) |
|
|
|
|
|
this.fileList = this.ruleForm.docs |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
beforeUpload(file) { |
|
|
|
|
|
this.file = file |
|
|
|
|
|
const isLt2M = file.size / 1024 / 1024 < 50; |
|
|
|
|
|
if (!isLt2M) { |
|
|
|
|
|
this.file = false |
|
|
|
|
|
this.$message.error('上传头像图片大小不能超过 50m!'); |
|
|
|
|
|
return false |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
handleOpinionRemove(file) { |
|
|
|
|
|
let index = this.fileList.findIndex((item) => item.uid === file.uid); |
|
|
|
|
|
// 删除文件 |
|
|
|
|
|
this.ruleForm.docs.splice(index, 1); |
|
|
|
|
|
}, |
|
|
|
|
|
submitOpinionUpload(res, file) { |
|
|
|
|
|
this.ruleForm.docs.push({ |
|
|
|
|
|
name: res.fileName, |
|
|
|
|
|
url: res.url, |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
// 关闭dialog |
|
|
|
|
|
closeDialog() { |
|
|
|
|
|
this.dialog.visible = false |
|
|
|
|
|
}, |
|
|
handlePreview(file) { |
|
|
handlePreview(file) { |
|
|
console.log(file); |
|
|
this.dialog.visible = true |
|
|
|
|
|
this.preViewFile = file.url |
|
|
}, |
|
|
}, |
|
|
handleExceed(files, fileList) { |
|
|
handleExceed(files, fileList) { |
|
|
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|
|
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|
|
}, |
|
|
}, |
|
|
beforeRemove(file, fileList) { |
|
|
beforeRemove(file, fileList) { |
|
|
return this.$confirm(`确定移除 ${ file.name }?`); |
|
|
if (this.file) { |
|
|
|
|
|
return this.$confirm(`确定移除 ${file.name}?`); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -57,7 +138,7 @@ export default { |
|
|
<div style="display:flex; flex-direction: column"> |
|
|
<div style="display:flex; flex-direction: column"> |
|
|
<div style="display: flex; margin-bottom: 16px"> |
|
|
<div style="display: flex; margin-bottom: 16px"> |
|
|
<div |
|
|
<div |
|
|
style=" |
|
|
style=" |
|
|
width: 5px; |
|
|
width: 5px; |
|
|
height: 16px; |
|
|
height: 16px; |
|
|
background-color: #31a08e; |
|
|
background-color: #31a08e; |
|
@ -67,42 +148,43 @@ export default { |
|
|
<span style="font-weight: 600">基础信息</span> |
|
|
<span style="font-weight: 600">基础信息</span> |
|
|
</div> |
|
|
</div> |
|
|
<el-form |
|
|
<el-form |
|
|
:model="ruleForm" |
|
|
:model="ruleForm" |
|
|
:rules="rules" |
|
|
:rules="rules" |
|
|
:disabled="!!model && model.eventType !== 'edit'" |
|
|
:disabled="!!model && model.eventType !== 'edit'" |
|
|
ref="ruleForm" |
|
|
ref="ruleForm" |
|
|
label-width="100px" |
|
|
label-width="100px" |
|
|
> |
|
|
> |
|
|
<el-col :span="24"> |
|
|
|
|
|
<el-form-item label-width="120px" label="水闸名称" prop="sluice"> |
|
|
|
|
|
<el-input style="width: 202px" v-model="ruleForm.sluice" placeholder="请输入水闸名称"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label-width="120px" label="计划名称" prop="plan"> |
|
|
<el-form-item label-width="120px" label="水闸名称" prop="wagaName"> |
|
|
<el-input style="width: 202px" v-model="ruleForm.plan" placeholder="请输入计划名称"></el-input> |
|
|
<el-input disabled style="width: 202px" v-model="ruleForm.wagaName" placeholder="请输入水闸名称"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label-width="120px" label="主管单位" prop="sponsor"> |
|
|
<el-form-item label-width="120px" label="主管单位" prop="engineeringManagementUnit"> |
|
|
<el-input style="width: 202px" v-model="ruleForm.sponsor"></el-input> |
|
|
<el-input disabled style="width: 202px" v-model="ruleForm.engineeringManagementUnit" |
|
|
|
|
|
placeholder="请输入主管单位"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label-width="120px" label="注册编码" prop="code"> |
|
|
<el-form-item label-width="120px" label="计划名称" prop="planName"> |
|
|
<el-input style="width: 202px" v-model="ruleForm.code" placeholder="请输入注册编码"></el-input> |
|
|
<el-input style="width: 202px" v-model="ruleForm.planName" placeholder="请输入计划名称"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label-width="120px" label="三个责任人" prop="responsibility"> |
|
|
<el-form-item label-width="120px" label="注册编码" prop="wagaCode"> |
|
|
<el-input style="width: 202px" v-model="ruleForm.responsibility"></el-input> |
|
|
<el-input disabled style="width: 202px" v-model="ruleForm.wagaCode" placeholder="请输入注册编码"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
<!-- <el-col :span="12">--> |
|
|
|
|
|
<!-- <el-form-item label-width="120px" label="三个责任人" prop="responsibility">--> |
|
|
|
|
|
<!-- <el-input style="width: 202px" v-model="ruleForm.responsibility"></el-input>--> |
|
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
|
|
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<div style="display: flex; margin-bottom: 16px"> |
|
|
<div style="display: flex; margin-bottom: 16px"> |
|
|
<div |
|
|
<div |
|
|
style=" |
|
|
style=" |
|
|
width: 5px; |
|
|
width: 5px; |
|
|
height: 16px; |
|
|
height: 16px; |
|
|
background-color: #31a08e; |
|
|
background-color: #31a08e; |
|
@ -113,42 +195,55 @@ export default { |
|
|
</div> |
|
|
</div> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label-width="120px" label="调度方案" prop="programme"> |
|
|
<el-form-item label-width="120px" label="调度方案" prop="docs"> |
|
|
<el-upload |
|
|
<el-upload |
|
|
class="upload-demo" |
|
|
class="avatar-uploader" |
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
action="#" |
|
|
:on-preview="handlePreview" |
|
|
:http-request="handleUpload" |
|
|
:before-remove="beforeRemove" |
|
|
:on-preview="handlePreview" |
|
|
multiple |
|
|
:before-remove="beforeRemove" |
|
|
accept=".doc, .docx, .pdf, .png, .jpg" |
|
|
:before-upload="beforeUpload" |
|
|
:limit="5" |
|
|
:on-remove="handleOpinionRemove" |
|
|
:on-exceed="handleExceed" |
|
|
:on-success="submitOpinionUpload" |
|
|
:auto-upload="false" |
|
|
multiple |
|
|
:file-list="fileList"> |
|
|
accept=".doc, .docx, .pdf, .png, .jpg" |
|
|
|
|
|
:limit="5" |
|
|
|
|
|
:on-exceed="handleExceed" |
|
|
|
|
|
:file-list="fileList"> |
|
|
<el-button size="small" type="primary">点击上传</el-button> |
|
|
<el-button size="small" type="primary">点击上传</el-button> |
|
|
<div slot="tip" class="el-upload__tip">只能上传doc/docx/pdf/png/JPG文件,且不能超过50m</div> |
|
|
<div slot="tip" class="el-upload__tip">只能上传doc/docx/pdf/png/JPG文件,且不能超过50m</div> |
|
|
</el-upload> |
|
|
</el-upload> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<div ref="word"></div> |
|
|
<el-form-item label-width="120px" label="水闸建设图纸" prop="drawing"> |
|
|
<!-- <el-col :span="12">--> |
|
|
<el-upload |
|
|
<!-- <el-form-item label-width="120px" label="水闸建设图纸" prop="drawing">--> |
|
|
class="upload-demo" |
|
|
<!-- <el-upload--> |
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
<!-- class="upload-demo"--> |
|
|
:on-preview="handlePreview" |
|
|
<!-- action="https://jsonplaceholder.typicode.com/posts/"--> |
|
|
:before-remove="beforeRemove" |
|
|
<!-- :on-preview="handlePreview"--> |
|
|
accept=".pdf, .png, .jpg" |
|
|
<!-- :before-remove="beforeRemove"--> |
|
|
multiple |
|
|
<!-- accept=".pdf, .png, .jpg"--> |
|
|
:limit="5" |
|
|
<!-- multiple--> |
|
|
:on-exceed="handleExceed" |
|
|
<!-- :limit="5"--> |
|
|
:auto-upload="false" |
|
|
<!-- :on-exceed="handleExceed"--> |
|
|
:file-list="fileList"> |
|
|
<!-- :auto-upload="false"--> |
|
|
<el-button size="small" type="primary">点击上传</el-button> |
|
|
<!-- :file-list="fileList">--> |
|
|
<div slot="tip" class="el-upload__tip">只能上传pdf/png/JPG文件,且不能超过50m</div> |
|
|
<!-- <el-button size="small" type="primary">点击上传</el-button>--> |
|
|
</el-upload> |
|
|
<!-- <div slot="tip" class="el-upload__tip">只能上传pdf/png/JPG文件,且不能超过50m</div>--> |
|
|
</el-form-item> |
|
|
<!-- </el-upload>--> |
|
|
</el-col> |
|
|
<!-- </el-form-item>--> |
|
|
|
|
|
<!-- </el-col>--> |
|
|
</el-form> |
|
|
</el-form> |
|
|
|
|
|
<el-dialog |
|
|
|
|
|
:title="dialog.title" |
|
|
|
|
|
@close="closeDialog" |
|
|
|
|
|
:visible.sync="dialog.visible" |
|
|
|
|
|
width="80%" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
> |
|
|
|
|
|
<preview v-if="dialog.visible" :url="preViewFile"></preview> |
|
|
|
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|