Merge branch 'master' into 'fix_bug_first_stage'

# Conflicts:
#   jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java
#   jero-web/src/common/lang/en-us.js
#   jero-web/src/common/lang/zh-cn.js
This commit is contained in:
肖文钰
2022-08-24 10:15:59 +08:00
45 changed files with 1746 additions and 706 deletions
+3
View File
@@ -1275,4 +1275,7 @@ module.exports = {
taskConfirmedPersonnelCannotBeSetBatch:'When the task confirmation status is to be confirmed, personnel cannot be set in batch',
theSelectedDataResponsibilityFieldCannotEmpty:'The selected data responsibility field cannot be empty',
theTaskConfirmationStatusCannot:'Only the list confirmation status is "reject" or "accept" and the task confirmation status cannot be "data to be confirmed"',
BatchMaintenanceProgress:'Batch Maintenance Progress',
BatchChangeStatus:'Batch Change Status',
CollectinguthenticationParameters:'Collecting Authentication Parameters',
}
+3
View File
@@ -1377,4 +1377,7 @@ module.exports = {
taskConfirmedPersonnelCannotBeSetBatch:'任务确认状态为待确认时无法批量设置人员',
theSelectedDataResponsibilityFieldCannotEmpty:'所选数据责任领域不能为空',
theTaskConfirmationStatusCannot:'只能变更清单确认状态为拒绝或接受、及任务确认状态不能为待确认的数据',
BatchMaintenanceProgress:'批量维护进度',
BatchChangeStatus:'批量修改状态',
CollectinguthenticationParameters:'认证参数收集',
}
@@ -1,93 +1,58 @@
<template>
<div class='diolag-area'>
<a-spin :spinning='spinLoading'>
<a-form-model
@keyup.enter.native="searchQuery"
class='tag-module'
ref='ruleForm'
:model='form'
:rules='rules'
:label-col='labelCol'
:wrapper-col='wrapperCol'
>
<a-row :gutter='24'>
<a-col :span='9'>
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('NiONumber')">{{$t('NiONumber')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<a-input class="box-input" :title="$t('pleaseEnter')+$t('ParameterName')"
v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')" />
<a-form-model-item class="itemModel">
<a-input class="box-input" :title="$t('pleaseEnter')+$t('ParameterName')"
v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')"/>
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='region' :label="$t('NiONumber')" prop='region' >-->
<!-- <a-input-->
<!-- v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')" />-->
<!-- </a-form-model-item>-->
</a-col>
<a-col :span='9'>
<a-col :md="12" :sm="8">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('ParameterName')">{{$t('ParameterName')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<a-input
v-model='form.paramsName' :title="$t('pleaseEnter')+$t('ParameterName')" :placeholder="$t('pleaseEnter')+$t('ParameterName')" />
<a-form-model-item class="itemModel">
<a-input class="box-input"
v-model='form.paramsName' :title="$t('pleaseEnter')+$t('ParameterName')"
:placeholder="$t('pleaseEnter')+$t('ParameterName')"/>
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='paramsTemplateName' :label="$t('ParameterName')" prop='paramsTemplateName'>-->
<!-- <a-input-->
<!-- v-model='form.paramsName' :placeholder="$t('pleaseEnter')+$t('ParameterName')" />-->
<!-- </a-form-model-item>-->
</a-col>
<a-col :span='6' style='margin-top: 5px'>
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
<a-button class='box-button' style='margin-left: 8px' @click='searchReset'>{{ $t('reset') }}</a-button>
</a-col>
</a-row>
<a-row :gutter='24'>
<a-col :span='10'>
<a-col :md="12" :sm="8">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<j-dict-select-tag class='box-input' v-model='form.dutyTerritory'
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model='form.dutyTerritory'
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:title="$t('PleaseSelect')+$t('areaOfResponsibility')"
:triggerChange='false' :dictCode="'duty_territory'" />
:triggerChange='false' :dictCode="'duty_territory'"/>
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='region' :label="$t('areaOfResponsibility')" prop='region'>-->
<!-- <a-form-model-item class='itemModel' prop='region'>-->
<!-- <j-dict-select-tag class='box-input' v-model='form.dutyTerritory'-->
<!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"-->
<!-- :type="'select'"-->
<!-- :triggerChange='false' :dictCode="'duty_territory'" />-->
<!-- </a-form-model-item>-->
<!-- </a-form-model-item>-->
</a-col>
<a-col :span='9'>
<a-col :md="12" :sm="8">
<span style="float: right;overflow: hidden;margin-right: 16px;margin-bottom: 20px"
class="table-page-search-submitButtons">
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
<a-button class='box-button' style='margin-left: 8px' @click='searchReset'>{{ $t('reset') }}</a-button>
</span>
</a-col>
</a-row>
</a-form-model>
</a-form>
</a-spin>
<a-table
class='table-area'
@@ -110,137 +75,137 @@
</a-table>
<div class='drawer-bootom-button'>
<a-button style='margin-right: .8rem' @click='handleCancel'>{{ $t('cancel') }}</a-button>
<a-button @click='handleSubmit' type='primary' :loading='confirmLoading' >{{ $t('submit') }}</a-button>
<a-button @click='handleSubmit' type='primary' :loading='confirmLoading'>{{ $t('submit') }}</a-button>
</div>
</div>
</template>
<script>
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
export default {
name: 'diolagArea',
components: {},
data() {
return {
title: this.$t('add'),
total: 0,
selectedRowKeysDate: {},
loading: false,
editId: '',
columns: [
{
title: this.$t('NiONumber'),
dataIndex: 'nioNumber',
align: 'center',
width:200,
ellipsis: true
export default {
name: 'diolagArea',
components: {},
data() {
return {
title: this.$t('add'),
total: 0,
selectedRowKeysDate: {},
loading: false,
editId: '',
columns: [
{
title: this.$t('NiONumber'),
dataIndex: 'nioNumber',
align: 'center',
width: 200,
ellipsis: true
},
{
title: this.$t('ParameterName'),
align: 'center',
dataIndex: 'paramsName',
width: 200,
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
dataIndex: 'dutyTerritory_dictText',
align: 'center',
width: 200,
ellipsis: true
}
],
newVisible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 7 }
},
{
title: this.$t('ParameterName'),
align: 'center',
dataIndex: 'paramsName',
width:200,
ellipsis: true
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 }
},
{
title: this.$t('areaOfResponsibility'),
dataIndex: 'dutyTerritory_dictText',
align: 'center',
width:200,
ellipsis: true
}
],
newVisible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 7 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 }
},
form: {},
rules: {
// templatetitle: [
// { required: true, message: this.$t('enterTitle'), trigger: 'blur' }
// ]
},
areaTable: [],
flag: false, //表单提交标识
spinLoading: false,
confirmLoading: false,
templatetitle: '',
selectedRowKeys: [],
}
},
props: {
paramsManifest: {
type: Object,
default: {},
require: true
}
},
mounted() {
this.loadData()
},
methods: {
loadData() {
this.loading = true
let _tt = {
paramsManifestId: this.paramsManifest.id,
paramsTemplateId: this.paramsManifest.paramsTemplateId,
paramsTemplatePublishVersion: this.paramsManifest.paramsTemplatePublishVersion
form: {},
rules: {
// templatetitle: [
// { required: true, message: this.$t('enterTitle'), trigger: 'blur' }
// ]
},
areaTable: [],
flag: false, //表单提交标识
spinLoading: false,
confirmLoading: false,
templatetitle: '',
selectedRowKeys: []
}
let params = {
...this.form,
..._tt
}
getAction(`params/collectManifest/paramsInfoList`, params).then(res => {
if (res.success) {
this.areaTable = [...res.result]
}
}).finally(() => {
this.loading = false
})
},
searchQuery() {
props: {
paramsManifest: {
type: Object,
default: {},
require: true
}
},
mounted() {
this.loadData()
},
searchReset() {
this.form = {}
this.loadData()
},
handleCancel() {
this.$emit('areaVisible', false)
},
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
this.selectedRowKeysDate = selectedRowKeysDate
this.selectedRowKeys = selectedRowKeys
this.$emit('addselectedRowKeys',this.selectedRowKeys)
},
handleTableChange(val) {
},
showModal() {
this.title = this.$t('add')
this.newVisible = true
this.form = {}
},
//新增
handleSubmit() {
if (this.selectedRowKeys.length == 0) {
this.$message.warning(this.$t('pleaseSelectData'))
} else {
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.flag = true
this.spinLoading = true
this.confirmLoading = true
methods: {
loadData() {
this.loading = true
let _tt = {
paramsManifestId: this.paramsManifest.id,
paramsTemplateId: this.paramsManifest.paramsTemplateId,
paramsTemplatePublishVersion: this.paramsManifest.paramsTemplatePublishVersion
}
let params = {
...this.form,
..._tt
}
getAction(`params/collectManifest/paramsInfoList`, params).then(res => {
if (res.success) {
this.areaTable = [...res.result]
}
}).finally(() => {
this.loading = false
})
},
searchQuery() {
this.loadData()
},
searchReset() {
this.form = {}
this.loadData()
},
handleCancel() {
this.$emit('areaVisible', false)
},
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
this.selectedRowKeysDate = selectedRowKeysDate
this.selectedRowKeys = selectedRowKeys
this.$emit('addselectedRowKeys', this.selectedRowKeys)
},
handleTableChange(val) {
},
showModal() {
this.title = this.$t('add')
this.newVisible = true
this.form = {}
},
//新增
handleSubmit() {
if (this.selectedRowKeys.length == 0) {
this.$message.warning(this.$t('pleaseSelectData'))
} else {
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.flag = true
this.spinLoading = true
this.confirmLoading = true
//新增
let postDate = {
paramsInfoPublishEOList: this.selectedRowKeysDate,
paramsManifestId: this.paramsManifest.id,
projectId: this.$route.query.projectId
paramsInfoPublishEOList: this.selectedRowKeysDate,
paramsManifestId: this.paramsManifest.id,
projectId: this.$route.query.projectId
}
postAction(`params/collectManifest/add`, postDate).then(res => {
if (res.success) {
@@ -258,234 +223,239 @@ export default {
this.spinLoading = false
this.newVisible = false
})
} else {
return false
} else {
return false
}
})
}
},
cancelModel() {
this.newVisible = false
this.$refs.ruleForm.resetFields()
},
//删除按钮
deleteArea(val) {
this.$confirm({
title: this.$t('confirmDeletion'),
content: '',
onOk:
async () => {
getAction(`tag/onlCgformArea/delete`, { id: val }).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
if (this.areaTable.length == 1 && this.queryParams.pageNo != 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
} else {
// this.$message.warning(res.message)
if (res.message == '该展示区域有关联数据,无法删除!') {
this.$message.warning(this.$t('noDelete'))
} else {
this.$message.warning(this.$t('operationFailed'))
}
}
})
}
})
},
//编辑按钮
editArea(val) {
this.title = this.$t('edit')
this.newVisible = true
let params = {
id: val
}
getAction(`tag/onlCgformArea/queryById`, params).then((res) => {
if (res.success) {
this.form = { ...res.result }
// this.$emit('updateOk',res.result)
}
})
}
},
cancelModel() {
this.newVisible = false
this.$refs.ruleForm.resetFields()
},
//删除按钮
deleteArea(val) {
this.$confirm({
title: this.$t('confirmDeletion'),
content: '',
onOk:
async () => {
getAction(`tag/onlCgformArea/delete`, { id: val }).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
if (this.areaTable.length == 1 && this.queryParams.pageNo != 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
} else {
// this.$message.warning(res.message)
if (res.message == '该展示区域有关联数据,无法删除!') {
this.$message.warning(this.$t('noDelete'))
} else {
this.$message.warning(this.$t('operationFailed'))
}
}
})
}
})
},
//编辑按钮
editArea(val) {
this.title = this.$t('edit')
this.newVisible = true
let params = {
id: val
watch: {
paramsManifest(val) {
this.loadData()
}
getAction(`tag/onlCgformArea/queryById`, params).then((res) => {
if (res.success) {
this.form = { ...res.result }
// this.$emit('updateOk',res.result)
}
})
}
},
watch: {
paramsManifest(val) {
this.loadData()
},
}
}
}
</script>
<style lang='less' scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
.diolag-area {
.table-area {
margin: 20px 0;
.diolag-area {
.table-area {
margin: 20px 0;
.action-edit {
margin-right: 10px;
.action-edit {
margin-right: 10px;
}
}
.table-del {
color: red;
}
}
.table-del {
color: red;
.drawer-bootom-button {
display: flex;
justify-content: center;
}
}
.drawer-bootom-button{
display: flex;
justify-content: center;
}
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.title-text {
width: 114px;
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: 42px;
}
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.title-text {
width: 114px;
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: 42px;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
height: 40px;
margin-bottom: 24px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
height: 40px;
margin-bottom: 24px;
}
.Required {
color: red;
margin-right: 4px;
}
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.Required {
color: red;
margin-right: 4px;
}
.header-text {
font-size: 16px;
font-weight: bold;
margin-left: 15px;
/*border-bottom: 1px #d9d9d9 dashed;*/
height: 30px;
margin-bottom: 30px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
.header-text {
font-size: 16px;
font-weight: bold;
margin-left: 15px;
/*border-bottom: 1px #d9d9d9 dashed;*/
height: 30px;
margin-bottom: 30px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
.formAdd {
margin-bottom: 40px;
}
.button-text-text {
position: absolute;
right: -10px;
top: -21px;
display: inline-block;
padding: 6px;
border-radius: 50%;
background: red;
text-align: center;
line-height: 6px;
color: #fff;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
.button-text-text {
position: absolute;
right: -10px;
top: -21px;
display: inline-block;
padding: 6px;
border-radius: 50%;
background: red;
text-align: center;
line-height: 6px;
color: #fff;
}
.box-button {
height: 38px;
}
</style>
<style lang='less'>
.area-module {
.ant-modal-wrap {
.ant-modal {
.ant-modal-content {
.ant-modal-footer {
text-align: center;
.area-module {
.ant-modal-wrap {
.ant-modal {
.ant-modal-content {
.ant-modal-footer {
text-align: center;
}
}
}
}
}
}
</style>
<style>
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: 100%;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: 100%;
}
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.itemModel-text .ant-form-item-control-wrapper {
width: 100% !important;
}
.itemModel-text .ant-form-item-control-wrapper {
width: 100% !important;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
</style>
@@ -286,6 +286,9 @@ export default {
}
</style>
<style scoped>
/deep/.ant-modal-body{
height: 100% !important;
}
.box-title-text {
line-height: 1.4;
display: flex;
@@ -635,6 +635,7 @@
dataIndex: res.db_field_name,
align: 'center',
// ellipsis: true,
fixed: res.click3?'left':'',
sorter: res.sort,
width: 160
})
@@ -137,7 +137,7 @@
_this.$message.success(_this.$t('OperationSuccessful'))
_this.replacePage()
} else {
_this.$message.warning(res.success)
_this.$message.warning(res.message)
}
})
}
@@ -6,7 +6,7 @@
<span style="line-height: 66px;display: inline-block;float: left;cursor: pointer" @click="backClick">
<a-icon type="arrow-left" style="margin-right: 6px;"/>
</span>
{{$t('newlyAdded')}}
{{this.$route.query.id ? $t('edit') :$t('newlyAdded')}}
</div>
</div>
<div style="padding-top: 68px;background: #fff">
@@ -26,7 +26,7 @@
<a-select-option v-for="(item, key) in projectNameList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
<span class="selectText" :title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
@@ -73,11 +73,12 @@
</div>
<a-form-model-item class="itemModel" prop="problemType">
<a-select :placeholder="$t('PleaseSelect')+$t('problemClassification')"
@change="problemTypeChange"
v-model="formInline.problemType">
<a-select-option v-for="(item, key) in problemTypeList"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title="item.problemLabel ">
<span class="selectText" :title="item.problemLabel ">
{{item.problemLabel}}
</span>
</a-select-option>
@@ -299,6 +300,13 @@
}
})
},
problemTypeChange(event) {
let content = this.problemTypeList.filter(res => {
return res.id == event
})
this.formInline.problemTypeName = content[0].problemLabel
this.formInline = { ...this.formInline }
},
queryById() {
let query = {
id: this.$route.query.id
@@ -333,7 +341,7 @@
})
}
,
showPermissionsChange(event) {
showPermissionsChange(event, name) {
if (event == 'Open') {
this.isDisplay = false
} else {
@@ -597,4 +605,13 @@
::v-deep .ql-snow .ql-picker {
height: 36px;
}
.selectText {
width: 100%;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
}
</style>
@@ -365,14 +365,21 @@
::v-deep .ant-tag {
padding: 2px 4px;
background: #9B9DA9;
color: #fff!important;
color: #fff !important;
}
::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover{
color: #fff!important;
::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover {
color: #fff !important;
}
::v-deep .ant-tag-checkable-checked{
::v-deep .ant-tag-checkable-checked {
background: #21c9cc;
}
::v-deep p {
margin: 0;
padding: 0;
}
</style>
<style>
.box-content-left .ant-tag {
@@ -383,6 +390,7 @@
.box-content-left .ant-tag-checkable {
padding: 3px 8px;
margin-bottom: 10px;
}
.box-content-left .ant-tag-checkable-checked {
@@ -6,7 +6,7 @@
<span style="line-height: 66px;display: inline-block;float: left">
<a-icon type="arrow-left" style="margin-right: 6px;"/>
</span>
{{$t('applicableInstructionsMarketList')}}
{{queryForm.title}}
</div>
<div class="doc-detail-right">
<div @click="forwardClick" class="operator-text-text" :title="$t('forward')">
@@ -123,7 +123,7 @@
value: 'standNumber'
},
{
title: this.$t('standardName'),
title: this.$t('title'),
value: 'title'
},
{
@@ -150,7 +150,6 @@
}
},
mounted() {
document.title = this.$t('applicableInstructionsMarketList')
this.viewAdd()
this.queryById()
this.releaseData()
@@ -168,6 +167,7 @@
if (res.success) {
this.queryForm = res.result || {}
this.queryForm = { ...this.queryForm }
document.title = this.queryForm.title
if (this.formInline.showPermissions == 'Privacy') {
this.isDisplay = true
} else {
@@ -46,7 +46,7 @@
<span slot="language" slot-scope="text,record">
<span>{{text == 1?$t('simplifiedChinese'):$t('English')}}</span>
</span>
<span slot="RegulationMonthlyName" slot-scope="text,record">
<span slot="RegulationMonthlyName" :title="text" slot-scope="text,record">
<a @click="preview(record)">{{text}}</a>
</span>
<span slot="operation" slot-scope="text,record">
@@ -217,7 +217,7 @@
},
{
title: this.$t('feedbackTime'),
dataIndex: 'createTime',
dataIndex: 'updateTime',
align: 'center',
ellipsis: true,
width: 160
@@ -130,7 +130,7 @@
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
@click="checkedClick(item)"
@click="titleClick(item)"
:class="{ 'null-input':item.checked }">
<div class="text-header">
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
@@ -144,51 +144,53 @@
<span v-html="item.serial_number"></span>
</template>
<span style="cursor: pointer"
@click="titleClick(item)" v-html="item.serial_number"></span>
v-html="item.serial_number"></span>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.title"></span>
</template>
<span style="cursor: pointer" v-html="item.title" @click="titleClick(item)"></span>
<span style="cursor: pointer" v-html="item.title"></span>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.file_name"></span>
</template>
<span style="cursor: pointer" v-html="item.file_name" @click="titleClick(item)"></span>
<span style="cursor: pointer" v-html="item.file_name"></span>
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-if="selectModel == ''">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
>
</div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="(item.file_text instanceof Array) && selectModel != ''">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="!item.file_text && selectModel != ''">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" v-else>
<template slot="title">
<span v-html="item.file_text"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.file_text">
</div>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-if="selectModel == ''" class="text-content" v-html="item.content"
>
</div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="(item.file_text instanceof Array) && selectModel != ''"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="!item.file_text && selectModel != ''"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.file_text"></span>-->
<!-- </template>-->
<div v-else class="text-content" v-html="item.file_text">
</div>
<!-- </a-tooltip>-->
</div>
</div>
</li>
@@ -666,6 +668,11 @@
postAction(this.url.getParagraphInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
val.content = val.content.replace(/<img .*?>/g, '')
})
}
this.total = res.result.total
this.loading = false
} else {
@@ -857,6 +864,7 @@
padding: 19px 28px;
box-sizing: border-box;
margin-left: 38px;
cursor: pointer;
}
.null-input {
@@ -934,6 +942,11 @@
word-break: break-all
}
::v-deep p {
margin: 0;
padding: 0;
}
/*::v-deep .ant-select {*/
/* max-width: calc(100% - 126px) !important;*/
/*}*/
@@ -4,7 +4,7 @@
<span>{{$t('searchScope')}}:</span>
<span>{{ queryParam.selectValue }}</span>
</div>
<a-checkbox-group v-model="checkboxText" v-if="conList.length > 0">
<a-checkbox-group style="width: 100%" v-model="checkboxText" v-if="conList.length > 0">
<li v-for="(item,index) in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
@@ -19,36 +19,38 @@
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" v-if="!queryParam.selectValue"
:mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" v-html="item.content"
>
</div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="(item.file_text instanceof Array) && queryParam.selectValue">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="!item.file_text && queryParam.selectValue">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" v-else>
<template slot="title">
<span v-html="item.file_text"></span>
</template>
<div class="text-content" v-html="item.file_text">
</div>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" -->
<!-- :mouseEnterDelay="0.5">-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-if="!queryParam.selectValue" class="text-content" v-html="item.content"
>
</div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="(item.file_text instanceof Array) && queryParam.selectValue"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="!item.file_text && queryParam.selectValue"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.file_text"></span>-->
<!-- </template>-->
<div v-else class="text-content" v-html="item.file_text">
</div>
<!-- </a-tooltip>-->
</div>
</div>
</li>
@@ -191,6 +193,11 @@
postAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
val.content = val.content.replace(/<img .*?>/g, '')
})
}
this.total = res.result.total
this.loading = false
} else {
@@ -305,4 +312,9 @@
text-align: center;
line-height: 10;
}
::v-deep p {
margin: 0;
padding: 0;
}
</style>
@@ -12,7 +12,7 @@
<a-select-option v-for="(item, key) in tagList"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.problemLabel ">
<span class="selectText" :title=" item.problemLabel ">
{{ item.problemLabel}}
</span>
</a-select-option>
@@ -20,10 +20,10 @@
</div>
<div class="text-left-select">
<span class="text-sel" :title="$t('market')">{{$t('market')}}</span>
<j-dict-select-tag class="text-select" v-model="queryParamOne.target_market"
:placeholder="$t('PleaseSelect')+$t('market')"
:type="'select'"
:triggerChange="false" :dictCode="'region'"/>
<j-multi-select-tag class="text-select" v-model="queryParamOne.target_market"
:placeholder="$t('PleaseSelect')+$t('market')"
:type="'select'"
:triggerChange="false" :dictCode="'region'"/>
</div>
</div>
<div class="table-page-search-submitButtons submitButtons">
@@ -41,8 +41,8 @@
</div>
</div>
<div class="box-content">
<a-checkbox-group v-model="checkboxText">
<li v-for="item in conList" :key="item.id">
<a-checkbox-group style="width: 100%" v-model="checkboxText">
<div v-for="item in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
@@ -53,20 +53,22 @@
<template slot="title">
<span v-html="item.title"></span>
</template>
<span style="cursor: pointer" v-html="item.title"></span>
<div class="text-header-text" style="cursor: pointer" v-html="item.title">
</div>
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" v-html="item.content"
>
</div>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div class="text-content" v-html="item.content"
>
</div>
<!-- </a-tooltip>-->
</div>
</div>
</li>
</div>
</a-checkbox-group>
</div>
<div class="page">
@@ -220,7 +222,9 @@
return words.replace(/\s/g, '') //这里是去除空格
},
getParagraphInfoList() {
let queryParamOne = Object.assign(this.queryParam, this.queryParamOne)
let queryParamIndex = JSON.parse(JSON.stringify(this.queryParam))
let queryParamAdmin = JSON.parse(JSON.stringify(this.queryParamOne))
let queryParamOne = Object.assign(queryParamIndex, queryParamAdmin)
let queryParam = JSON.parse(JSON.stringify(queryParamOne))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
@@ -238,6 +242,12 @@
postAction(this.url.getParagraphInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
val.content = val.content.replace(/<img .*?>/g, '')
val.content = val.content.replace(/<\/?p[^>]*>/gi, '')
})
}
this.total = res.result.total
this.loading = false
} else {
@@ -428,16 +438,17 @@
.text-header {
margin-bottom: 11px;
width: 100%;
span {
.text-header-text {
font-size: 16px;
font-weight: bold;
color: #040B29;
display: inline-block;
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
}
}
@@ -482,4 +493,18 @@
overflow: hidden;
text-overflow: ellipsis;
}
::v-deep p {
margin: 0;
padding: 0;
}
.selectText {
width: 100%;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
}
</style>
@@ -8,9 +8,9 @@
<li v-for="(item,index) in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
<div class="text-text-right" @click="titleClick(item)"
:class="{ 'null-input':item.checked }">
<div class="text-header" @click="titleClick(item)">
<div class="text-header">
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.module_type"></span>
@@ -21,7 +21,7 @@
</template>
<span style="cursor: pointer"
class="text-header-text"
v-if="item.serial_number"
v-if="item.serial_number && !item.module_type_flag"
v-html="item.serial_number"></span>
<template slot="title">
<span v-html="item.title"></span>
@@ -30,7 +30,7 @@
<template slot="title">
<span v-html="item.file_name"></span>
</template>
<span class="text-header-text" v-if="item.file_name" style="cursor: pointer"
<span class="text-header-text" v-if="item.file_name && !item.module_type_flag" style="cursor: pointer"
v-html="item.file_name"></span>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">-->
@@ -43,36 +43,39 @@
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" v-if="!queryParam.selectValue"
:mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
>
</div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="(item.file_text instanceof Array) && queryParam.selectValue">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"
v-else-if="!item.file_text && queryParam.selectValue">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"></div>
</a-tooltip>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" v-else>
<template slot="title">
<span v-html="item.file_text"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.file_text">
</div>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" -->
<!-- :mouseEnterDelay="0.5">-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-if="!queryParam.selectValue" class="text-content" v-html="item.content"
>
</div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="(item.file_text instanceof Array) && queryParam.selectValue"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5"-->
<!-- >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.content"></span>-->
<!-- </template>-->
<div v-else-if="!item.file_text && queryParam.selectValue"
class="text-content" v-html="item.content"></div>
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5" >-->
<!-- <template slot="title">-->
<!-- <span v-html="item.file_text"></span>-->
<!-- </template>-->
<!-- @click="checkedClick(item)"-->
<div v-else class="text-content" v-html="item.file_text">
</div>
<!-- </a-tooltip>-->
</div>
</div>
</li>
@@ -213,6 +216,12 @@
postAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
val.content = val.content.replace(/<img .*?>/g, '')
val.content = val.content.replace(/<\/?p[^>]*>/gi,'')
})
}
this.total = res.result.total
} else {
this.conList = []
@@ -287,6 +296,7 @@
padding: 19px 28px;
box-sizing: border-box;
margin-left: 38px;
cursor: pointer;
}
.null-input {
@@ -351,4 +361,9 @@
text-align: center;
line-height: 10;
}
::v-deep p {
margin: 0;
padding: 0;
}
</style>
@@ -65,10 +65,10 @@
<a-tab-pane :key="$t('whole')" :tab="$t('whole')"></a-tab-pane>
<a-tab-pane :key="$t('DocumentLibrary')" :tab="$t('DocumentLibrary')" force-render>
</a-tab-pane>
<!-- <a-tab-pane :key="$t('problemKnowledgeBase')" :tab="$t('problemKnowledgeBase')" force-render>-->
<!-- </a-tab-pane>-->
<!-- <a-tab-pane :key="$t('monthlyReportRegulations')" :tab="$t('monthlyReportRegulations')" force-render>-->
<!-- </a-tab-pane>-->
<a-tab-pane :key="$t('problemKnowledgeBase')" :tab="$t('problemKnowledgeBase')" force-render>
</a-tab-pane>
<a-tab-pane :key="$t('monthlyReportRegulations')" :tab="$t('monthlyReportRegulations')" force-render>
</a-tab-pane>
</a-tabs>
</div>
</div>
@@ -644,12 +644,12 @@ export default {
// } else {
// value.technologyTerritory = value.technologyTerritory.split(',')
// }
this.formInline = value
if(this.formInline.controlType == 11){
this.required = false
}else{
this.required = true
}
this.formInline = value
this.title = this.$t('edit')
this.flag = 0
// 获取认证类别
@@ -80,6 +80,12 @@
<!-- <a-icon type="setting"/>-->
<!-- {{ $t('batSetting') }}-->
<!-- </div>-->
<div @click="BatchMaintenanceProgress" class="operator-text">
{{$t('BatchMaintenanceProgress')}}
</div>
<div @click="BatchChangeStatus" class="operator-text">
{{$t('BatchChangeStatus')}}
</div>
<div @click="CertificationDirectory" class="operator-text">
<a-icon type="bulb"/>
{{$t('CertificationDirectory')}}
@@ -100,6 +106,8 @@
:pagination="false"
:scroll="{x: true}"
:data-source="dataSource"
rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<div slot="standardInformation" slot-scope="text,result" class="box-left">
@@ -178,11 +186,38 @@
<certificationDirectory :isDisplayNum="isDisplayNum" :url="url" ref="certificationDirectoryRef"/>
<TaskListModel @TaskListModelList="TaskListModelList" ref="TaskListModelRef"/>
<taskBatSetting @taskBatSettingForm="taskBatSettingForm" ref="taskBatSettingRef"></taskBatSetting>
<batchChangeModel @batchChangeModel="batchChangeModel" ref="batchChangeModelRef"/>
<batchModel @batchModel="batchModel" ref="batchModelRef"/>
<!-- 错误数据提示-->
<a-modal
:title="$t('operationFailed')"
:width="860"
v-model="visibleoperationFailed"
:maskClosable="false"
@cancel='cancleoperationFailed'
:footer="null"
>
<a-row :gutter="24">
<a-col :span="24">
<span style='font-size: 16px;margin-bottom: 20px;display: flex;justify-content: center'
v-for='(item,key) in NotSelectedNoEngineerValue'>
<span v-html='item'></span>
</span>
</a-col>
</a-row>
<div class="imports-footer">
<div class="imports-footer-wrap" style='text-align: center'>
<a-button class="imports-btn" type="primary" @click="cancleoperationFailed">{{$t('cancel')}}</a-button>
</div>
</div>
</a-modal>
</a-card>
</template>
<script>
import certificationDirectory from './certificationDirectory'
import batchChangeModel from './batchChangeModel'
import batchModel from './batchModel'
import TaskListModel from './TaskListModel'
import taskBatSetting from './taskBatSetting'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
@@ -194,6 +229,8 @@
components: {
certificationDirectory,
TaskListModel,
batchChangeModel,
batchModel,
taskBatSetting
},
props: ['isDisplayNum', 'areaOfResponsibility'],
@@ -259,6 +296,7 @@
}
],
selectedRowKeys: [],
status: {
'NotDone': '待办',
'haveDone': '已办',
@@ -305,7 +343,11 @@
exportXls: '/project/projectTaskInventoryEO/exportXls'
},
loading: false,
visibleoperationFailed:false,
NotSelectedNoEngineerValue:[],
dataSource: [],
selectionRowsArray:[],
roleCodes:[],
long: ''
}
},
@@ -352,8 +394,15 @@
taskBatSettingForm() {
this.getList()
},
onSelectChange(value) {
batchChangeModel() {
this.getList()
},
batchModel() {
this.getList()
},
onSelectChange(value, selectionRows) {
this.selectedRowKeys = value
this.selectionRowsArray = selectionRows
},
handleExport() {
let query = {
@@ -450,6 +499,7 @@
CertificationDirectory() {
this.$refs.certificationDirectoryRef.addModel()
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
@@ -484,6 +534,77 @@
let item = JSON.parse(JSON.stringify(val))
this.$refs.TaskListModelRef.getData(item, this.$t('CurrentStatus'))
},
//批量维护进度
BatchMaintenanceProgress() {
if(this.selectionRowsArray.length <1){
this.$message.warning(this.$t('selectLeastOne'))
}else{
let query = {}
let projectLawsInventoryIds = []
let roleCodes = []
this.selectionRowsArray.forEach((item,index) => {
projectLawsInventoryIds.push(item.projectLawsInventoryId)
roleCodes.push(item.roleCode)
})
query = {
roleCodes: roleCodes.join(','),
operation:'1',
projectLawsInventoryIds: projectLawsInventoryIds.join(',')
}
postAction('/project/projectTaskInventoryEO/verifyRoleCode', query).then((res) => {
if (res.success) {
if(res.result.length == 0){
this.$refs.batchModelRef.getData(this.selectedRowKeys)
}else{
this.NotSelectedNoEngineerValue = res.result
this.visibleoperationFailed = true
}
} else {
}
})
}
},
//批量修改状态
BatchChangeStatus() {
if(this.selectionRowsArray.length <1){
this.$message.warning(this.$t('selectLeastOne'))
}else{
let query = {}
let projectLawsInventoryIds = []
let roleCodes = []
this.selectionRowsArray.forEach((item,index) => {
projectLawsInventoryIds.push(item.projectLawsInventoryId)
roleCodes.push(item.roleCode)
})
query = {
roleCodes: roleCodes.join(','),
operation:'2',
projectLawsInventoryIds: projectLawsInventoryIds.join(',')
}
postAction('/project/projectTaskInventoryEO/verifyRoleCode', query).then((res) => {
if (res.success) {
if(res.result.length == 0){
this.$refs.batchChangeModelRef.getData(this.selectionRowsArray)
}else{
this.NotSelectedNoEngineerValue = res.result
this.visibleoperationFailed = true
}
} else {
}
})
}
},
cancleoperationFailed(){
this.visibleoperationFailed = false
},
TaskListModelList() {
this.getList()
},
@@ -0,0 +1,216 @@
<!--批量当前状态-->
<template>
<a-modal
:title="title"
:width="700"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="visible = false"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<div class="headerText">
{{this.$t('redSchedule')}}<br/>
{{this.$t('yellowSchedule')}}<br/>
{{this.$t('greenRequirements')}}<br/>
{{this.$t('blueUndeterminedState')}}
</div>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('CurrentProjectStatusEvaluation')">{{$t('CurrentProjectStatusEvaluation')}}</span>
</div>
<a-form-model-item class="itemModel" prop="conditionAssessment">
<a-select
:disabled="disabled"
v-model="formInline.conditionAssessment"
:placeholder="$t('PleaseSelect')+$t('CurrentProjectStatusEvaluation')">
<a-select-option :value="'1'">
<span style="display: inline-block;width: 100%">
{{ $t('red') }}
</span>
</a-select-option>
<a-select-option :value="'2'">
<span style="display: inline-block;width: 100%">
{{ $t('yellow') }}
</span>
</a-select-option>
<a-select-option :value="'3'">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<a-select-option :value="'4'" disabled>
<span style="display: inline-block;width: 100%">
{{ $t('blue') }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" prop="remark">
<a-textarea
:placeholder="$t('remarks')"
:disabled="disabled"
v-model="formInline.remark" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { postAction, putAction, getAction } from '@/api/manage'
export default {
name: 'TaskListModel',
data() {
return {
formInline: {},
rules: {},
selectionRowsArray:[],
projectLawsInventoryIds:[],
roleCodes:[],
visible: false,
title:'',
confirmLoading: false,
studioList: [],
disabled: false,
url: {
edit: '/project/projectTaskInventoryEO/edit',
addOrUpdate: '/project/projectTaskInventoryConditionAssessmentEO/addOrUpdate',
list: '/project/projectTaskInventoryConditionAssessmentEO/list'
}
}
},
mounted() {
},
methods: {
getData(val) {
this.visible = true
this.title = this.$t('BatchChangeStatus')
this.selectionRowsArray = val
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
},
getList(val) {
getAction(this.url.list, { projectLawsInventoryId: val.projectLawsInventoryId }).then((res) => {
if (res.success) {
this.studioList = res.result || []
} else {
this.studioList = []
}
})
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.validateField([value])
})
},
handleOk() {
if (this.disabled) {
this.visible = false
return
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
let query = {}
let projectLawsInventoryIds = []
let roleCodes = []
let Action
this.selectionRowsArray.forEach((item,index) => {
projectLawsInventoryIds.push(item.projectLawsInventoryId)
roleCodes.push(item.roleCode)
})
query = {
roleCodes: roleCodes.join(','),
remark: this.formInline.remark,
conditionAssessment: this.formInline.conditionAssessment,
projectLawsInventoryIds: projectLawsInventoryIds.join(',')
}
Action = postAction
this.confirmLoading = true
Action('/project/projectTaskInventoryConditionAssessmentEO/addOrUpdateBatch', query).then((res) => {
if (res.success) {
this.visible = false
this.confirmLoading = false
this.$message.success(this.$t('OperationSuccessful'))
this.$emit('batchChangeModel')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
}
})
}
}
}
</script>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text {
width: 134px;
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: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.headerText {
margin-left: 30px;
color: #040B29;
font-weight: 400;
}
</style>
@@ -0,0 +1,180 @@
<!--批量维护进度-->
<template>
<a-modal
:title="title"
:width="700"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="visible = false"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('CertificationProgress')">{{$t('CertificationProgress')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgress':''">
<j-dict-select-tag class="box-input" v-model="formInline.certificationProgress"
:disabled="disabled"
@input="handleInput('certificationProgress')"
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')"
:type="'select'"
:triggerChange="false" :dictCode="'certification_progress'"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgressRemark':''">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('remarks')"
:disabled="disabled"
v-model="formInline.certificationProgressRemark" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { postAction, putAction, getAction } from '@/api/manage'
export default {
name: 'TaskListModel',
data() {
return {
formInline: {},
selectionRowsArray:[],
rules: {},
title:'',
visible: false,
confirmLoading: false,
studioList: [],
ids:'',
disabled: false,
url: {
edit: '/project/projectTaskInventoryEO/edit',
addOrUpdate: '/project/projectTaskInventoryConditionAssessmentEO/addOrUpdate',
list: '/project/projectTaskInventoryConditionAssessmentEO/list'
}
}
},
mounted() {
},
methods: {
getData(val) {
this.visible = true
this.title = this.$t('BatchMaintenanceProgress')
this.selectionRowsArray = val
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
},
getList(val) {
getAction(this.url.list, { projectLawsInventoryId: val.projectLawsInventoryId }).then((res) => {
if (res.success) {
this.studioList = res.result || []
} else {
this.studioList = []
}
})
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.validateField([value])
})
},
handleOk() {
if (this.disabled) {
this.visible = false
return
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
let query = {}
this.ids = this.selectionRowsArray.join(',')
query = {
ids: this.ids,
certificationProgress: this.formInline.certificationProgress,
certificationProgressRemark: this.formInline.certificationProgressRemark
}
this.confirmLoading = true
postAction('/project/projectTaskInventoryEO/editBatch', query).then((res) => {
if (res.success) {
this.visible = false
this.confirmLoading = false
this.$message.success(this.$t('OperationSuccessful'))
this.$emit('batchModel')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
}
})
}
}
}
</script>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text {
width: 134px;
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: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.headerText {
margin-left: 30px;
color: #040B29;
font-weight: 400;
}
</style>
@@ -105,7 +105,7 @@
'1': this.$t('SubscriptionNotification'),
'2': this.$t('warningInformation'),
'3': this.$t('ForwardPush'),
'4': this.$t('authenticationMessage'),
'4': this.$t('CollectinguthenticationParameters'),
// '6':this.$t('RegulationListConfirmationTask'),
// '7':this.$t('RegulationListConfirmationNotification'),
// '8':this.$t('RegulationTaskConfirmation'),