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:
+246
-73
@@ -20,12 +20,16 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="serialNumber">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('regulationNo')"
|
||||
optionFilterProp="label"
|
||||
@change="serialNumberChange"
|
||||
showSearch
|
||||
v-model="formInline.bussDocumentLibraryId">
|
||||
<a-select-option v-for="(item, key) in projectNameList"
|
||||
:label="item.serialNumber"
|
||||
:key="key"
|
||||
:value="item.id">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.serialNumber ">
|
||||
<span style="display: inline-block;width: 100%"
|
||||
:title=" item.serialNumber ">
|
||||
{{ item.serialNumber}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
@@ -93,7 +97,52 @@
|
||||
</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('configurationItem')">{{$t('configurationItem')}}</span>
|
||||
</div>
|
||||
<a-form-model-item
|
||||
class="itemModel"
|
||||
:prop="'dataList.'+index+'.configItem'"
|
||||
:rules="[{ required: true, message: $t('configurationItem') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('configurationItem') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]"
|
||||
>
|
||||
<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>
|
||||
<a-col :span="12">
|
||||
<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="'dataList.'+index+'.dutyTerritory'"
|
||||
:rules="[{ required: true, message: $t('areaOfResponsibility') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
<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'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
@@ -145,65 +194,76 @@
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.dutyTerritory'"
|
||||
:rules="[{ required: true, message: $t('areaOfResponsibility') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
:prop="'dataList.'+index+'.sdt'"
|
||||
:rules="[{ required: true, message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
<j-dict-select-tag class="box-input" v-model="item.dutyTerritory"
|
||||
@input="handleInput('dataList.'+index+'.dutyTerritory')"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
<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>
|
||||
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi"
|
||||
:prop="'dataList.'+index+'.sdtName'"
|
||||
:rules="[{ required: true, message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.endTime'"
|
||||
:rules="[{ required: true, message: $t('closingDate') + $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-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('closingDate')"
|
||||
@change="dateChange({db_field_name:'endTime'},index)"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="item.endTime"
|
||||
style="width: 100%"/>
|
||||
</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>
|
||||
<!-- <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>
|
||||
|
||||
@@ -240,7 +300,48 @@
|
||||
</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('configurationItem')">{{$t('configurationItem')}}</span>
|
||||
</div>
|
||||
<a-form-model-item
|
||||
class="itemModel"
|
||||
:prop="'configItem'"
|
||||
>
|
||||
<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>
|
||||
<a-col :span="12">
|
||||
<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="'dutyTerritory'"
|
||||
>
|
||||
<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'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
@@ -260,7 +361,6 @@
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
@@ -290,17 +390,25 @@
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dutyTerritory'"
|
||||
:prop="'sdt'"
|
||||
>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
@input="handleInput('dutyTerritory')"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
<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>
|
||||
@@ -308,18 +416,19 @@
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi"
|
||||
:prop="'sdtName'"
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'endTime'"
|
||||
>
|
||||
<PersonnelSelection
|
||||
:query="{db_field_name:'sdt',db_field_txt:$t('engineeringInterfacePerson')}"
|
||||
:personneQuery="formInline"
|
||||
:isSingleChoice="true"
|
||||
@change="PersonnelSelectionChange"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.sdtName"/>
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('closingDate')"
|
||||
@change="dateChange({db_field_name:'endTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.endTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -339,6 +448,7 @@
|
||||
:query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable')}"
|
||||
:personneQuery="formInline"
|
||||
:isSingleChoice="true"
|
||||
v-if="visible"
|
||||
@change="PersonnelSelectionChange"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.dutyPersonName"/>
|
||||
@@ -377,6 +487,7 @@
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'addModel',
|
||||
@@ -437,7 +548,7 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
sdtName: [
|
||||
sdt: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
|
||||
@@ -450,6 +561,21 @@
|
||||
message: this.$t('personLiable') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
endTime: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('closingDate') + 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,
|
||||
@@ -462,7 +588,8 @@
|
||||
add: '/project/projectCertificationInventoryEO/batchAdd',
|
||||
edit: '/project/projectCertificationInventoryEO/edit',
|
||||
list: '/project/projectLawsInventoryEO/list'
|
||||
}
|
||||
},
|
||||
engineeringInterfacePersonList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -471,8 +598,20 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
disabledDate(current) {
|
||||
return current && current < moment().subtract(1, 'day')
|
||||
},
|
||||
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 {
|
||||
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
|
||||
|
||||
}
|
||||
},
|
||||
getDeliverableTree() {
|
||||
getAction('/sys/category/getDeliverableTree', {}).then((res) => {
|
||||
getAction('/sys/category/getCertificationDeliverableTree', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.DeliverableTreeList = res.result
|
||||
} else {
|
||||
@@ -493,15 +632,19 @@
|
||||
})
|
||||
},
|
||||
editModel(value) {
|
||||
this.formInline = {}
|
||||
// this.formInline = {}
|
||||
this.visible = true
|
||||
this.formInline = value
|
||||
if (this.formInline.deliverableType) {
|
||||
this.formInline.deliverableType = this.formInline.deliverableType.split(',')
|
||||
this.formInline = JSON.parse(JSON.stringify(value))
|
||||
// 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(() => {
|
||||
this.formInline = {...this.formInline}
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
},
|
||||
@@ -527,6 +670,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(',')
|
||||
@@ -618,8 +762,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}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+113
-40
@@ -17,19 +17,15 @@
|
||||
<span class="title-text-text" :title="$t('configurationItem')">{{$t('configurationItem')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('configurationItem')"
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="formInline.configItem">
|
||||
<a-select-option v-for="(item, key) in configurationItemList"
|
||||
:key="item.key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.label ">
|
||||
{{ item.label }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<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>
|
||||
@@ -41,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'"/>
|
||||
@@ -58,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>
|
||||
@@ -74,15 +73,20 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('personLiable')">{{$t('personLiable')}}</span>
|
||||
<span class="title-text-text" :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi">
|
||||
<PersonnelSelection :query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable')}"
|
||||
:isSingleChoice="true"
|
||||
:personneQuery="formInline"
|
||||
v-if="visible"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.dutyPersonName"/>
|
||||
<!-- tree-checkable-->
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.deliverableType"
|
||||
:maxTagCount="1"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -91,22 +95,49 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'endTime'"
|
||||
>
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('closingDate')"
|
||||
@change="dateChange({db_field_name:'endTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.endTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12" v-if="roleSwitchingCode == 2">
|
||||
<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">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="formInline.deliverableType">
|
||||
<a-select-option v-for="(item, key) in typeOfDeliverablesList"
|
||||
:key="item.key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.label ">
|
||||
{{ item.label }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.certificationProgress"
|
||||
@input="handleInput('certificationProgress')"
|
||||
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'certification_progress'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</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">
|
||||
<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-col>
|
||||
@@ -122,7 +153,7 @@
|
||||
|
||||
export default {
|
||||
name: 'batSetting',
|
||||
props: ['url'],
|
||||
props: ['url', 'roleSwitchingCode'],
|
||||
components: {
|
||||
PersonnelSelection
|
||||
},
|
||||
@@ -136,14 +167,29 @@
|
||||
configurationItemList: [],
|
||||
engineeringInterfacePersonList: [],
|
||||
typeOfDeliverablesList: [],
|
||||
name: ''
|
||||
name: '',
|
||||
DeliverableTreeList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
disabledDate(current) {
|
||||
return current && current < moment().subtract(1, 'day')
|
||||
},
|
||||
|
||||
getDeliverableTree() {
|
||||
getAction('/sys/category/getCertificationDeliverableTree', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.DeliverableTreeList = res.result
|
||||
} else {
|
||||
this.DeliverableTreeList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
edit(data, name) {
|
||||
this.visible = true
|
||||
this.getDeliverableTree()
|
||||
this.$nextTick(() => {
|
||||
this.ids = data || []
|
||||
this.formInline = {}
|
||||
@@ -163,12 +209,24 @@
|
||||
},
|
||||
handleOkOne() {
|
||||
let ids = JSON.parse(JSON.stringify(this.ids))
|
||||
let formInline = JSON.parse(JSON.stringify(this.formInline))
|
||||
Object.keys(formInline).forEach(res => {
|
||||
if (formInline[res] && formInline[res] instanceof Array) {
|
||||
formInline[res] = formInline[res].join(',')
|
||||
}
|
||||
})
|
||||
let query = {
|
||||
ids: ids.join(','),
|
||||
...this.formInline
|
||||
...formInline
|
||||
}
|
||||
let url = ''
|
||||
this.confirmLoading = true
|
||||
postAction(this.url.setBatch, query).then((res) => {
|
||||
if (this.name == this.$t('changeSetting')) {
|
||||
url = '/project/projectCertificationInventoryEO/updateConfigItemBatch'
|
||||
} else {
|
||||
url = this.url.setBatch
|
||||
}
|
||||
postAction(url, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
@@ -217,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 || [] //工程接口人
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+26
-22
@@ -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>
|
||||
|
||||
+22
-38
@@ -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>
|
||||
|
||||
+72
-57
@@ -1,76 +1,84 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="$t('Transfer')"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<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" :title="$t('VirtualListName')">
|
||||
<span>{{$t('VirtualListName')}}</span>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="$t('Transfer')"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<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" :title="$t('VirtualListName')">
|
||||
<span>{{$t('VirtualListName')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('VirtualListName')"
|
||||
v-model="queryParam.name"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('VirtualListName')"
|
||||
v-model="queryParam.name"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<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>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 800}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
||||
:loading="loading">
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:components="drag(columns,'columns')"
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 800}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
||||
:loading="loading">
|
||||
|
||||
</a-table>
|
||||
<div class="page" v-if="dataList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="onChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="onChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<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>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import transferListvirtal from './transferListvirtal'
|
||||
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {},
|
||||
components: {
|
||||
transferListvirtal
|
||||
},
|
||||
props: ['url'],
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -150,7 +158,7 @@
|
||||
...this.queryParam
|
||||
}
|
||||
this.loading = true
|
||||
postAction('/project/projectLawsInventoryEO/getPageInfoDummy', query).then((res) => {
|
||||
getAction('/authDummy/authDummyInventoryBaseEO/page', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result.records || []
|
||||
this.total = res.result.total
|
||||
@@ -160,6 +168,11 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
transferListFormHomo() {
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.$emit('transferListForm')
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
if (this.selectedRowKeys.length > 1) {
|
||||
@@ -168,6 +181,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.$emit('visible')
|
||||
},
|
||||
handleSubmit(flag) {
|
||||
@@ -175,8 +189,9 @@
|
||||
this.confirmLoading = true
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
this.confirmLoading = false
|
||||
this.$emit('transferListForm',selectedRowKeys.join(','))
|
||||
this.selectedRowKeys = []
|
||||
// this.$emit('transferListForm',selectedRowKeys.join(','))
|
||||
this.$refs.transferListvirtalRef.transferModel(selectedRowKeys.join(','))
|
||||
// this.selectedRowKeys = []
|
||||
// postAction('project/projectLawsInventoryEO/add', {
|
||||
// dummyInventoryBaseId: selectedRowKeys.join(','),
|
||||
// projectLibraryId: this.$route.query.id,
|
||||
|
||||
+314
@@ -0,0 +1,314 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="$t('Transfer')"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="5">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="5">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('category')">
|
||||
<span>{{$t('category')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('category')"
|
||||
v-model="queryParam.category"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
:fieldList="fieldList"/>
|
||||
<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>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
rowKey="id"
|
||||
:scroll="{x: 800,y:600}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }"
|
||||
:loading="loading">
|
||||
|
||||
</a-table>
|
||||
<!-- <div class="page" v-if="dataList.length > 0">-->
|
||||
<!-- <a-pagination-->
|
||||
<!-- :show-total="total => $t('total')+` ${total} `+$t('strip')"-->
|
||||
<!-- show-quick-jumper-->
|
||||
<!-- show-size-changer-->
|
||||
<!-- :page-size.sync="pageSize"-->
|
||||
<!-- :total="total"-->
|
||||
<!-- :current="pageNo"-->
|
||||
<!-- @change="onChange"-->
|
||||
<!-- @showSizeChange="SizeChange"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
<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('submit')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
|
||||
export default {
|
||||
name: 'transferList',
|
||||
components: {
|
||||
globalAdvancedQuery
|
||||
},
|
||||
props: ['url'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('category'),
|
||||
align: 'left',
|
||||
dataIndex: 'category',
|
||||
width: 150,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('inspectionItems'),
|
||||
align: 'left',
|
||||
dataIndex: 'inspectionItem',
|
||||
width: 150,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'inspectionItems' }
|
||||
},
|
||||
{
|
||||
title: 'WVTA ID',
|
||||
align: 'left',
|
||||
dataIndex: 'wvtaId',
|
||||
width: 150,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
align: 'left',
|
||||
dataIndex: 'serialNumber',
|
||||
width: 150,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('areaOfResponsibility'),
|
||||
align: 'left',
|
||||
dataIndex: 'dutyTerritoryName',
|
||||
width: 200,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: this.$t('typeOfDeliverables'),
|
||||
align: 'left',
|
||||
dataIndex: 'deliverableTypeName',
|
||||
width: 200,
|
||||
ellipsis: true,
|
||||
},
|
||||
],
|
||||
fieldList: [
|
||||
{
|
||||
type: 'string',
|
||||
value: 'wvtaId',
|
||||
text: 'WVTA ID'
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'inspectionItem',
|
||||
text: this.$t('inspectionItems'),
|
||||
},
|
||||
{
|
||||
type: '',
|
||||
value: 'dutyTerritory',
|
||||
text: this.$t('areaOfResponsibility'),
|
||||
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||
},
|
||||
],
|
||||
dataList: [],
|
||||
content: [],
|
||||
loading: false,
|
||||
dummyInventoryBaseId:'',
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
transferModel(id) {
|
||||
this.visible = true
|
||||
this.dummyInventoryBaseId = id
|
||||
this.queryParam = {}
|
||||
this.selectedRowKeys = []
|
||||
this.replacePage()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.replacePage()
|
||||
},
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.replacePage()
|
||||
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
},
|
||||
handleSuperQuery(params, matchType) {
|
||||
let sqp = {}
|
||||
if (!params || (params && params.length == 0)) {
|
||||
sqp['superQueryParams'] = ''
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||
} else {
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
|
||||
sqp['superQueryMatchType'] = matchType
|
||||
}
|
||||
this.queryParamQuery = sqp
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let query = {
|
||||
// pageNo: this.pageNo,
|
||||
// pageSize: this.pageSize,
|
||||
...this.queryParamQuery,
|
||||
...this.queryParam,
|
||||
authDummyInventoryBaseId: this.dummyInventoryBaseId
|
||||
}
|
||||
this.loading = true
|
||||
getAction('/authDummy/authDummyInventoryInfoEO/list', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result || []
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
// if (this.selectedRowKeys.length > 1) {
|
||||
// this.selectedRowKeys.shift()
|
||||
// }
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit(flag) {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
this.confirmLoading = true
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
postAction('project/projectCertificationInventoryEO/callAdd', {
|
||||
authDummyInventoryBaseId: this.dummyInventoryBaseId,
|
||||
projectLibraryId: this.$route.query.id,
|
||||
authDummyInventoryInfoIds: selectedRowKeys.join(','),
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.$emit('transferListFormHomo')
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -54,10 +54,10 @@
|
||||
<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 @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -280,18 +280,49 @@
|
||||
</a>
|
||||
</span>
|
||||
<span slot="DeliverablesResult" slot-scope="text,record,index">
|
||||
<a-button type="primary" class="button-text"
|
||||
v-if="record.flowStatus == 'Results to be submitted'"
|
||||
@click="clickButtonToUpload('deliveryResult',index)">
|
||||
<span v-if="(record.flowStatus == 'Results to be submitted' &&
|
||||
record.dutyPersonName == userInfoQuery.username && roleSwitchingCode == 20) ||
|
||||
record.flowStatus == 'Results to be submitted' && roleSwitchingCode == 21">
|
||||
<a-button type="primary" class="button-text"
|
||||
v-if="record.valueType == 'file'"
|
||||
@click="clickButtonToUpload('deliveryResult',index)">
|
||||
{{ (record.deliveryResult === 'null' || record.deliveryResult === '' ||
|
||||
record.deliveryResult == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-button>
|
||||
<a-input class="box-input-index"
|
||||
v-else-if="record.valueType == 'text'"
|
||||
:maxLength="200"
|
||||
@blur="deliveryBlur"
|
||||
onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')"
|
||||
v-model.trim="record.deliveryResult"
|
||||
:placeholder="$t('PleaseEnter')"/>
|
||||
<a-radio-group v-else-if="record.valueType == 'select'"
|
||||
@change="deliveryChange"
|
||||
v-model="record.deliveryResult">
|
||||
<a-radio :value="'1'">
|
||||
{{$t('yes')}}
|
||||
</a-radio>
|
||||
<a-radio :value="'2'">
|
||||
{{$t('not')}}
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
<span class="viewFile"
|
||||
@click="viewFileClick(record.deliveryResult)" v-if="record.deliveryResult">
|
||||
@click="viewFileClick(record.deliveryResult)"
|
||||
v-if="record.deliveryResult && record.valueType == 'file'">
|
||||
{{$t('viewFile')}}
|
||||
</span>
|
||||
<span :title="record.deliveryResult"
|
||||
v-else-if="record.deliveryResult && record.valueType == 'text'">
|
||||
{{record.deliveryResult}}
|
||||
</span>
|
||||
<span v-else-if="record.deliveryResult && record.valueType == 'select'">
|
||||
{{record.deliveryResult == '1' ? $t('yes') :$t('not')}}
|
||||
</span>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</span>
|
||||
@@ -347,7 +378,7 @@
|
||||
</div>
|
||||
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef"/>
|
||||
<certificationDirectory :isDisplayNum="isDisplayNum" :url="url" ref="certificationDirectoryRef"/>
|
||||
<batSetting :url="url" ref="batSettingRef" @batSettingForm="batSettingForm"/>
|
||||
<batSetting :url="url" ref="batSettingRef" :roleSwitchingCode="roleSwitchingCode" @batSettingForm="batSettingForm"/>
|
||||
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
|
||||
<modifyHistory ref="modifyHistoryRef"/>
|
||||
<uploadFile ref="uploadFile" :isMultiple="true" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
|
||||
@@ -355,41 +386,41 @@
|
||||
<referenceDeliverablesList ref="referenceDeliverablesListRef" @referenceDeliverablesListForm="transferListForm"/>
|
||||
<SelectedBy ref="SelectedByRef" :title="$t('turnToDo')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
<a-modal
|
||||
:title="listTitle"
|
||||
:width="500"
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text-index">
|
||||
<div class="title-text-index">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('TaskCutOffTime')">{{ $t('TaskCutOffTime') }}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="endTime">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('TaskCutOffTime')"
|
||||
@change="dateChange({db_field_name:'endTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.endTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-spin>
|
||||
</a-modal>
|
||||
<!-- <a-modal-->
|
||||
<!-- :title="listTitle"-->
|
||||
<!-- :width="500"-->
|
||||
<!-- :visible="visible"-->
|
||||
<!-- :confirm-loading="confirmLoading"-->
|
||||
<!-- :maskClosable="false"-->
|
||||
<!-- @ok="handleOk"-->
|
||||
<!-- @cancel="handleCancel"-->
|
||||
<!-- >-->
|
||||
<!-- <a-spin :spinning="confirmLoading">-->
|
||||
<!-- <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text-index">-->
|
||||
<!-- <div class="title-text-index">-->
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('TaskCutOffTime')">{{ $t('TaskCutOffTime') }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="endTime">-->
|
||||
<!-- <a-date-picker class="box-input"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('TaskCutOffTime')"-->
|
||||
<!-- @change="dateChange({db_field_name:'endTime'})"-->
|
||||
<!-- format="YYYY-MM-DD"-->
|
||||
<!-- :disabledDate="disabledDate"-->
|
||||
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||
<!-- v-model="formInline.endTime"-->
|
||||
<!-- style="width: 100%"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- </a-form-model>-->
|
||||
<!-- </a-spin>-->
|
||||
<!-- </a-modal>-->
|
||||
<a-modal
|
||||
:title="$t('roleSwitching')"
|
||||
:width="500"
|
||||
@@ -473,7 +504,50 @@
|
||||
'NA': 'notInvolvedColor',
|
||||
'Not start': 'submittedColor'
|
||||
},
|
||||
fieldList: [],
|
||||
fieldList: [
|
||||
{
|
||||
type: 'string',
|
||||
value: 'category',
|
||||
text: this.$t('category')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'inspectionItem',
|
||||
text: this.$t('inspectionItems')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'configItem',
|
||||
text: this.$t('configurationItem')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'wvtaId',
|
||||
text: 'WVTA ID'
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'serialNumber',
|
||||
text: this.$t('standardNo')
|
||||
},
|
||||
{
|
||||
type: 'Personnel',
|
||||
value: 'sdt',
|
||||
valueName: 'sdtName',
|
||||
text: this.$t('engineeringInterfacePerson')
|
||||
},
|
||||
{
|
||||
type: 'Personnel',
|
||||
value: 'dutyPerson',
|
||||
valueName: 'dutyPersonName',
|
||||
text: this.$t('personLiable')
|
||||
},
|
||||
{
|
||||
type: 'date',
|
||||
value: 'endTime',
|
||||
text: this.$t('closingDate')
|
||||
}
|
||||
],
|
||||
disabled: false,
|
||||
queryParamQuery: {},
|
||||
formInline: {},
|
||||
@@ -589,7 +663,7 @@
|
||||
align: 'left',
|
||||
dataIndex: 'deliveryResult',
|
||||
width: 180,
|
||||
// ellipsis: true,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'DeliverablesResult' }
|
||||
},
|
||||
{
|
||||
@@ -651,13 +725,15 @@
|
||||
isDisplayNum: 2,
|
||||
long: '',
|
||||
toDoIds: [],
|
||||
toDoNotConditions: []
|
||||
toDoNotConditions: [],
|
||||
userInfoQuery: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getList()
|
||||
this.long = localStorage.getItem('language') || 'zh-cn'
|
||||
this.loading = true
|
||||
this.userInfoQuery = this.userInfo()
|
||||
this.getProcessStatus()
|
||||
this.getRoleByUserId(() => {
|
||||
this.getAndUserId()
|
||||
@@ -718,7 +794,7 @@
|
||||
if (this.roleSwitchingCode == 2) {
|
||||
this.preservationClick()
|
||||
}
|
||||
this.replacePage()
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
@@ -726,7 +802,7 @@
|
||||
if (this.roleSwitchingCode == 2) {
|
||||
this.preservationClick()
|
||||
}
|
||||
this.replacePage()
|
||||
this.getList()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
@@ -779,6 +855,11 @@
|
||||
this.loading = true
|
||||
getAction(this.url.list, query).then((res) => {
|
||||
if (res.success) {
|
||||
if (res.result.current > 1 && res.result.records.length == 0) {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
return
|
||||
}
|
||||
this.dataSource = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
@@ -821,42 +902,46 @@
|
||||
downloadFile(this.url.exportData, this.$route.query.projectName + '.zip', query, this.Deselect)
|
||||
},
|
||||
handleDel() {
|
||||
let _this = this
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let _this = this
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||
let isTrue = true
|
||||
// for (let i = 0; i < this.dataSource.length; i++) {
|
||||
// for (let j = 0; j < selectedRowKeys.length; j++) {
|
||||
// if (this.dataSource[i].id == selectedRowKeys[j]) {
|
||||
// if (this.dataSource[i].inventoryAffirmStatus == 'Not started' || this.dataSource[i].inventoryAffirmStatus == 'Rejected') {
|
||||
// isTrue = true
|
||||
// } else {
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.$t('onlyDeleted'))
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
if (isTrue) {
|
||||
let ids = []
|
||||
let notConditions = []
|
||||
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||
if (this.selectedRowKeysList[i].flowStatus == 'List to be released' ||
|
||||
this.selectedRowKeysList[i].flowStatus == 'Review and pass') {
|
||||
ids.push(this.selectedRowKeysList[i].id)
|
||||
} else {
|
||||
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||
}
|
||||
}
|
||||
let data = ''
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataWithProcessStatusDeleted')
|
||||
}
|
||||
if (ids && ids.length > 0) {
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmBatchDeletion'),
|
||||
onOk() {
|
||||
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||
deleteAction(_this.url.deleteBatch, {
|
||||
ids: idList.join(','),
|
||||
ids: ids.join(','),
|
||||
projectLibraryId: _this.$route.query.id
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.selectedRowKeysList = []
|
||||
_this.getList()
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
_this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
@@ -897,46 +982,93 @@
|
||||
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
|
||||
},
|
||||
releaseClick() {
|
||||
this.listTitle = this.$t('Deadline')
|
||||
if (this.selectedRowKeysList.length < 1) {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
// this.listTitle = this.$t('Deadline')
|
||||
// if (this.selectedRowKeysList.length < 1) {
|
||||
// this.$message.warning(this.$t('selectLeastOne'))
|
||||
// } else {
|
||||
// this.visible = true
|
||||
// }
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let ids = []
|
||||
let notConditions = []
|
||||
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||
if (this.selectedRowKeysList[i].flowStatus == 'List to be released' ||
|
||||
this.selectedRowKeysList[i].flowStatus == 'Certification returned') {
|
||||
ids.push(this.selectedRowKeysList[i].id)
|
||||
} else {
|
||||
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||
}
|
||||
}
|
||||
let data = ''
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataListReleasedAndCertificationReturnCanSelected')
|
||||
}
|
||||
if (ids && ids.length > 0) {
|
||||
this.releaseData(ids, notConditions, data)
|
||||
} else {
|
||||
this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
this.visible = true
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let selectedRowKeys = []
|
||||
this.selectedRowKeysList.forEach(res => {
|
||||
selectedRowKeys.push(res.id)
|
||||
})
|
||||
let query = {
|
||||
ids: selectedRowKeys.join(','),
|
||||
projectLibraryId: this.$route.query.id,
|
||||
...this.formInline
|
||||
}
|
||||
this.confirmLoading = true
|
||||
postAction('/project/projectCertificationInventoryEO/issue', query).then((res) => {
|
||||
releaseData(ids, notConditions, data) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('confirmRelease'),
|
||||
onOk() {
|
||||
postAction('/project/projectCertificationInventoryEO/issue', {
|
||||
ids: ids.join(','),
|
||||
projectLibraryId: _this.$route.query.id
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.confirmLoading = false
|
||||
this.getList()
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.selectedRowKeysList = []
|
||||
_this.getList()
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
_this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.confirmLoading = false
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
this.detailedSuccessList = []
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.formInline = {}
|
||||
this.visible = false
|
||||
},
|
||||
// handleOk() {
|
||||
// this.$refs.ruleForm.validate(valid => {
|
||||
// if (valid) {
|
||||
// let selectedRowKeys = []
|
||||
// this.selectedRowKeysList.forEach(res => {
|
||||
// selectedRowKeys.push(res.id)
|
||||
// })
|
||||
// let query = {
|
||||
// ids: selectedRowKeys.join(','),
|
||||
// projectLibraryId: this.$route.query.id,
|
||||
// ...this.formInline
|
||||
// }
|
||||
// this.confirmLoading = true
|
||||
// postAction('/project/projectCertificationInventoryEO/issue', query).then((res) => {
|
||||
// if (res.success) {
|
||||
// this.$message.success(this.$t('OperationSuccessful'))
|
||||
// this.visible = false
|
||||
// this.selectedRowKeys = []
|
||||
// this.confirmLoading = false
|
||||
// this.getList()
|
||||
// } else {
|
||||
// this.$message.warning(res.message)
|
||||
// this.confirmLoading = false
|
||||
// }
|
||||
// this.detailedSuccessList = []
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
// handleCancel() {
|
||||
// this.formInline = {}
|
||||
// this.visible = false
|
||||
// },
|
||||
|
||||
//撤回
|
||||
withdrawClick() {
|
||||
@@ -1085,8 +1217,8 @@
|
||||
},
|
||||
transferListForm() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
this.selectedRowKeys = []
|
||||
this.getList()
|
||||
},
|
||||
batSettingForm() {
|
||||
this.pageNo = 1
|
||||
@@ -1103,22 +1235,26 @@
|
||||
},
|
||||
deleteLib(val) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmDelete'),
|
||||
onOk() {
|
||||
deleteAction(_this.url.deleteOne, { id: val.id, projectLibraryId: _this.$route.query.id }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
if (val.flowStatus == 'List to be released' || val.flowStatus == 'Review and pass') {
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmDelete'),
|
||||
onOk() {
|
||||
deleteAction(_this.url.deleteOne, { id: val.id, projectLibraryId: _this.$route.query.id }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('onlyDataWithProcessStatusDeleted'))
|
||||
}
|
||||
},
|
||||
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) => {
|
||||
@@ -1187,6 +1323,8 @@
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visibleRoleSwitching = false
|
||||
this.confirmLoadingRoleSwitching = false
|
||||
this.selectedRowKeysList = []
|
||||
this.selectedRowKeys = []
|
||||
this.getList()
|
||||
this.$emit('getRoleSwitch', this.roleSwitchingCode)
|
||||
} else {
|
||||
@@ -1217,7 +1355,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'))
|
||||
}
|
||||
@@ -1326,6 +1464,12 @@
|
||||
this.dataSource = [...this.dataSource]
|
||||
this.preservationClick()
|
||||
},
|
||||
deliveryBlur() {
|
||||
this.preservationClick()
|
||||
},
|
||||
deliveryChange() {
|
||||
this.preservationClick()
|
||||
},
|
||||
CertificationProgressClick(val) {
|
||||
let item = JSON.parse(JSON.stringify(val))
|
||||
item.roleCode = this.roleSwitchingCode
|
||||
|
||||
Reference in New Issue
Block a user