794 lines
29 KiB
Vue
794 lines
29 KiB
Vue
<!-- 标准法规库 - 动态&资料 -->
|
|
<template>
|
|
<div class="addDrawer">
|
|
<el-drawer
|
|
:title="modalshowtitle"
|
|
:visible.sync="drawerOpen"
|
|
direction="rtl"
|
|
@close="closeDrawer"
|
|
custom-class="demo-drawer"
|
|
ref="drawer"
|
|
size="800px"
|
|
>
|
|
<div class="demo-drawer__content">
|
|
<div class="el-drawer-form">
|
|
<el-form ref="sarStandardsInfoForm" :model="addForm" :rules="rulesForm" class="label-input-form">
|
|
<el-row v-if="modalshowtitle == '编辑'">
|
|
<el-col :span="12">
|
|
<el-form-item label="序号" label-width="130px" class="add-form-item" prop="rowIndex">
|
|
<el-input v-model="addForm.rowIndex" placeholder="请输入" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="编号" prop="country" label-width="130px" class="add-form-item">
|
|
<el-input v-model="addForm.snum" placeholder="请输入" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row v-if="modalshowtitle == '编辑'">
|
|
<el-col :span="12">
|
|
<el-form-item label="状态" label-width="130px" class="add-form-item">
|
|
<el-select
|
|
v-model="addForm.status"
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
placeholder="请选择">
|
|
<el-option
|
|
v-for="item in statusList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="版本" prop="country" label-width="130px" class="add-form-item">
|
|
<el-input v-model="addForm.version" placeholder="请输入" disabled></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="区域" label-width="130px" prop="region" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
@on-change="regionChange"
|
|
v-model="addForm.region"
|
|
placeholder="请选择"
|
|
:options="regionList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="国家" prop="country" label-width="130px" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
v-model="addForm.country"
|
|
placeholder="请选择"
|
|
:options="countryList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="来源类型" prop="sourceType" label-width="130px" class="add-form-item">
|
|
<el-select
|
|
v-model="addForm.sourceType"
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑'"
|
|
placeholder="请选择">
|
|
<el-option
|
|
v-for="item in sourceTypeList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="具体来源" prop="source" label-width="130px" class="add-form-item">
|
|
<el-input
|
|
v-model="addForm.source"
|
|
placeholder="请输入"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="车辆类型" prop="carCategory" label-width="130px" class="add-form-item">
|
|
<el-select :disabled="addForm.version !== 1 && modalshowtitle === '编辑' " v-model="addForm.carType" placeholder="请选择">
|
|
<el-option
|
|
v-for="item in carTypeList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="车辆品类" prop="carCategory" label-width="130px" class="add-form-item">
|
|
<el-select :disabled="addForm.version !== 1 && modalshowtitle === '编辑' " v-model="addForm.carCategory" placeholder="请选择">
|
|
<el-option
|
|
v-for="item in carCategoryList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="领域" prop="area" label-width="130px" class="add-form-item">
|
|
<el-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
v-model="addForm.area"
|
|
@change="areaChange"
|
|
placeholder="请选择"
|
|
>
|
|
<el-option
|
|
v-for="item in areaList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="子领域" prop="subArea" label-width="130px" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
v-model="addForm.subArea"
|
|
placeholder="请选择"
|
|
:options="subAreaList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="一级科目" prop="firSubjects" label-width="130px" class="add-form-item">
|
|
<el-input :disabled="addForm.version !== 1 && modalshowtitle === '编辑' " v-model="addForm.firSubjects" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="一级科目要求"
|
|
prop="firSubjAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑'"
|
|
v-model="addForm.firSubjAsk"
|
|
placeholder="请输入"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="二级科目" prop="secSubjects" label-width="130px" class="add-form-item">
|
|
<el-input :disabled="addForm.version !== 1 && modalshowtitle === '编辑' " v-model="addForm.secSubjects" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="二级科目要求"
|
|
prop="secSubjAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑'"
|
|
v-model="addForm.secSubjAsk"
|
|
placeholder="请输入"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="三级科目" prop="thirdSubjects" label-width="130px" class="add-form-item">
|
|
<el-input :disabled="addForm.version !== 1 && modalshowtitle === '编辑'" v-model="addForm.thirdSubjects" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="三级科目要求"
|
|
prop="thirdSubjAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑'"
|
|
v-model="addForm.thirdSubjAsk"
|
|
placeholder="请输入"
|
|
></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="关联系统" prop="relateSystem" label-width="130px" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
v-model="addForm.relateSystem"
|
|
@on-change="systemChange"
|
|
placeholder="请选择"
|
|
:options="relateSystemList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="系统层技术要求"
|
|
prop="systemAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input v-model="addForm.systemAsk" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="关联总成" prop="relateAssem" label-width="130px" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
@on-change="relateAssemChange"
|
|
v-model="addForm.relateAssem"
|
|
placeholder="请选择"
|
|
:options="relateAssemList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="总成层级技术要求"
|
|
prop="assemAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input v-model="addForm.assemAsk" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="关联部件" prop="relateParts" label-width="130px" class="add-form-item">
|
|
<search-select
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
v-model="addForm.relateParts"
|
|
placeholder="请选择"
|
|
:options="relatePartsList"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="部件层级技术要求"
|
|
prop="partsAsk"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input v-model="addForm.partsAsk" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="已转化的要件书" prop="convertBooks" label-width="130px" class="add-form-item">
|
|
<el-input v-model="addForm.convertBooks" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
label="已转化的企业标准/菜谱/手册"
|
|
title="已转化的企业标准/菜谱/手册"
|
|
prop="convertStand"
|
|
label-width="130px"
|
|
class="add-form-item"
|
|
>
|
|
<el-input v-model="addForm.convertStand" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12" v-if="modalshowtitle == '编辑'">
|
|
<el-form-item label="创建日期" prop="creationTime" label-width="130px" class="add-form-item">
|
|
<el-input disabled v-model="addForm.creationTime" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="生效日期" prop="effectiveDate" label-width="130px" class="add-form-item">
|
|
<el-date-picker
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
value-format="yyyy-MM-dd"
|
|
v-model="addForm.effectiveDate"
|
|
type="date"
|
|
placeholder="选择日期"
|
|
></el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="失效日期" prop="expriationDate" label-width="130px" class="add-form-item">
|
|
<el-date-picker
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑' "
|
|
value-format="yyyy-MM-dd"
|
|
v-model="addForm.expriationDate"
|
|
type="date"
|
|
placeholder="选择日期"
|
|
></el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="附件" prop="attachFile" label-width="130px" class="add-form-item">
|
|
<el-input v-model="addForm.attachFile" v-show="false"></el-input>
|
|
<el-button
|
|
@click="clickButtonToUpload"
|
|
icon="el-icon-upload"
|
|
class="form-upload-btn"
|
|
>
|
|
{{ (addForm.fileIds === null || addForm.fileIds.length === 0) ? '点击上传' : '查看已上传的文件' }}
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="备注" prop="reamrk" label-width="130px" class="add-form-item">
|
|
<el-input v-model="addForm.reamrk" placeholder="请输入"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<div class="demo-drawer-footer">
|
|
<el-button size="small" type="primary" class="searchAngNewBtn" @click="submit">提交</el-button>
|
|
<el-button size="small" type="primary" class="searchAngNewBtn" @click="reset">恢复</el-button>
|
|
<el-button
|
|
size="small"
|
|
style="margin-right: 8px"
|
|
type="primary"
|
|
@click="closeDrawer()"
|
|
class="searchAngNewBtn"
|
|
>取消</el-button>
|
|
</div>
|
|
</div>
|
|
</el-drawer>
|
|
<!-- 导入-->
|
|
<el-dialog
|
|
:visible.sync="openUpload"
|
|
title="导入文件"
|
|
width="400px"
|
|
>
|
|
<el-upload
|
|
multiple
|
|
drag
|
|
show-file-list
|
|
:disabled="addForm.version !== 1 && modalshowtitle === '编辑'"
|
|
:on-success="uploadSuccess"
|
|
:before-upload="beforeUpload"
|
|
:on-remove="removeOneFile"
|
|
:action="uploadPath"
|
|
accept=".PDF, .doc, .docx, .ppt, .pptx"
|
|
name="file"
|
|
:file-list="defaultFileList"
|
|
ref="importFileAboutStand"
|
|
>
|
|
<div style="padding: 20px 0" v-if="addForm.version !== 1 && modalshowtitle === '编辑'">
|
|
<i class="el-icon-upload" style="color: #3399ff"></i>
|
|
<p>点击或拖拽上传文件</p>
|
|
</div>
|
|
<div style="padding: 20px 0" v-else>
|
|
<i class="el-icon-upload"></i>
|
|
<p>点击或拖拽上传文件</p>
|
|
</div>
|
|
</el-upload>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'addDrawer',
|
|
props: {
|
|
drawerOpen: {
|
|
type: Boolean,
|
|
defaluts: false
|
|
},
|
|
modalshowtitle: {
|
|
type: String,
|
|
defaluts: ''
|
|
},
|
|
rowData: {
|
|
type: Object
|
|
}
|
|
},
|
|
data () {
|
|
return {
|
|
openUpload: false,
|
|
formdisableflag: false,
|
|
defaultFileList: [], // 默认显示
|
|
uploadPath: 'api/att/attFile/upload',
|
|
addForm: {
|
|
id: '',
|
|
rowIndex: '',
|
|
snum: '',
|
|
status: '',
|
|
version: '',
|
|
region: '',
|
|
country: '',
|
|
sourceType: '',
|
|
source: '',
|
|
attachFile: '',
|
|
carType: '',
|
|
carCategory: '',
|
|
area: '',
|
|
subArea: '',
|
|
firSubjects: '',
|
|
firSubjAsk: '',
|
|
secSubjects: '',
|
|
secSubjAsk: '',
|
|
thirdSubjects: '',
|
|
thirdSubjAsk: '',
|
|
relateSystem: '',
|
|
systemAsk: '',
|
|
relateAssem: '',
|
|
assemAsk: '',
|
|
relateParts: '',
|
|
partsAsk: '',
|
|
convertBooks: '',
|
|
convertStand: '',
|
|
creationUser: '',
|
|
creationTime: '',
|
|
effectiveDate: '',
|
|
expriationDate: '',
|
|
reamrk: '',
|
|
department: '',
|
|
fileIds: []
|
|
},
|
|
// 验证规则
|
|
rulesForm: {
|
|
region: [
|
|
{ required: true, message: '区域不能为空', trigger: 'change' }
|
|
],
|
|
country: [
|
|
{ required: true, message: '国家不能为空', trigger: 'change' }
|
|
],
|
|
sourceType: [
|
|
{ required: true, message: '来源类型不能为空', trigger: 'blur' }
|
|
],
|
|
source: [
|
|
{ required: true, message: '具体来源不能为空', trigger: 'blur' }
|
|
],
|
|
carCategory: [
|
|
{ required: true, message: '车辆品类不能为空', trigger: 'blur' }
|
|
],
|
|
area: [
|
|
{ required: true, message: '领域不能为空', trigger: 'blur' }
|
|
],
|
|
subArea: [
|
|
{ required: true, message: '子领域不能为空', trigger: 'change' }
|
|
],
|
|
firSubjects: [
|
|
{ required: true, message: '一级科目不能为空', trigger: 'blur' }
|
|
],
|
|
firSubjAsk: [
|
|
{ required: true, message: '一级科目要求不能为空', trigger: 'blur' }
|
|
],
|
|
secSubjects: [
|
|
{ required: true, message: '二级科目不能为空', trigger: 'blur' }
|
|
],
|
|
secSubjAsk: [
|
|
{ required: true, message: '二级科目要求不能为空', trigger: 'blur' }
|
|
],
|
|
thirdSubjects: [
|
|
{ required: true, message: '三级科目不能为空', trigger: 'blur' }
|
|
],
|
|
thirdSubjAsk: [
|
|
{ required: true, message: '三级科目要求不能为空', trigger: 'blur' }
|
|
],
|
|
relateSystem: [
|
|
{ required: true, message: '关联系统不能为空', trigger: 'change' }
|
|
],
|
|
systemAsk: [
|
|
{ required: true, message: '系统层技术要求不能为空', trigger: 'blur' }
|
|
],
|
|
relateAssem: [
|
|
{ required: true, message: '关联总成不能为空', trigger: 'change' }
|
|
],
|
|
assemAsk: [
|
|
{ required: true, message: '总成层级技术要求不能为空', trigger: 'blur' }
|
|
],
|
|
relateParts: [
|
|
{ required: true, message: '关联部件不能为空', trigger: 'change' }
|
|
],
|
|
partsAsk: [
|
|
{ required: true, message: '部件层级技术要求不能为空', trigger: 'blur' }
|
|
],
|
|
convertBooks: [
|
|
{ required: true, message: '已转化的要件书不能为空', trigger: 'blur' }
|
|
],
|
|
convertStand: [
|
|
{ required: true, message: '已转化的企业标准不能为空', trigger: 'blur' }
|
|
]
|
|
},
|
|
regionList: [],
|
|
countryList: [],
|
|
sourceTypeList: [{label: '强制法规', value: 'QZFG'}, {label: '机构测评', value: 'JGPC'}, {label: '市场要求', value: 'SCXQ'}, {label: '顾客需求', value: 'GKXQ'}, {label: '竞争策略', value: 'JZCL'}, {label: '部件专属要求', value: 'ZSXQ'}, {label: '其他', value: 'other'}],
|
|
carTypeList: [{label: 'M1', value: 'M1'}, {label: 'M2', value: 'M2'}, {label: 'N1', value: 'N1'}, {label: 'N2', value: 'N2'}],
|
|
carCategoryList: [{label: '三厢轿车', value: 'SXJC'}, {label: '两厢轿车', value: 'LXJC'}, {label: '承载式SUV', value: 'CZSUV'}, {label: '非承载式SUV', value: 'FCZSUV'}, {label: '皮卡', value: 'PK'}, {label: '轻客', value: 'QK'}, {label: '轻货', value: 'QH'}],
|
|
areaList: [],
|
|
subAreaList: [],
|
|
relateSystemList: [],
|
|
relateAssemList: [],
|
|
relatePartsList: [],
|
|
departmentList: [],
|
|
statusList: [{label: '草稿', value: '1'}, {label: '生效', value: '2'}, {label: '作废', value: '3'}]
|
|
}
|
|
},
|
|
watch: {
|
|
drawerOpen: {
|
|
handler (value) {
|
|
if (this.modalshowtitle === '编辑' && value) {
|
|
this.echo()
|
|
}
|
|
},
|
|
immediate: true
|
|
}
|
|
},
|
|
created () {
|
|
this.getOptionData()
|
|
},
|
|
methods: {
|
|
// 回显 事件
|
|
echo () {
|
|
this.$nextTick(() => {
|
|
// 请求国家列表之后 执行回显
|
|
this.regionChange(this.rowData.region).then(() => {
|
|
// 请求子领域列表
|
|
this.areaChange(this.rowData.area).then(() => {
|
|
// 请求关联总成列表
|
|
this.systemChange(this.rowData.relateSystem).then(() => {
|
|
// 请求关联部件列表
|
|
this.relateAssemChange(this.rowData.relateAssem).then(() => {
|
|
Object.keys(this.addForm).forEach(key => {
|
|
if (this.rowData[key]) {
|
|
this.addForm[key] = this.rowData[key]
|
|
}
|
|
})
|
|
// 回显附件
|
|
if (this.rowData.attachFile) {
|
|
this.addForm.fileIds = this.rowData.attachFile.split(',')
|
|
this.defaultFileList = this.rowData.attachFileList
|
|
this.defaultFileList.map((item, index) => {
|
|
this.defaultFileList[index].name = item.oldFileName
|
|
this.defaultFileList[index].response = {
|
|
data: {
|
|
id: item.id
|
|
}
|
|
}
|
|
})
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
})
|
|
},
|
|
submit () {
|
|
this.$refs['sarStandardsInfoForm'].validate((valid) => {
|
|
if (valid) {
|
|
let searchData = {}
|
|
Object.keys(this.addForm).forEach(key => {
|
|
if (!(this.addForm[key] === '' || this.addForm[key] === [])) {
|
|
searchData[key] = this.addForm[key]
|
|
}
|
|
})
|
|
searchData['attachFile'] = this.addForm.fileIds.toString()
|
|
this.$emit('addData', searchData, this.modalshowtitle === '创建' ? 'add' : 'edit')
|
|
}
|
|
})
|
|
},
|
|
reset () {
|
|
if (this.modalshowtitle === '新建') {
|
|
Object.keys(this.addForm).forEach(key => {
|
|
this.addForm[key] = ''
|
|
})
|
|
this.defaultFileList = []
|
|
} else {
|
|
this.echo()
|
|
}
|
|
},
|
|
// 关闭新建 抽屉事件
|
|
closeDrawer () {
|
|
Object.keys(this.addForm).forEach(key => {
|
|
this.addForm[key] = ''
|
|
})
|
|
this.defaultFileList = []
|
|
this.countryList = []
|
|
this.subAreaList = []
|
|
this.relateAssemList = []
|
|
this.relatePartsList = []
|
|
this.$emit('closeDrawer', false)
|
|
this.$nextTick(() => {
|
|
this.$refs['sarStandardsInfoForm'].resetFields()
|
|
})
|
|
},
|
|
// 出现上传modal事件
|
|
clickButtonToUpload () {
|
|
this.openUpload = true
|
|
},
|
|
// 新增、编辑上传文件之前的钩子
|
|
beforeUpload (file) {
|
|
var filename = file.name
|
|
var index1 = filename.lastIndexOf('.')
|
|
var index2 = filename.length
|
|
var fileSuffix = filename.substring(index1, index2)
|
|
//把后缀转大写
|
|
if(fileSuffix !== undefined && fileSuffix !== null){
|
|
fileSuffix = fileSuffix.toUpperCase()
|
|
}
|
|
// 判断上传文件格式
|
|
if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|
|
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|
|
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
|
|
return true
|
|
} else {
|
|
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
|
|
return false
|
|
}
|
|
// 判断文件上传大小
|
|
if (file.size / 1024 / 1024 <= 200) {// eslint-disable-line
|
|
return true
|
|
} else {
|
|
this.$message.error('文件' + file.name + '大小不超过200M')
|
|
return false
|
|
}
|
|
return true
|
|
},
|
|
uploadSuccess (res, file, fileList) {
|
|
if (res.ok) {
|
|
this.addForm['fileIds'].push(res.data.id)
|
|
this.$message({
|
|
message: '文件上传成功',
|
|
type: 'success'
|
|
})
|
|
} else {
|
|
this.$message.error(res.message)
|
|
}
|
|
},
|
|
removeOneFile (file, fileList) {
|
|
let fileId = file.response.data.id
|
|
let index = this.addForm.fileIds.indexOf(fileId)
|
|
this.addForm.fileIds.splice(index, 1)
|
|
this.defaultFileList = fileList
|
|
},
|
|
/*
|
|
*@description: 获取选项数据
|
|
*@modifyContent:
|
|
*@author: 刘志超
|
|
*@date: 2020-09-27 10:47:29
|
|
*/
|
|
getOptionData () {
|
|
this.$http.get('sys/org/getTree', {}, {_this: this}, res => {
|
|
this.departmentList = res.data.map(item => {
|
|
return {
|
|
label: item.orgName,
|
|
value: item.id
|
|
}
|
|
})
|
|
})
|
|
this.$http.get('sys/dictype/getDicTypeListCode', {}, {_this: this}, res => {
|
|
Object.keys(res.data).forEach(item => {
|
|
switch (item) {
|
|
case 'REGION' :
|
|
this.regionList = res.data[item]
|
|
break
|
|
case 'COUNTRY' :
|
|
// this.countryList = res.data[item]
|
|
break
|
|
case 'AREA' :
|
|
this.areaList = res.data[item]
|
|
break
|
|
case 'SUBAREA' :
|
|
// this.subAreaList = res.data[item]
|
|
break
|
|
case 'RELATESYSTEM' :
|
|
this.relateSystemList = res.data[item]
|
|
break
|
|
case 'RELATEASSEM' :
|
|
// this.relateAssemList = res.data[item]
|
|
break
|
|
case 'RELATEPARTS' :
|
|
// this.relatePartsList = res.data[item]
|
|
break
|
|
}
|
|
})
|
|
})
|
|
},
|
|
/*
|
|
*@description: 区域改变
|
|
*@modifyContent:
|
|
*@author: 刘志超
|
|
*@date: 2020-09-27 11:32:22
|
|
*/
|
|
regionChange (value) {
|
|
return new Promise(resolve => {
|
|
this.$http.get('sys/dictype/getDicTypeByParentCodes', {
|
|
dicTypeCode: value.toString()
|
|
}, {
|
|
_this: this
|
|
}, res => {
|
|
if (res.ok) {
|
|
this.countryList = res.data
|
|
this.addForm.country = ''
|
|
resolve()
|
|
}
|
|
})
|
|
})
|
|
},
|
|
areaChange (value) {
|
|
return new Promise(resolve => {
|
|
if (this.drawerOpen) {
|
|
this.$http.get('sys/dictype/getDicTypeByParentCodes', {
|
|
dicTypeCode: value.toString()
|
|
}, {
|
|
_this: this
|
|
}, res => {
|
|
if (res.ok) {
|
|
this.subAreaList = res.data
|
|
this.addForm.subArea = ''
|
|
resolve()
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 关联系统 change 事件
|
|
systemChange (value) {
|
|
return new Promise(resolve => {
|
|
if (this.drawerOpen) {
|
|
this.$http.get('sys/dictype/getDicTypeByParentCodes', {
|
|
dicTypeCode: value.toString()
|
|
}, {
|
|
_this: this
|
|
}, res => {
|
|
if (res.ok) {
|
|
this.relateAssemList = res.data
|
|
this.addForm.relateAssem = ''
|
|
resolve()
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 关联总成 change事件
|
|
relateAssemChange (value) {
|
|
return new Promise(resolve => {
|
|
if (this.drawerOpen) {
|
|
this.$http.get('sys/dictype/getDicTypeByParentCodes', {
|
|
dicTypeCode: value.toString()
|
|
}, {
|
|
_this: this
|
|
}, res => {
|
|
if (res.ok) {
|
|
this.relatePartsList = res.data
|
|
this.addForm.relateParts = ''
|
|
resolve()
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|