对接认证清单引用交付物

This commit is contained in:
范强强
2023-03-14 09:23:23 +08:00
parent 075c83a0ce
commit 0dcc9ea2ac
5 changed files with 217 additions and 146 deletions
@@ -107,13 +107,18 @@
<a-form-model-item
class="itemModel"
:prop="'dataList.'+index+'.configItem'"
:rules="[{ required: true, message: $t('configurationItem') + $t('cannotEmpty'), trigger: 'change'},]"
:rules="[{ required: true, message: $t('configurationItem') + $t('cannotEmpty'), trigger: 'blur'},
{max: 300,message: $t('configurationItem') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
}]"
>
<j-dict-select-tag class="box-input" v-model="item.configItem"
@input="handleInput('dataList.'+index+'.configItem')"
:placeholder="$t('PleaseSelect')+$t('configurationItem')"
:type="'select'"
:triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>
<a-input class="box-input"
v-model="item.configItem"
:placeholder="$t('PleaseEnter')+$t('configurationItem')"/>
<!-- <j-dict-select-tag class="box-input" v-model="item.configItem"-->
<!-- @input="handleInput('dataList.'+index+'.configItem')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('configurationItem')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>-->
</a-form-model-item>
</div>
</a-col>
@@ -130,6 +135,7 @@
>
<j-dict-select-tag class="box-input" v-model="item.dutyTerritory"
@input="handleInput('dataList.'+index+'.dutyTerritory')"
@changeQuery="dutyHandleChange(index)"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
@@ -190,17 +196,25 @@
<span class="Required">*</span>
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel-multi"
:prop="'dataList.'+index+'.sdtName'"
<a-form-model-item class="itemModel"
:prop="'dataList.'+index+'.sdt'"
:rules="[{ required: true, message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'},]"
>
<PersonnelSelection
:query="{db_field_name:'sdt',db_field_txt:$t('engineeringInterfacePerson'),subscript:index}"
:personneQuery="item"
:isSingleChoice="true"
@change="PersonnelSelectionChange"
:disabled="disabled"
v-model="item.sdtName"/>
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
optionFilterProp="label"
showSearch
@change="handleInput('dataList.'+index+'.sdt')"
v-model="item.sdt">
<a-select-option v-for="(val, key) in item.engineeringInterfacePersonList"
:label="val.name"
:key="key"
:value="val.value">
<span style="display: inline-block;width: 100%"
:title=" val.name ">
{{ val.name}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
@@ -228,28 +242,28 @@
</a-col>
</a-row>
<!-- <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('personLiable')">{{$t('personLiable')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi"-->
<!-- :prop="'dataList.'+index+'.dutyPersonName'"-->
<!-- :rules="[{ required: true, message: $t('personLiable') + $t('cannotEmpty'), trigger: 'change'},]"-->
<!-- >-->
<!-- <PersonnelSelection-->
<!-- :query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable'),subscript:index}"-->
<!-- :personneQuery="item"-->
<!-- :isSingleChoice="true"-->
<!-- @change="PersonnelSelectionChange"-->
<!-- :disabled="disabled"-->
<!-- v-model="item.dutyPersonName"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <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('personLiable')">{{$t('personLiable')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi"-->
<!-- :prop="'dataList.'+index+'.dutyPersonName'"-->
<!-- :rules="[{ required: true, message: $t('personLiable') + $t('cannotEmpty'), trigger: 'change'},]"-->
<!-- >-->
<!-- <PersonnelSelection-->
<!-- :query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable'),subscript:index}"-->
<!-- :personneQuery="item"-->
<!-- :isSingleChoice="true"-->
<!-- @change="PersonnelSelectionChange"-->
<!-- :disabled="disabled"-->
<!-- v-model="item.dutyPersonName"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
</div>
</div>
@@ -297,11 +311,14 @@
class="itemModel"
:prop="'configItem'"
>
<j-dict-select-tag class="box-input" v-model="formInline.configItem"
@input="handleInput('configItem')"
:placeholder="$t('PleaseSelect')+$t('configurationItem')"
:type="'select'"
:triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>
<a-input class="box-input"
v-model="formInline.configItem"
:placeholder="$t('PleaseEnter')+$t('configurationItem')"/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.configItem"-->
<!-- @input="handleInput('configItem')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('configurationItem')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>-->
</a-form-model-item>
</div>
</a-col>
@@ -317,6 +334,7 @@
>
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
@input="handleInput('dutyTerritory')"
@changeQuery="handleChange"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
@@ -375,16 +393,23 @@
<span class="Required">*</span>
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel-multi"
:prop="'sdtName'"
<a-form-model-item class="itemModel"
:prop="'sdt'"
>
<PersonnelSelection
:query="{db_field_name:'sdt',db_field_txt:$t('engineeringInterfacePerson')}"
:personneQuery="formInline"
:isSingleChoice="true"
@change="PersonnelSelectionChange"
:disabled="disabled"
v-model="formInline.sdtName"/>
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
optionFilterProp="label"
showSearch
v-model="formInline.sdt">
<a-select-option v-for="(item, key) in engineeringInterfacePersonList"
:label="item.name"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%"
:title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
@@ -523,7 +548,7 @@
trigger: 'change'
}
],
sdtName: [
sdt: [
{
required: true,
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
@@ -537,16 +562,21 @@
trigger: 'change'
}
],
endTime:[
endTime: [
{
required: true,
message: this.$t('closingDate') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
configItem:[
{ required: true, message: this.$t('configurationItem') + this.$t('cannotEmpty'), trigger: 'change' },
],
configItem: [
{ required: true, message: this.$t('configurationItem') + this.$t('cannotEmpty'), trigger: 'blur' },
{
max: 300,
message: this.$t('configurationItem') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur'
}
]
},
disabled: false,
projectNameList: [],
@@ -558,7 +588,8 @@
add: '/project/projectCertificationInventoryEO/batchAdd',
edit: '/project/projectCertificationInventoryEO/edit',
list: '/project/projectLawsInventoryEO/list'
}
},
engineeringInterfacePersonList: []
}
},
mounted() {
@@ -570,11 +601,11 @@
disabledDate(current) {
return current && current < moment().subtract(1, 'day')
},
dateChange(item,index) {
if (index){
dateChange(item, index) {
if (index) {
this.formInline.dataList[index][item.db_field_name] = this.formInline.dataList[index][item.db_field_name] ? moment(this.formInline.dataList[index][item.db_field_name]).format('YYYY-MM-DD') : ''
}else{
} else {
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
}
@@ -607,6 +638,9 @@
if (this.formInline.deliverableType) {
this.formInline.deliverableType = this.formInline.deliverableType.split(',')
}
if (value.dutyTerritory) {
this.queryPersonByProject(value.dutyTerritory)
}
this.getRegulationNo()
this.title = this.$t('edit')
this.$nextTick(() => {
@@ -635,6 +669,7 @@
url = this.url.add
Action = postAction
query.dataList.forEach(val => {
delete val.engineeringInterfacePersonList
Object.keys(val).forEach(res => {
if (val[res] && val[res] instanceof Array) {
val[res] = val[res].join(',')
@@ -726,8 +761,37 @@
let content = this.projectNameList.filter(res => {
return res.id === value
})
this.formInline.bussDocumentLibraryId = content[0].id
this.formInline.serialNumber = content[0].serialNumber
if (content && content.length > 0) {
this.formInline.bussDocumentLibraryId = content[0].id
this.formInline.serialNumber = content[0].serialNumber
}
},
handleChange(value) {
this.formInline.sdt = undefined
this.queryPersonByProject(this.formInline.dutyTerritory)
},
dutyHandleChange(index) {
this.formInline.dataList[index].sdt = undefined
this.formInline = {... this.formInline}
this.queryPersonByProject(this.formInline.dataList[index].dutyTerritory, index)
},
queryPersonByProject(row, index) {
let query = {
projectId: this.$route.query.id,
dutyTerritory: row
}
getAction('/project/projectRelatedPersonnel/queryPersonByProjectId', query).then((res) => {
if (res.success) {
if (this.formInline.id) {
this.engineeringInterfacePersonList = res.result.engineeringInterfacePersonList || [] //工程接口人
} else {
this.$nextTick(()=>{
this.formInline.dataList[index].engineeringInterfacePersonList = res.result.engineeringInterfacePersonList || []
this.formInline = {...this.formInline}
})
}
}
})
}
}
}
@@ -17,11 +17,15 @@
<span class="title-text-text" :title="$t('configurationItem')">{{$t('configurationItem')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.configItem"
@input="handleInput('configItem')"
:placeholder="$t('PleaseSelect')+$t('configurationItem')"
:type="'select'"
:triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>
<a-input class="box-input"
v-model="formInline.configItem"
:placeholder="$t('PleaseEnter')+$t('configurationItem')"/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.configItem"-->
<!-- @input="handleInput('configItem')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('configurationItem')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'"/>-->
</a-form-model-item>
</div>
</a-col>
@@ -33,6 +37,7 @@
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
@input="handleInput('dutyTerritory')"
@changeQuery="handleChange"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
@@ -50,13 +55,15 @@
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
class="box-input"
allowClear
optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="formInline.sdt">
<a-select-option v-for="(item, key) in engineeringInterfacePersonList"
:key="item.key"
:label="item.name"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
@@ -122,17 +129,17 @@
</a-row>
<a-row :gutter="24" v-if="name == $t('BatchSetting') && roleSwitchingCode == 2">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<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="'certificationProgressRemark'">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('remarks')"
v-model="formInline.certificationProgressRemark" :rows="4"/>
</a-form-model-item>
</div>
<a-form-model-item class="itemModel" :prop="'certificationProgressRemark'">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('remarks')"
v-model="formInline.certificationProgressRemark" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
@@ -146,7 +153,7 @@
export default {
name: 'batSetting',
props: ['url','roleSwitchingCode'],
props: ['url', 'roleSwitchingCode'],
components: {
PersonnelSelection
},
@@ -155,9 +162,7 @@
visible: false,
confirmLoading: false,
formInline: {},
rules: {
},
rules: {},
ids: [],
configurationItemList: [],
engineeringInterfacePersonList: [],
@@ -270,6 +275,21 @@
},
dateChange(item) {
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
},
handleChange(value) {
this.formInline.sdt = undefined
this.queryPersonByProject(this.formInline.dutyTerritory)
},
queryPersonByProject(row) {
let query = {
projectId: this.$route.query.id,
dutyTerritory: row
}
getAction('/project/projectRelatedPersonnel/queryPersonByProjectId', query).then((res) => {
if (res.success) {
this.engineeringInterfacePersonList = res.result.engineeringInterfacePersonList || [] //工程接口人
}
})
}
}
}
@@ -40,54 +40,57 @@
<script>
import { getAction, postAction } from '@/api/manage'
export default {
name: 'modifyHistoryList',
data() {
return {
visible:false,
dataList:[],
confirmLoading:false,
loading:false,
visible: false,
dataList: [],
confirmLoading: false,
loading: false,
pageNo: 1,
pageSize: 10,
total: 0,
url:{
list:'',
projectCertificationInventoryId: '',
url: {
list: '/project/projectCertificationInventoryLogEO/page'
},
columns:[
columns: [
{
title: this.$t('Operator'),
dataIndex: 'Operator',
dataIndex: 'createBy',
align: 'left',
ellipsis: true,
width: 228
width: 108
},
{
title: this.$t('operationTime'),
dataIndex: 'operationTime',
dataIndex: 'createTime',
align: 'left',
ellipsis: true,
width: 228
width: 148
},
{
title: this.$t('OperationContent'),
dataIndex: 'OperationContent',
dataIndex: 'content',
align: 'left',
ellipsis: true,
width: 228
},
],
width: 528
}
]
}
},
mounted() {
},
methods:{
handleCancel(){
this.visible = false
methods: {
handleCancel() {
this.visible = false
},
getList() {
getList(id) {
this.pageNo = 1
this.visible = true
this.projectCertificationInventoryId = id
this.replacePage()
},
onChange(page, pageSize) {
@@ -99,13 +102,14 @@
this.pageSize = pageSize
this.replacePage()
},
replacePage(){
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
projectCertificationInventoryId: this.projectCertificationInventoryId
}
this.loading = true
postAction(this.url.list, query).then((res) => {
getAction(this.url.list, query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
@@ -116,7 +120,7 @@
this.loading = false
}
})
},
}
}
}
</script>
@@ -56,7 +56,7 @@
<div class="drawer-bootom-button">
<a-button @click="handleCancel" style="margin-right: 16px">{{$t('cancel')}}</a-button>
<a-button @click="handleSubmit(undefined)" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
</div>
</a-drawer>
</template>
@@ -95,17 +95,19 @@
loading: false,
pageNo: 1,
pageSize: 10,
total: 0
total: 0,
ids:'',
}
},
mounted() {
},
methods: {
transferModel() {
transferModel(ids) {
this.visible = true
this.queryParam = {}
this.selectedRowKeys = []
this.ids = ids.join(',')
this.replacePage()
},
searchQuery() {
@@ -151,49 +153,31 @@
},
handleCancel() {
this.visible = false
this.$emit('visible')
},
handleSubmit(flag) {
handleSubmit() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.confirmLoading = true
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
this.confirmLoading = false
this.$emit('transferListForm',selectedRowKeys.join(','))
this.selectedRowKeys = []
// postAction('project/projectLawsInventoryEO/add', {
// dummyInventoryBaseId: selectedRowKeys.join(','),
// projectLibraryId: this.$route.query.id,
// flag: flag
// }).then((res) => {
// if (res.success) {
// this.confirmLoading = false
// // this.$message.success(this.$t('OperationSuccessful'))
// // this.visible = false
// this.selectedRowKeys = []
// this.$emit('transferListForm',selectedRowKeys.join(','))
// } else {
// // if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') {
// // this.confirmLoading = false
// // this.getAdd()
// // return
// // }
// this.$message.warning(this.$t('operationFailed'))
// this.confirmLoading = false
// }
// })
postAction('/project/projectCertificationInventoryEO/citeDeliverable', {
projectCertificationInventoryIds: this.ids,
projectLibraryId: this.$route.query.id,
citeProjectLibraryId: selectedRowKeys.join(',')
}).then((res) => {
if (res.success) {
this.confirmLoading = false
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.selectedRowKeys = []
this.$emit('referenceDeliverablesListForm')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
getAdd() {
let _this = this
this.$confirm({
content: _this.$t('TheDoesNotContainData'),
onOk() {
_this.handleSubmit('1')
}
})
}
}
}
</script>
@@ -485,10 +485,9 @@
text: this.$t('inspectionItems')
},
{
type: '',
type: 'string',
value: 'configItem',
text: this.$t('configurationItem'),
dictCode: 'ren4_zheng4_qing1_dan1_-_pei4_zhi4_xiang4'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: 'string',
@@ -1161,8 +1160,8 @@
}
})
},
modifyHistoryClick() {
this.$refs.modifyHistoryRef.getList()
modifyHistoryClick(row) {
this.$refs.modifyHistoryRef.getList(row.id)
},
getRoleByUserId(callback) {
getAction('/project/projectCertificationInventoryEO/getRoleByUserId', { projectLibraryId: this.$route.query.id }).then((res) => {
@@ -1263,7 +1262,7 @@
//引用交付物
referenceDeliverablesClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.$refs.referenceDeliverablesListRef.transferModel()
this.$refs.referenceDeliverablesListRef.transferModel(JSON.parse(JSON.stringify(this.selectedRowKeys)))
} else {
this.$message.warning(this.$t('selectLeastOne'))
}