Files
Arbitrate-Frontend/src/views/officialSeal/components/editTemplate.vue
T

112 lines
4.1 KiB
Vue
Raw Normal View History

2023-11-21 10:15:53 +08:00
<template>
<div>
<el-dialog title="修改模板" :visible="editVisable" v-if="editVisable" @close="cancel" width="600px" center>
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
class="demo-ruleForm">
<el-form-item label="模板名称" prop="temName">
<el-input v-model="ruleForm.temName"></el-input>
</el-form-item>
2023-11-25 17:57:10 +08:00
<el-form-item label="模板类型" prop="temType">
<el-select v-model="ruleForm.temType" placeholder="请选择">
<el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
2023-11-21 10:15:53 +08:00
<el-form-item label="当前模板">
2023-11-23 20:07:01 +08:00
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(editData.temOrigPath)">{{ editData.fileName
}}</span>
2023-11-21 10:15:53 +08:00
</el-form-item>
</el-form>
<el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload"
:action="UploadUrl()" :headers="headers" :data="filedata" :on-remove="handleRemove"
2023-11-23 20:07:01 +08:00
:on-change="handleChange" accept=".doc,.docx" :file-list="fileList" :auto-upload="false">
<el-button size="small" type="primary">选择模板文件</el-button>
2023-11-21 10:15:53 +08:00
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
2023-11-23 20:07:01 +08:00
props: ["editVisable", "editData", "queryParams"],
2023-11-25 17:57:10 +08:00
dicts: ["template_type"],
2023-11-21 10:15:53 +08:00
data() {
return {
fileList: [],
data: [],
headers: {
Authorization: "Bearer " + getToken(),
},
2023-11-23 20:07:01 +08:00
isImg: false,
2023-11-21 10:15:53 +08:00
filedata: {},
flagBtn: false,
ruleForm: {},
rules: {
temName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
2023-11-25 17:57:10 +08:00
temType: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
2023-11-21 10:15:53 +08:00
}
};
},
watch: {
editData(val) {
if (val) {
this.ruleForm = val;
2023-11-25 17:57:10 +08:00
this.ruleForm.temType = this.ruleForm.temType + '';
2023-11-21 10:15:53 +08:00
}
}
},
created() {
},
methods: {
// 打开链接
2023-11-23 20:07:01 +08:00
openUrl(urlTemp) {
2023-11-21 10:15:53 +08:00
let headPath = window.location.origin + "/API/";
window.open(headPath + urlTemp);
},
cancel() {
this.$emit("cancelEdit");
},
handleChange(file, fileList) {
2023-11-25 17:57:10 +08:00
this.isImg = file.type === '.doc' || '.docx';
2023-11-21 10:15:53 +08:00
},
UploadUrl() {
return window.location.origin + "/API/deptIdentify/updateTemplate";
},
submitUpload() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.filedata.id = this.editData.id;
this.filedata.temName = this.ruleForm.temName;
2023-11-23 20:07:01 +08:00
if (this.isImg) {
this.$refs.upload.submit();
}else{
this.$message.error('只能上传doc,docx格式的文件')
}
2023-11-21 10:15:53 +08:00
}
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
2023-11-25 17:57:10 +08:00
// this.isImg = file.type === '.doc' || '.docx'
2023-11-21 10:15:53 +08:00
},
handleSuccess() {
this.$message.success('上传成功');
this.$emit("cancelEdit");
2023-11-23 20:07:01 +08:00
this.$emit('getList', this.queryParams);
2023-11-21 10:15:53 +08:00
}
},
};
</script>
2023-11-23 20:07:01 +08:00
<style lang="scss" scoped></style>