Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

# Conflicts:
#	jero-web/src/common/lang/en-us.js
#	jero-web/src/common/lang/zh-cn.js
This commit is contained in:
zyx.net
2023-03-17 17:59:47 +08:00
136 changed files with 12623 additions and 3342 deletions
@@ -567,15 +567,16 @@
},
url: {
list: '/project/projectCertificationInventoryEO/page',
exportTemplate: '',
exportData: '',
exportTemplate: '/project/projectCertificationInventoryEO/exportTemplate',
exportData: '/project/projectCertificationInventoryEO/exportData',
deleteBatch: '/project/projectCertificationInventoryEO/deleteBatch',
setBatch: '/project/projectCertificationInventoryEO/setBatch',
deleteOne: '/project/projectCertificationInventoryEO/delete',
AndUserId: '/project/projectLibraryRoleRelEO/queryByProjectLibraryIdAndUserId',
AndUserIdEdit: '/project/projectLibraryRoleRelEO/edit',
saveBatch: '/project/projectCertificationInventoryEO/saveBatch',
questionUrl: '/project/projectCertificationInventoryEO/expediting'
questionUrl: '/project/projectCertificationInventoryEO/expediting',
importZipUrl: '/project/projectCertificationInventoryEO/importData',
},
dataSource: [],
roleSwitchingCode: '',
@@ -888,7 +889,7 @@
this.selectedRowKeysList = rows
},
handleModule() {
downloadFile(this.url.exportTemplate, this.$t('listOfRegulations') + this.$t('importTemplate') + '.xls', {})
downloadFile(this.url.exportTemplate, this.$t('certificationList') + this.$t('importTemplate') + '.xls', {})
},
handleExport() {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
@@ -1296,13 +1297,13 @@
this.visibleRoleSwitching = true
this.$nextTick(() => {
this.$refs.ruleFormRoleSwitching.clearValidate()
if (!this.formInlineRoleSwitching.roleSwitchingCode) {
this.formInlineRoleSwitching.roleSwitchingCode = '0'
if (!this.roleSwitchingCode) {
this.roleSwitchingCode = '0'
}
if (!(this.roleSwitchingList.some(val => val.roleCode == this.formInlineRoleSwitching.roleSwitchingCode))) {
this.formInlineRoleSwitching.roleSwitchingCode = this.roleSwitchingList[0] ? this.roleSwitchingList[0].roleCode : ''
if (!(this.roleSwitchingList.some(val => val.roleCode == this.roleSwitchingCode))) {
this.roleSwitchingCode = this.roleSwitchingList[0] ? this.roleSwitchingList[0].roleCode : ''
}
this.roleSwitchingCode = this.formInlineRoleSwitching.roleSwitchingCode
this.formInlineRoleSwitching.roleSwitchingCode = this.roleSwitchingCode
this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching }
})
},
@@ -359,13 +359,13 @@
<span class="title-text-text"
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'verifyDueDate'">
<a-form-model-item class="itemModel" :prop="'designDueDate'">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
@change="dateChange({db_field_name:'verifyDueDate'})"
@change="dateChange({db_field_name:'designDueDate'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.verifyDueDate"
v-model="formInline.designDueDate"
style="width: 100%"/>
</a-form-model-item>
</div>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,212 @@
<template>
<a-drawer
:title="titlename == 1 ? this.$t('Taskresponsibilityrecognition'): this.$t('complianceConfirmation')"
:maskClosable="false"
:width="948"
placement="right"
:closable="true"
@close="handleCancel"
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 20px">
<div class="header-text">
{{$t('Listoftreatableregulations')}}
</div>
<a-table
:pagination="false"
:scroll="{x: '100%'}"
rowKey="id"
:columns="columns">
</a-table>
</div>
<div style="margin-bottom: 20px">
<div class="header-text">
{{$t('Listofuntractableregulations')}}
</div>
<a-table
:pagination="false"
:scroll="{x: '100%'}"
rowKey="id"
:columns="columns">
</a-table>
</div>
<div style="margin-bottom: 40px">
<div class="header-text">
{{titlename == 1 ? this.$t('Taskconfirmationresult'): this.$t('Compliancetaskhandling')}}
</div>
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('resultofhandling')">{{$t('resultofhandling')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-radio-group>
<a-radio value="1">
{{$t('accept')}}
</a-radio>
<a-radio value="2">
{{$t('refuse')}}
</a-radio>
</a-radio-group>
</a-form-model-item>
</div>
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('feedbackMessage')">{{$t('feedbackMessage')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-textarea :placeholder="$t('pleaseEnter')+$t('feedbackMessage')"
rows="4"/>
</a-form-model-item>
</div>
<div class="box-title-text" v-if="titlename == 1 ? false:true">
<div class="title-text">
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-button type="primary" class="button-text">{{$t('uploadattachment')}}</a-button>
</a-form-model-item>
</div>
</div>
<div class="drawer-bootom-button">
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
<a-button type="primary">{{$t('determine')}}</a-button>
</div>
</a-drawer>
</template>
<script>
export default {
name:'confirmationDrawer',
props: {
},
data() {
return {
titlename:'',
allTitle: '',
visible:false,
columns:[
{
title: this.$t('project'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 170
},
{
title: this.$t('standard'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 170
},
{
title: this.$t('areaOfResponsibility'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 120
},
{
title: this.$t('taskType'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 150
},
{
title: this.$t('Categoryofdeliverables'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 120
},
{
title: this.$t('closingDate'),
align: 'left',
dataIndex: '',
ellipsis: true,
width: 170
},
]
}
},
methods:{
confirmation(data){
this.visible = true
this.$nextTick(()=>{
this.titlename = data
})
},
handleCancel(){
this.visible = false
this.titlename = ''
}
}
}
</script>
<style scoped>
.header-text {
font-size: 14px;
font-weight: bold;
height: 24px;
margin-bottom: 20px;
}
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.title-text {
width: 88px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 48px;
color: #000F16;
}
.title-text-text {
margin-top: 9px;
}
.itemModel {
width: 100%;
display: inline-block;
margin-top: 2px;
margin-bottom: 12px;
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
z-index: 100;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
/*.button-text {*/
/* height: 38px;*/
/* width: calc(100% - 250px);*/
/* line-height: 38px;*/
/* background: #fff;*/
/* border: 1px #00B3BE solid;*/
/* color: #00B3BE;*/
/*}*/
</style>
@@ -59,78 +59,39 @@
{{$t('basicInformation')}}
</div>
<div class="content-text">
<div class="text-field">
<span class="text-field-left" :title="$t('entryName')">{{$t('entryName')}}</span>
<span class="text-field-right "
:title="$t('entryName')"
>{{$t('entryName')}}</span>
<div class="text-field" v-for="(item,index) in projectInformationList" :key="index">
<span class="text-field-left" :title="item.title">{{item.title}}</span>
<span class="text-field-right text-field-right-url"
:title="queryForm[item.value]"
v-if="item.type == 1"
>{{queryForm[item.value]}}</span>
<span class="text-field-right text-field-right-url"
v-else-if="item.type == '4'" :title="queryForm[item.value]"
>{{queryForm[item.value]}}</span>
<span class="text-field-right" v-else :title="queryForm[item.value]"
>{{queryForm[item.value]}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('regulationNo')">{{$t('regulationNo')}}</span>
<span class="text-field-right "
:title="$t('regulationNo')"
>{{$t('regulationNo')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('title')">{{$t('title')}}</span>
<span class="text-field-right "
:title="$t('title')"
>{{$t('title')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('subtitle')">{{$t('subtitle')}}</span>
<span class="text-field-right "
:title="$t('subtitle')"
>{{$t('subtitle')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('applicableSupplement')">{{$t('applicableSupplement')}}</span>
<span class="text-field-right "
:title="$t('applicableSupplement')"
>{{$t('applicableSupplement')}}</span>
</div>
</div>
</div>
</div>
<div style="margin-bottom: 40px">
<div class="header-text">
{{$t('TaskRequirements')}}
</div>
<div class="content-text">
<div class="text-field">
<span class="text-field-left" :title="$t('Sponsor')">{{$t('Sponsor')}}</span>
<span class="text-field-right "
:title="$t('Sponsor')"
>{{$t('Sponsor')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('personLiable')">{{$t('personLiable')}}</span>
<span class="text-field-right "
:title="$t('personLiable')"
>{{$t('personLiable')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('closingDate')">{{$t('closingDate')}}</span>
<span class="text-field-right "
:title="$t('closingDate')"
>{{$t('closingDate')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
<span class="text-field-right "
:title="$t('typeOfDeliverables')"
>{{$t('typeOfDeliverables')}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
<div class="text-field" :class="{'text-content-button-one':item.type == 4 ? true :false}"
v-for="(item,index) in standardContentList" :key="index">
<span class="text-field-left" :title="item.title">{{item.title}}</span>
<span class="text-field-right text-field-right-url"
:title="$t('deliverableTemplate')"
>{{$t('deliverableTemplate')}}</span>
</div>
<div class="text-field" style="width: 100%">
<span class="text-field-left" :title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
<span class="text-field-right "
:title="$t('descriptionDeliverables')"
>{{$t('descriptionDeliverables')}}</span>
v-if="item.type == 1"
></span>
<span class="text-field-right text-field-right-url"
v-else-if="item.type == '5'"
></span>
<span class="text-field-right text-field-right-url"
v-else-if="item.type == 2"
>{{ $t('viewFile') }}</span>
<span class="text-field-right" v-else
></span>
</div>
</div>
</div>
@@ -169,7 +130,8 @@
<span class="title-text-text" :title="$t('feedbackMessage')">{{$t('feedbackMessage')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-textarea :placeholder="$t('pleaseEnter')+$t('feedbackMessage')" />
<a-textarea :placeholder="$t('pleaseEnter')+$t('feedbackMessage')"
rows="4"/>
</a-form-model-item>
</div>
<div class="box-title-text">
@@ -219,16 +181,72 @@
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import confirmationDrawer from './confirmationDrawer'
export default {
name: 'dealtWith',
components:{
confirmationDrawer
},
mixins:[ResizeHeader, ResizeColumnProvide,],
data() {
return {
visible: false,
title:'',
queryForm: {},
dataSource: [],
loading: false,
projectInformationList: [
{
title: this.$t('entryName'),
value: 'projectName'
},
{
title: this.$t('regulationNo'),
value: 'targetMarket_dictText'
},
{
title: this.$t('title'),
value: 'subtitle'
},
{
title: this.$t('subtitle'),
value: 'serialNumber',
type: '4'
},
{
title: this.$t('applicableSupplement'),
value: 'title'
},
],
standardContentList: [
{
title: this.$t('Sponsor'),
value: this.$route.query.Sponsor
},
{
title: this.$t('personLiable'),
value: this.$route.query.personLiable
},
{
title: this.$t('closingDate'),
value: this.$route.query.DueDate
},
{
title: this.$t('typeOfDeliverables'),
value: this.$route.query.typeOfDeliverables
},
{
title: this.$t('deliverableTemplate'),
value: this.$route.query.deliverableTemplate,
type: 2
},
{},
{
title: this.$t('descriptionDeliverables'),
value: this.$route.query.remarks
}
],
columns: [
{
title: this.$t('RelatedItems'),
@@ -340,7 +358,8 @@
pageNo: 1,
total: 0,
url: {
list: '/todoCenter/projectProcess/todoTaskList'
list: '/todoCenter/projectProcess/todoTaskList',
urlFrom: 'project/projectLibraryBase/queryById',
},
queryParam: {},
regulatoryCertificationTaskPlanList: []
@@ -457,6 +476,8 @@
// window.open(newUrl.href, '_blank')
this.visible = true
this.title = this.$t('designComplianceReview')
this.getQueryForm()
} else if (row.flowType == '3') {
row.taskId = row.taskId + ''
if (row.taskId.length > 30) {
@@ -578,7 +599,20 @@
},
handleCancel() {
this.visible = false
}
},
getQueryForm() {
getAction(this.url.urlFrom).then((res) => {
if (res.success) {
this.queryForm = res.result[0] || {}
if (this.queryProject) {
this.queryForm = { ...this.queryForm, ...this.queryProject }
console.log(this.queryForm)
}
} else {
this.queryForm = {}
}
})
},
}
}
</script>
@@ -627,18 +661,6 @@
width: 50%;
margin-bottom: 8px;
.text-field-left {
width: 124px;
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #6F7385;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
}
.text-field-right {
width: calc(100% - 200px);
display: inline-block;
@@ -700,15 +722,15 @@
height: 38px;
width: 100%;
}
.button-text {
height: 38px;
width: calc(100% - 250px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
//
//.button-text {
// height: 38px;
// width: calc(100% - 250px);
// line-height: 38px;
// background: #fff;
// border: 1px #00B3BE solid;
// color: #00B3BE;
//}
.process-content {
margin-top: 4px;
@@ -78,12 +78,12 @@
</div>
<div class="table-operator" style="margin-bottom: 8px"
v-if="tabActive == $t('toDoProcess')">
<div @click=""
<div @click="TaskresponsibilityrecognitionClick"
class="operator-text">
<a-icon type="form"/>
{{$t('Taskresponsibilityrecognition')}}
</div>
<div @click=""
<div @click="complianceConfirmationClick"
class="operator-text">
<a-icon type="form"/>
{{$t('complianceConfirmation')}}
@@ -100,6 +100,7 @@
<SentList v-if="tabActive == $t('sentProcess')" ref="SentListRef"/>
</a-tab-pane>
</a-tabs>
<confirmation-drawer ref="confirmationdrawer"></confirmation-drawer>
</a-card>
</template>
@@ -108,16 +109,19 @@
import dealtWith from './components/dealtWith'
import doneList from './components/doneList'
import SentList from './components/SentList'
import confirmationDrawer from './components/confirmationDrawer'
export default {
name: 'index',
components: {
dealtWith,
doneList,
SentList
SentList,
confirmationDrawer
},
data() {
return {
title: '',
queryParam: {
projectName:this.$route.query.projectName?this.$route.query.projectName:''
},
@@ -170,6 +174,14 @@
}
},
methods: {
TaskresponsibilityrecognitionClick() {
this.$refs.confirmationdrawer.confirmation(1)
// this.title = this.$t('Taskresponsibilityrecognition')
},
complianceConfirmationClick() {
this.$refs.confirmationdrawer.confirmation(2)
// this.title = this.$t('complianceConfirmation')
},
callback(value) {
this.tabActive = value
},
@@ -86,7 +86,7 @@
<!-- </div>-->
<!-- v-if="isTrue"-->
<div v-if="isTrue" class="operator-text" v-has="'dummyInventoryInfo:importData'" >
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true"
<ImportFile :url="url" :authDummyInventoryBaseId="$route.query.id" :isTrue="true"
:accept="'.zip'"/>
</div>
<!-- 模板下载-->