rxswin对接接口

This commit is contained in:
zyx.net
2023-08-29 10:53:49 +08:00
parent 39b8d8511e
commit 5964678d04
4 changed files with 233 additions and 132 deletions
+1 -1
View File
@@ -1929,7 +1929,7 @@ module.exports = {
softwareversion:'Software version',
softwareplatform:'Software platform',
softwarereleasetime:'Software release time',
theme:'theme',
theme:'Theme',
influencestatute:'Influence statute',
vdrste:'VDR status',
impactdescription:'Impact description',
@@ -14,8 +14,8 @@
<div class="title-text-search" :title="$t('standard')">
<span>{{$t('standard')}}</span>
</div>
<a-input class="box-input-search" :placeholder="$t('PleaseEnter') + $t('standard')"
v-model="queryParam.vdr"></a-input>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + $t('standard')"
v-model="queryParam.serialNumber"></a-input>
</div>
</a-col>
@@ -25,8 +25,8 @@
<div class="title-text-search" :title="$t('theme')">
<span>{{$t('theme')}}</span>
</div>
<a-input class="box-input-search" :placeholder="$t('PleaseEnter') + $t('theme')"
v-model="queryParam.vdr"></a-input>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + $t('theme')"
v-model="queryParam.theme"></a-input>
</div>
</a-col>
<a-col :md="12" :sm="8">
@@ -34,8 +34,8 @@
<div class="title-text-search" :title="'RXSWIN'">
<span>RXSWIN</span>
</div>
<a-input class="box-input-search" :placeholder="$t('PleaseEnter') + 'RXSWIN'"
v-model="queryParam.vdr"></a-input>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + 'RXSWIN'"
v-model="queryParam.rxswin"></a-input>
</div>
</a-col>
<a-col :md="12" :sm="8">
@@ -48,8 +48,10 @@
show-search
class="box-input-search"
optionFilterProp="label"
showSearch
:autoClearSearchValue="false"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.firstLevelDutyTerritory">
v-model="queryParam.version">
<a-select-option v-for="(item, key) in firstLevelDutyTerritoryList"
:key="key"
:label="item.key"
@@ -75,6 +77,11 @@
</a-row>
</a-form>
<div class="table-operator">
<!-- 提交-->
<div class="operator-text" @click="submit" v-has="'rxswin:add'">
<a-icon type="check-circle"/>
{{$t('submit')}}
</div>
<!-- 新增-->
<div class="operator-text" @click="handleAdd" v-has="'rxswin:add'">
<a-icon type="plus"/>
@@ -134,17 +141,17 @@
</a>
</span>
</a-table>
<!-- <div class="page">-->
<!-- <a-pagination-->
<!-- :show-total="total => $t('total')+` ${total} `+$t('strip')"-->
<!-- show-quick-jumper-->
<!-- show-size-changer-->
<!-- :page-size.sync="pageSize"-->
<!-- :total="total"-->
<!-- @change="pageOnChange"-->
<!-- @showSizeChange="SizeChange"-->
<!-- />-->
<!-- </div>-->
<div class="page">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
<div class="drawer-bootom-button">
<a-button style="margin-right: 8px" @click="handleCancel">{{$t('cancel')}}</a-button>
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
@@ -169,12 +176,13 @@
<span class="title-text-text"
:title="$t('standard')">{{$t('standard')}}</span>
</div>
<a-form-model-item class="itemModel" prop="standard">
<a-form-model-item class="itemModel" prop="serialNumber">
<Standardselection
:query="{'db_field_txt':$t('standard')}"
:standard="formInline"
:disabled="false"
v-model="formInline.dutyTerritory"/>
@change="StandardselectionChange"
v-model="formInline.serialNumber"/>
</a-form-model-item>
</div>
</a-col>
@@ -188,7 +196,7 @@
</div>
<a-form-model-item class="itemModel" prop="theme">
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('theme')"
v-model="queryParam.theme" :maxLength="100"></a-input>
v-model="formInline.theme" :maxLength="100"></a-input>
</a-form-model-item>
</div>
</a-col>
@@ -200,9 +208,9 @@
<span class="Required">*</span>
<span class="title-text-text">RXSWIN</span>
</div>
<a-form-model-item class="itemModel" prop="RXSWIN">
<a-form-model-item class="itemModel" prop="rxswin">
<a-input class="box-input" :placeholder="$t('PleaseEnter') + 'RXSWIN'"
v-model="queryParam.RXSWIN" :maxLength="100"></a-input>
v-model="formInline.rxswin" :maxLength="100"></a-input>
</a-form-model-item>
</div>
</a-col>
@@ -221,13 +229,12 @@
import SelectedBy from '@/components/SelectedBy/index'
import personBatting from './personBatting'
import Standardselection from '@/components/Standardselection/index'
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
import { getAction, postAction, downloadFile, putAction, deleteAction } from '@/api/manage'
import ImportFile from '@/components/ImportFile/index'
import transferList from './transferListRxswin'
import transferListvirtal from './transferListvirtalRxswin'
import { mapGetters } from 'vuex'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import { deleteAction } from '../../../api/manage'
export default {
name: 'listOfRelevantPersonnel',
@@ -255,7 +262,7 @@
{
title: this.$t('standard'),
align: 'left',
dataIndex: 'standard',
dataIndex: 'serialNumber',
ellipsis: true,
sorter:true,
width: 170
@@ -271,7 +278,7 @@
{
title: 'RXSWIN',
align: 'left',
dataIndex: 'RXSWIN',
dataIndex: 'rxswin',
ellipsis: true,
sorter:true,
width: 170
@@ -279,7 +286,7 @@
{
title: this.$t('Correspondingversion'),
align: 'left',
dataIndex: 'Correspondingversion',
dataIndex: 'version',
ellipsis: true,
sorter:true,
width: 170
@@ -299,17 +306,12 @@
confirmLoading: false,
formInline: {},
rules: {
standard: [
serialNumber: [
{
required: true,
message: this.$t('standard') + this.$t('cannotEmpty'),
trigger: 'blur'
},
// {
// max: 100,
// message: this.$t('certifiedEngineer') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
// trigger: 'change'
// }
],
theme: [
{
@@ -317,30 +319,19 @@
message: this.$t('theme') + this.$t('cannotEmpty'),
trigger: 'blur'
},
// {
// max: 100,
// message: this.$t('areaOfResponsibility') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
// trigger: 'change'
// }
],
RXSWIN: [
rxswin: [
{
required: true,
message: 'RXSWIN' + this.$t('cannotEmpty'),
trigger: 'blur'
},
// {
// max: 100,
// message: this.$t('regulatoryEngineer') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
// trigger: 'change'
// }
],
},
// total: 0,
// pageSize: 10,
// pageNo: 1,
url: {
page: '/project/projectRelatedPersonnel/page',
page: '/project/projectRxswinEO/page',
edit: '/project/projectRelatedPersonnel/edit',
exportData: '/project/projectRelatedPersonnel/exportXls',
importZipUrl: '/project/projectRelatedPersonnel/importExcel',
@@ -353,6 +344,9 @@
userName:'',
orderBy: '1',
orderByField: '',
total: 0,
pageNo: 1,
pageSize: 10
}
},
computed: {
@@ -406,20 +400,38 @@
handleSubmit() {
this.visible = false
},
submit(){
let ids = []
this.dataSource.forEach(item => {
ids.push(item.id)
})
let query = {
projectId: this.$route.query.id,
ids: ids.join(',')
}
getAction('/project/projectRxswinEO/submitInfo', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.getList()
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
},
batDeleteClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
// postAction('/project/problemKnowledgeBaseReplyEO/deleteBatch', { ids: this.selectedRowKeys }).then((res) => {
// if (res.success) {
// _this.$message.success(_this.$t('OperationSuccessful'))
// _this.getList()
// } else {
// _this.$message.warning(res.message)
// }
// })
deleteAction('/project/projectRxswinEO/deleteBatch', { ids: _this.selectedRowKeys.join(',') }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
} else {
_this.$message.warning(res.message)
}
})
}
})
} else {
@@ -433,14 +445,28 @@
getPersonnelList() {
this.getList()
},
StandardselectionChange(value, id) {
this.formInline.documentId = id
this.formInline = { ...this.formInline }
},
editOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
if (!this.formInline.certificationEngineer) {
this.formInline.certificationEngineer = ''
let url = ''
let Action = ''
if(this.title == this.$t('newlyAdded')){
url = '/project/projectRxswinEO/add'
Action = postAction
}else{
url = '/project/projectRxswinEO/edit'
Action = putAction
}
let query = {
projectId: this.$route.query.id,
...this.formInline,
}
this.confirmLoading = true
putAction(this.url.edit, this.formInline).then((res) => {
Action(url, query).then((res) => {
if (res.success) {
this.editVisible = false
this.$message.success(this.$t('OperationSuccessful'))
@@ -475,14 +501,14 @@
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
// postAction('/project/problemKnowledgeBaseReplyEO/deleteBatch', { ids: item.id }).then((res) => {
// if (res.success) {
// _this.$message.success(_this.$t('OperationSuccessful'))
// _this.getList()
// } else {
// _this.$message.warning(res.message)
// }
// })
deleteAction('/project/projectRxswinEO/deleteBatch', { ids: item.id }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
} else {
_this.$message.warning(res.message)
}
})
}
})
},
@@ -502,18 +528,34 @@
...this.queryParam,
orderBy: this.orderBy,
orderByField: this.orderByField,
pageNo: this.pageNo,
pageSize: this.pageSize
}
this.loading = true
postAction(this.url.page, query).then((res) => {
getAction(this.url.page, query).then((res) => {
if (res.success) {
this.dataSource = res.result || []
// this.total = res.result.total
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
} else {
this.loading = false
}
})
},
pageOnChange(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
handleExport() {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let query = {
@@ -59,14 +59,14 @@
columns: [
{
title: this.$t('projectVersion'),
dataIndex: 'name',
dataIndex: 'projectName',
align: 'left',
ellipsis: true,
width: 235
},
{
title: this.$t('Listcreationtime'),
dataIndex: 'useExplain',
dataIndex: 'createTime',
align: 'left',
ellipsis: true,
},
@@ -109,12 +109,13 @@
},
replacePage() {
let query = {
projectId: this.$route.query.id,
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
}
this.loading = true
postAction(this.url.transferUrl, query).then((res) => {
getAction('/project/projectRxswinEO/getOnePage', query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
@@ -12,32 +12,70 @@
<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')">
<a-col :md="12" :sm="8">
<div class="box-title-text-search">
<div class="title-text-search" :title="$t('standard')">
<span>{{$t('standard')}}</span>
</div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
v-model="queryParam.serialNumber"></j-input>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + $t('standard')"
v-model="queryParam.serialNumber"></a-input>
</div>
</a-col>
<a-col :md="12" :sm="5">
<div class="box-title-text">
<div class="title-text" :title="$t('title')">
<span>{{$t('title')}}</span>
<template v-if="toggleSearchStatus">
<a-col :md="12" :sm="8">
<div class="box-title-text-search">
<div class="title-text-search" :title="$t('theme')">
<span>{{$t('theme')}}</span>
</div>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + $t('theme')"
v-model="queryParam.theme"></a-input>
</div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
v-model="queryParam.title"></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">
<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>
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
</a-col>
</a-col>
<a-col :md="12" :sm="8">
<div class="box-title-text-search">
<div class="title-text-search" :title="'RXSWIN'">
<span>RXSWIN</span>
</div>
<a-input class="box-input-search" allowClear :placeholder="$t('PleaseEnter') + 'RXSWIN'"
v-model="queryParam.rxswin"></a-input>
</div>
</a-col>
<a-col :md="12" :sm="8">
<div class="box-title-text-search">
<div class="title-text-search" :title="$t('Correspondingversion')">
<span>{{$t('Correspondingversion')}}</span>
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('Correspondingversion')"
allowClear
show-search
class="box-input-search"
optionFilterProp="label"
showSearch
:autoClearSearchValue="false"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.version">
<a-select-option v-for="(item, key) in firstLevelDutyTerritoryList"
:key="key"
:label="item.key"
:value="item.key">
<span style="display: inline-block;width: 100%" :title=" item.key ">
{{ item.key }}
</span>
</a-select-option>
</a-select>
</div>
</a-col>
</template>
<span style="float: right;overflow: hidden;margin-right: 11px;margin-bottom: 20px"
class="table-page-search-submitButtons">
<a @click="handleToggleSearch">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
<a-button class="box-button-search" style="margin-left: 8px"
@click="searchReset">{{$t('reset')}}</a-button>
<a-button class="box-button-search" style="margin-left: 8px" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
</span>
</a-row>
</a-form>
@@ -52,18 +90,18 @@
: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 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">
@@ -85,6 +123,7 @@ export default {
props: ['url'],
data() {
return {
toggleSearchStatus: false,
visible: false,
queryParam: {},
confirmLoading: false,
@@ -201,11 +240,14 @@ export default {
methods: {
transferModel(id) {
this.visible = true
this.dummyInventoryBaseId = id
this.projectId = id
this.queryParam = {}
this.selectedRowKeys = []
this.replacePage()
},
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
searchQuery() {
this.pageNo = 1
this.replacePage()
@@ -214,8 +256,6 @@ export default {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
this.$refs.globalAdvancedQueryRef.resetLine()
this.$refs.globalAdvancedQueryRef.emitCallback()
},
onChange(page, pageSize) {
this.pageNo = page
@@ -226,31 +266,17 @@ export default {
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,
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam,
dummyInventoryBaseId: this.dummyInventoryBaseId
projectId: this.projectId
}
this.loading = true
getAction('/dummy/dummyInventoryInfoEO/list', query).then((res) => {
getAction('/project/projectRxswinEO/getTwoPage', query).then((res) => {
if (res.success) {
this.dataList = res.result || []
this.dataList = res.result.records || []
this.loading = false
} else {
this.loading = false
@@ -270,10 +296,10 @@ export default {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.confirmLoading = true
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
postAction('project/projectLawsInventoryEO/add', {
dummyInventoryBaseId: this.dummyInventoryBaseId,
projectLibraryId: this.$route.query.id,
dummyids: selectedRowKeys.join(','),
getAction('/project/projectRxswinEO/iSExist', {
projectId: this.projectId,
// projectLibraryId: this.$route.query.id,
ids: selectedRowKeys.join(','),
}).then((res) => {
if (res.success) {
this.confirmLoading = false
@@ -345,4 +371,36 @@ export default {
.box-button {
height: 38px;
}
.box-title-text-search {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text-search {
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-search {
display: inline-block;
width: calc(100% - 100px);
height: 38px;
margin-top: 2px;
}
.box-button-search {
height: 38px;
/*margin-top: 2px;*/
}
</style>