平台件项目库 合规认证修改

This commit is contained in:
zyx.net
2023-10-10 11:36:28 +08:00
parent 771ea4868a
commit e58f12a973
5 changed files with 154 additions and 24 deletions
+2
View File
@@ -2015,4 +2015,6 @@ module.exports = {
modulspecificationcodeused:'The module or monomer specification code used', modulspecificationcodeused:'The module or monomer specification code used',
Coolingmode:'Cooling mode', Coolingmode:'Cooling mode',
Filingcompletiontime:'Filing completion time', Filingcompletiontime:'Filing completion time',
Platformdevelopmentvalvepoint:'Platform development valve point',
Compliancemanagementvalvepoint:'Compliance management valve point',
} }
+2
View File
@@ -3971,4 +3971,6 @@ module.exports = {
modulspecificationcodeused:'所用模块或单体规格代码', modulspecificationcodeused:'所用模块或单体规格代码',
Coolingmode:'冷却方式', Coolingmode:'冷却方式',
Filingcompletiontime:'备案完成时间', Filingcompletiontime:'备案完成时间',
Platformdevelopmentvalvepoint:'平台件开发阀点',
Compliancemanagementvalvepoint:'合规管理阀点',
} }
@@ -46,8 +46,8 @@
<div class="text-field"> <div class="text-field">
<span class="text-field-left" :title="$t('statisticalNodes')">{{$t('statisticalNodes')}}</span> <span class="text-field-left" :title="$t('statisticalNodes')">{{$t('statisticalNodes')}}</span>
<span class="text-field-right" <span class="text-field-right"
:title="queryForm.dutyDepartName" :title="queryForm.dutyDepart"
>{{queryForm.dutyDepartName}}</span> >{{queryForm.dutyDepart}}</span>
</div> </div>
</div> </div>
<div class="content-text"> <div class="content-text">
@@ -79,15 +79,16 @@
:action="uploadAction+'?cut='+cut" :action="uploadAction+'?cut='+cut"
list-type="picture-card" list-type="picture-card"
:file-list="fileList" :file-list="fileList"
:disabled='true'
@preview="handlePreview" @preview="handlePreview"
@change="handleChange" @change="handleChange"
> >
<div v-if="fileList.length"> <!-- <div v-if="fileList.length">-->
<a-icon type="plus" /> <!-- <a-icon type="plus" />-->
<div class="ant-upload-text"> <!-- <div class="ant-upload-text">-->
<!-- Upload--> <!-- &lt;!&ndash; Upload&ndash;&gt;-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</a-upload> </a-upload>
<a-modal :visible="previewVisible" :footer="null" @cancel="handleCancelimg"> <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancelimg">
<img alt="example" style="width: 100%" :src="previewImage" /> <img alt="example" style="width: 100%" :src="previewImage" />
@@ -217,6 +218,23 @@
} else { } else {
this.queryForm.brandText = this.queryForm.brandText this.queryForm.brandText = this.queryForm.brandText
} }
let file = []
getAction('sys/common/getFileInfos', { id: this.queryForm.brandLabel }).then((res) => {
if (res.success) {
console.log(res.result)
res.result.forEach((item =>{
file.push({
name : item.fileName,
uid : item.id,
url : item.url
})
}))
console.log(file)
this.fileList = file
} else {
// this.$refs.uploadFile.perentHandleFunc()
}
})
} else { } else {
this.queryForm = {} this.queryForm = {}
} }
@@ -765,9 +765,32 @@
let content = this.projectNameList.filter(res => { let content = this.projectNameList.filter(res => {
return res.id == value.projectNameId return res.id == value.projectNameId
}) })
if(value.dutyDepart){
value.dutyDepart = value.dutyDepart.split(',')
}
let file = []
getAction('sys/common/getFileInfos', { id: value.brandLabel }).then((res) => {
if (res.success) {
console.log(res.result)
res.result.forEach((item =>{
file.push({
name : item.fileName,
uid : item.id,
url : item.url
})
}))
console.log(file)
this.fileList = file
} else {
// this.$refs.uploadFile.perentHandleFunc()
}
})
this.formInline = value this.formInline = value
console.log(this.formInline) console.log(this.formInline)
this.formInline.engineeringInterfacePersonName = this.formInline.engineeringInterfacePersonName
this.formInline.regulationOwnerIdName = this.formInline.regulationOwnerIdName
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
this.$forceUpdate()
} }
} else { } else {
this.projectNameList = [] this.projectNameList = []
@@ -794,6 +817,9 @@
editModel(value) { editModel(value) {
this.visible = true this.visible = true
this.title = this.$t('edit') this.title = this.$t('edit')
const token = Vue.ls.get(ACCESS_TOKEN)
this.headers = { 'X-Access-Token': token }
console.log(this.headers)
this.getNameList(value) this.getNameList(value)
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ruleForm.clearValidate() this.$refs.ruleForm.clearValidate()
@@ -815,6 +841,7 @@
Action = postAction Action = postAction
} }
let query = JSON.parse(JSON.stringify(this.formInline)) let query = JSON.parse(JSON.stringify(this.formInline))
delete query.urlList
Object.keys(query).forEach(res => { Object.keys(query).forEach(res => {
if (query[res] && query[res] instanceof Array) { if (query[res] && query[res] instanceof Array) {
query[res] = query[res].join(',') query[res] = query[res].join(',')
@@ -11,7 +11,10 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;"> style="height: 100%;overflow: auto;padding-bottom: 53px;">
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<div v-for="(item,index) in formInline.list" :key="index"> <div class="header-text">
{{$t('Platformdevelopmentvalvepoint')}}
</div>
<div v-for="(item,index) in formInline.listUp" :key="index">
<div style='margin-left: 25px'> <div style='margin-left: 25px'>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
@@ -21,7 +24,7 @@
<span class="title-text-text" :title="$t('Nodename')">{{$t('Nodename')}}</span> <span class="title-text-text" :title="$t('Nodename')">{{$t('Nodename')}}</span>
</div> </div>
<a-form-model-item class="itemModel" <a-form-model-item class="itemModel"
:prop="'list.'+index+'.nodeName'" :prop="'listUp.'+index+'.nodeName'"
:rules="[{ required:true, :rules="[{ required:true,
message: $t('Nodename') + $t('cannotEmpty'), trigger: 'blur'}]" message: $t('Nodename') + $t('cannotEmpty'), trigger: 'blur'}]"
> >
@@ -50,7 +53,55 @@
</div> </div>
</a-col> </a-col>
<a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' @click="addClick(index)" type="plus"/> <a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' @click="addClick(index)" type="plus"/>
<a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' v-if="formInline.list.length > 1" @click="deleteClick(index)" <a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' v-if="formInline.listUp.length > 1" @click="deleteClick(index)"
type="minus" />
</a-row>
</div>
</div>
<div class="header-text">
{{$t('Compliancemanagementvalvepoint')}}
</div>
<div v-for="(item,index) in formInline.listDown" :key="index">
<div style='margin-left: 25px'>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('Nodename')">{{$t('Nodename')}}</span>
</div>
<a-form-model-item class="itemModel"
:prop="'listDown.'+index+'.nodeName'"
:rules="[{ required:true,
message: $t('Nodename') + $t('cannotEmpty'), trigger: 'blur'}]"
>
<a-input class="box-input"
v-model="item.nodeName"
:maxLength="200"
:placeholder="$t('PleaseEnter')+$t('Nodename')"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12" style='margin-left: -49px'>
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Nodedate')">{{$t('Nodedate')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('Nodedate')"
@change="dateChange(item,index)"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="item.nodeTime"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' @click="addClickdown(index)" type="plus"/>
<a-icon class="icon-text" style='font-size: 20px;margin-top: 10px;' v-if="formInline.listDown.length > 1" @click="deleteClickdown(index)"
type="minus" /> type="minus" />
</a-row> </a-row>
</div> </div>
@@ -77,7 +128,8 @@
visible: false, visible: false,
confirmLoading: false, confirmLoading: false,
formInline: { formInline: {
list:[{}] listUp:[{}],
listDown:[{}],
}, },
rules: { rules: {
}, },
@@ -88,15 +140,27 @@
}, },
methods: { methods: {
addClick(index){ addClick(index){
if(this.formInline.list.length > 19){ if(this.formInline.listUp.length > 19){
this.$message.warning(this.$t('maximum')) this.$message.warning(this.$t('maximum'))
}else{ }else{
this.formInline.list.splice(index + 1, 0, {}) this.formInline.listUp.splice(index + 1, 0, {})
} }
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
}, },
deleteClick(index) { deleteClick(index) {
this.formInline.list.splice(index, 1) this.formInline.listUp.splice(index, 1)
this.formInline = { ...this.formInline }
},
addClickdown(index){
if(this.formInline.listDown.length > 19){
this.$message.warning(this.$t('maximum'))
}else{
this.formInline.listDown.splice(index + 1, 0, {})
}
this.formInline = { ...this.formInline }
},
deleteClickdown(index) {
this.formInline.listDown.splice(index, 1)
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
}, },
edit() { edit() {
@@ -109,11 +173,12 @@
settingQueryForm() { settingQueryForm() {
getAction(this.url.settingQueryForm, { projectId: this.$route.query.id }).then((res) => { getAction(this.url.settingQueryForm, { projectId: this.$route.query.id }).then((res) => {
if (res.success) { if (res.success) {
this.formInline.list = res.result ? res.result : [{}] this.formInline.listUp = res.result.listUp ? res.result.listUp : [{}]
this.formInline.listDown = res.result.listDown ? res.result.listDown : [{}]
if(res.result==null ||res.result.length == 0){ if(res.result==null ||res.result.length == 0){
this.formInline.list=[{}] this.formInline.listUp=[{}]
this.formInline.listDown=[{}]
} }
console.log(this.formInline.list)
} }
}) })
@@ -121,14 +186,23 @@
handleOk() { handleOk() {
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
if(this.formInline.list){ if(this.formInline.listUp){
this.formInline.list.forEach((item,index) => { this.formInline.listUp.forEach((item,index) => {
item.projectId = this.$route.query.id item.projectId = this.$route.query.id
if((item.nodeName == '' || item.nodeName == undefined) && (item.nodeTime == ''| item.nodeTime == undefined)){ if((item.nodeName == '' || item.nodeName == undefined) && (item.nodeTime == ''| item.nodeTime == undefined)){
this.formInline.list.splice(index, 1) // 调用splice方法删除指定的对象 this.formInline.listUp.splice(index, 1) // 调用splice方法删除指定的对象
} }
}) })
this.formInline.list = this.formInline.list this.formInline.listUp = this.formInline.listUp
}
if(this.formInline.listDown){
this.formInline.listDown.forEach((item,index) => {
item.projectId = this.$route.query.id
if((item.nodeName == '' || item.nodeName == undefined) && (item.nodeTime == ''| item.nodeTime == undefined)){
this.formInline.listDown.splice(index, 1) // 调用splice方法删除指定的对象
}
})
this.formInline.listDown = this.formInline.listDown
} }
let query = { let query = {
...this.formInline, ...this.formInline,
@@ -160,12 +234,14 @@
}, },
handleCancel() { handleCancel() {
this.formInline = { this.formInline = {
list:[{}] listUp:[{}],
listDown:[{}],
} }
this.visible = false this.visible = false
}, },
dateChange(item,index) { dateChange(item,index) {
this.formInline.list[index].danodeTimete = this.formInline.list[index].nodeTime ? moment(this.formInline.list[index].nodeTime).format('YYYY-MM-DD') : '' this.formInline.listUp[index].danodeTimete = this.formInline.listUp[index].nodeTime ? moment(this.formInline.listUp[index].nodeTime).format('YYYY-MM-DD') : ''
this.formInline.listDown[index].danodeTimete = this.formInline.listDown[index].nodeTime ? moment(this.formInline.listDown[index].nodeTime).format('YYYY-MM-DD') : ''
} }
} }
} }
@@ -184,7 +260,12 @@
/*.formAdd .ant-form-item {*/ /*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/ /* margin-bottom: 20px;*/
/*}*/ /*}*/
.header-text {
font-size: 16px;
color: #000000;
font-weight: bold;
}
.itemModel .ant-form-item-control-wrapper { .itemModel .ant-form-item-control-wrapper {
width: 100%; width: 100%;
} }