合并代码

This commit is contained in:
zyx.net
2022-12-28 16:12:31 +08:00
63 changed files with 3391 additions and 210 deletions
@@ -65,6 +65,7 @@
:dataSource="tableData"
:pagination="false"
:loading="loading"
@change="tableOnChange"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
>
<span slot="serialNumber" slot-scope="text, record">
@@ -115,6 +116,8 @@
pageSize: 10
}, //搜索条件
total: 0,
orderBy: '1',
orderByField: '',
//列表表头
columns: [
{
@@ -123,6 +126,7 @@
key: 'serialNumber',
scopedSlots: { customRender: 'serialNumber' },
align: 'center',
sorter:true,
ellipsis: true,
width: 180
},
@@ -139,6 +143,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'state'
},
{
@@ -146,6 +151,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'createTime'
},
{
@@ -167,9 +173,22 @@
this.loadData()
},
methods: {
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'serialNumber'){
this.orderByField = 'serial_number'
} else if(sorter.columnKey == 'createTime') {
this.orderByField = 'create_time'
} else{
this.orderByField = sorter.columnKey
}
this.loadData()
},
//获取列表数据
loadData() {
let params = {
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParams
}
this.loading = true
@@ -68,6 +68,7 @@
:dataSource="tableData"
:pagination="false"
:loading="loading"
@change="tableOnChange"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
>
<span slot="serialNumber" slot-scope="text, record">
@@ -114,6 +115,8 @@
pageSize: 10
}, //搜索条件
total: 0,
orderBy: '1',
orderByField: '',
//列表表头
columns: [
{
@@ -123,6 +126,7 @@
align: 'center',
width: 180,
scopedSlots: { customRender: 'serialNumber' },
sorter:true,
ellipsis: true
},
{
@@ -138,6 +142,7 @@
align: 'center',
width: 180,
dataIndex: 'state',
sorter:true,
ellipsis: true
},
{
@@ -145,6 +150,7 @@
align: 'center',
width: 180,
dataIndex: 'createTime',
sorter:true,
ellipsis: true
},
{
@@ -177,9 +183,22 @@
this.loadData()
},
methods: {
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'serialNumber'){
this.orderByField = 'serial_number'
} else if(sorter.columnKey == 'createTime') {
this.orderByField = 'create_time'
} else{
this.orderByField = sorter.columnKey
}
this.loadData()
},
//获取列表数据
loadData() {
let params = {
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParams
}
this.loading = true
@@ -0,0 +1,261 @@
<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>
<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 :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
: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"
/>
</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>
</template>
<script>
import { getAction, postAction } from '@/api/manage'
export default {
name: 'transferList',
components: {},
props: ['url'],
data() {
return {
visible: false,
queryParam: {},
confirmLoading: false,
selectedRowKeys: [],
columns: [
{
title: this.$t('VirtualListName'),
dataIndex: 'name',
align: 'center',
ellipsis: true
},
{
title: this.$t('instructionForUse'),
dataIndex: 'useExplain',
align: 'center',
ellipsis: true
},
{
title: this.$t('updateTime'),
dataIndex: 'updateTime',
align: 'center',
ellipsis: true
},
{
title: this.$t('creater'),
dataIndex: 'createBy',
align: 'center',
ellipsis: true
}
],
dataList: [],
content: [],
loading: false,
pageNo: 1,
pageSize: 10,
total: 0
}
},
mounted() {
},
methods: {
transferModel() {
this.visible = true
this.queryParam = {}
this.selectedRowKeys = []
this.replacePage()
},
searchQuery() {
this.pageNo = 1
this.replacePage()
},
searchReset() {
this.pageNo = 1
this.queryParam = {}
this.replacePage()
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
}
this.loading = true
postAction('/project/projectLawsInventoryEO/getPageInfoDummy', query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
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))
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
// }
// })
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
getAdd() {
let _this = this
this.$confirm({
content: _this.$t('TheDoesNotContainData'),
onOk() {
_this.handleSubmit('1')
}
})
}
}
}
</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>
@@ -0,0 +1,254 @@
<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('title')">
<span>{{$t('title')}}</span>
</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>
</a-col>
</span>
</a-row>
</a-form>
</div>
<a-table
: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"-->
<!-- />-->
<!-- </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'
export default {
name: 'transferList',
components: {},
props: ['url'],
data() {
return {
visible: false,
queryParam: {},
confirmLoading: false,
selectedRowKeys: [],
columns: [
{
title: this.$t('standard'),
align: 'center',
dataIndex: 'serialNumber',
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('subtitle'),
align: 'center',
dataIndex: 'subtitle',
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
},
],
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()
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
// pageNo: this.pageNo,
// pageSize: this.pageSize,
...this.queryParam,
dummyInventoryBaseId: this.dummyInventoryBaseId
}
this.loading = true
getAction('/dummy/dummyInventoryInfoEO/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('/dummy/dummyInventoryInfoEO/acquireAdd', {
dummyInventoryBaseId: this.$route.query.id,
ids: 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>
@@ -90,6 +90,7 @@
<!-- style="float: left;font-size: 16px;font-weight: 400;color: #040B29;">-->
<!-- {{$t('DocumentStandard')}}-->
<!-- </div>-->
<div class="operator-text" v-has="'dummyInventoryInfo:importData'" v-if="isTrue">
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" @getList="getPersonnelList"
:accept="'.zip'"/>
@@ -122,6 +123,13 @@
<a-icon type="setting"/>
{{$t('batSetting')}}
</div>
<!-- 调取-->
<div @click="transferClick"
v-has="'dummyInventoryInfo:copyInfoByIds'"
class="operator-text" v-if="isTrue">
<a-icon type="profile"/>
{{$t('Transfer')}}
</div>
<!-- 添加-->
<div @click="handleAdd"
v-has="'dummyInventoryInfo:add'"
@@ -146,6 +154,7 @@
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
rowKey="id"
:data-source="dataSource"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -215,6 +224,8 @@
<addModel :url="url" ref="addModelRef" @addModelList="addModelList"/>
<editModel :url="url" ref="editModelRef" @editModelList="editModelList"/>
<UpdateLog :url="url" ref="UpdateLogRef"/>
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef"/>
<transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/>
<batSetting :url="url" ref="batSettingRef" @batSettingList="batSettingList"/>
<a-modal
:title="$t('deliverableTemplate')"
@@ -258,6 +269,8 @@
import UpdateLog from '@/components/UpdateLog/index'
import batSetting from './batSetting'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import transferList from './transferList'
import transferListvirtal from './transferListvirtal'
import { getAction, postAction, downloadFile } from '@/api/manage'
import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex'
@@ -267,6 +280,8 @@
components: {
ImportFile,
addModel,
transferList,
transferListvirtal,
editModel,
UpdateLog,
batSetting,
@@ -278,6 +293,9 @@
queryParam: {},
components: {},
visibleFile: false,
transferList: false,
orderBy: '1',
orderByField: '',
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
dataSourceFile: [],
@@ -319,6 +337,7 @@
align: 'center',
dataIndex: 'serialNumber',
width: 180,
sorter:true,
fixed: 'left',
scopedSlots: { customRender: 'standard' }
},
@@ -349,6 +368,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'shi4Yong4Fan4Wei2_dictText'
},
{
@@ -356,6 +376,7 @@
align: 'center',
width: 100,
ellipsis: true,
sorter:true,
dataIndex: 'state_dictText'
},
{
@@ -377,6 +398,7 @@
align: 'center',
width: 200,
ellipsis: true,
sorter:true,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1'
},
{
@@ -384,6 +406,7 @@
align: 'center',
width: 210,
ellipsis: true,
sorter:true,
dataIndex: 'implementTime'
},
{
@@ -391,6 +414,7 @@
align: 'center',
dataIndex: 'wvtaId',
width: 180,
sorter:true,
ellipsis: true
},
{
@@ -405,6 +429,7 @@
align: 'center',
width: 200,
ellipsis: true,
sorter:true,
dataIndex: 'attestationRank_dictText'
},
{
@@ -426,6 +451,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'dutyTerritory_dictText'
},
{
@@ -674,6 +700,10 @@
handleModule() {
downloadFile(this.url.exportTemplate, this.$t('VirtualList') + this.$t('importTemplate') + '.xls', {})
},
//调取
transferClick() {
this.$refs.transferListRef.transferModel()
},
//导出
handleExport() {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
@@ -717,10 +747,38 @@
editModelList() {
this.getList()
},
transferListForm(id){
this.$refs.transferListvirtalRef.transferModel(id)
},
transferListFormHomo(){
this.$refs.transferListRef.handleCancel()
this.getList()
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'shi4Yong4Fan4Wei2_dictText'){
this.orderByField = 'shi4Yong4Fan4Wei2'
} else if(sorter.columnKey == 'state_dictText') {
this.orderByField = 'state'
} else if(sorter.columnKey == 'xin1Che1Xing2Shi2Shi1Ri4Qi1') {
this.orderByField = 'xin1_che1_xing2_shi2_shi1_ri4_qi1'
} else if(sorter.columnKey == 'implementTime') {
this.orderByField = 'implement_time'
} else if(sorter.columnKey == 'dutyTerritory_dictText') {
this.orderByField = 'dutyTerritory'
} else if(sorter.columnKey == 'attestationRank_dictText') {
this.orderByField = 'attestationRank'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let query = {
...this.queryParam,
...this.queryParamQuery,
orderBy: this.orderBy,
orderByField: this.orderByField,
dummyInventoryBaseId: this.$route.query.id
}
this.loading = true
@@ -56,6 +56,7 @@
:scroll="{x: '100%'}"
rowKey="id"
:data-source="dataSource"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -246,6 +247,8 @@
],
queryParam: {},
administrators:false,
orderBy: '1',
orderByField: ''
}
},
mounted() {
@@ -269,6 +272,11 @@
this.selectedRowKeys = []
this.getList()
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey
this.getList()
},
setCreatorClick() {
if (this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
@@ -415,6 +423,8 @@
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -56,6 +56,7 @@
rowKey="id"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@change="tableOnChange"
:columns="columns"
>
<span slot="projectName" slot-scope="text,record" :title="text">
@@ -131,6 +132,8 @@ export default {
toggleSearchStatus: false,
selectedRowKeys: [],
selectedRowKeysArray: '',
orderBy: '1',
orderByField: '',
formInline: {},
rules: {
paramsTemplateName:[
@@ -154,11 +157,20 @@ export default {
pageNo: 1,
title: '新增',
columns: [
{
title: this.$t('zoneOfApplication'),
align: 'center',
width: 160,
ellipsis: true,
sorter:true,
dataIndex: 'region_dictText',
},
{
title: this.$t('parameterTemplate'),
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'paramsTemplateName',
scopedSlots: { customRender: 'projectName' }
},
@@ -181,6 +193,7 @@ export default {
align: 'center',
dataIndex: 'createTime',
width: 160,
sorter:true,
ellipsis: true,
},
{
@@ -188,6 +201,7 @@ export default {
align: 'center',
width: 160,
ellipsis: true,
sorter:true,
dataIndex: 'updateTime'
},
{
@@ -354,10 +368,27 @@ export default {
this.queryParam[value] = id
this.queryParam = { ...this.queryParam }
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'region_dictText'){
this.orderByField = 'region'
} else if(sorter.columnKey == 'paramsTemplateName') {
this.orderByField = 'params_template_name'
} else if(sorter.columnKey == 'createTime') {
this.orderByField = 'create_time'
} else if(sorter.columnKey == 'updateTime') {
this.orderByField = 'update_time'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -39,6 +39,7 @@
:scroll="{x: '100%',y:'calc(100vh - 158px)'}"
rowKey="id"
:data-source="dataSource"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -126,6 +127,8 @@
paramsManifestId:'',
selectedRowKeysArray: '',
formInline: {},
orderBy: '1',
orderByField: '',
rules: {
paramsTemplateName: [
{ required: true, message: this.$t('PleaseEnter') + this.$t('templateName'), trigger: 'change' }
@@ -156,6 +159,7 @@
align: 'center',
width: '17%',
dataIndex: 'projectName',
sorter:true,
scopedSlots: { customRender: 'projectName' }
},
{
@@ -304,10 +308,21 @@
// }
// })
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'projectName') {
this.orderByField = 'pageName'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -51,6 +51,7 @@
:scroll="{x: '100%',y:'calc(100vh - 160px)'}"
rowKey="id"
:data-source="dataSource"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -126,6 +127,8 @@ export default {
selectedRowKeys: [],
selectedRowKeysArray: '',
formInline: {},
orderBy: '1',
orderByField: '',
rules: {
paramsTemplateName:[
{ required: true, message: this.$t('PleaseEnter')+this.$t('templateName'), trigger: 'change' },
@@ -161,6 +164,7 @@ export default {
title: this.$t('templateName'),
align: 'center',
dataIndex: 'templateName',
sorter:true,
ellipsis: true,
width: 300,
scopedSlots: { customRender: 'templateName' }
@@ -199,6 +203,7 @@ export default {
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'updateTime'
},
{
@@ -352,10 +357,23 @@ export default {
this.queryParam[value] = id
this.queryParam = { ...this.queryParam }
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'templateName') {
this.orderByField = 'template_name'
} else if(sorter.columnKey == 'updateTime') {
this.orderByField = 'update_time'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -59,6 +59,13 @@
@click="urlClick(queryForm.ipdInfo)"
>{{queryForm.ipdInfo}}</span>
</div>
<div class="text-field">
<span class="text-field-left" :title="$t('brand')">{{$t('brand')}}</span>
<span class="text-field-right text-field-right-color"
:title="queryForm.brand"
@click="urlClick(queryForm.brand)"
>{{queryForm.brand}}</span>
</div>
</div>
<div class="content-text">
<div class="text-field">
@@ -109,6 +109,7 @@
:scroll="{x: true,y:'calc(100vh - 335px)'}"
:data-source="dataSource"
rowKey="id"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -255,12 +256,14 @@
align: 'center',
dataIndex: 'standard',
width: 202,
sorter:true,
scopedSlots: { customRender: 'standardInformation' }
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
width: 180,
sorter:true,
dataIndex: 'areaOfResponsibility',
scopedSlots: { customRender: 'areaOfResponsibility' }
},
@@ -268,6 +271,7 @@
title: this.$t('confirmationOfDesignConformity'),
align: 'center',
width: 240,
sorter:true,
dataIndex: 'confirmationOfDesignConformity',
scopedSlots: { customRender: 'confirmationOfDesignConformity' }
},
@@ -275,6 +279,7 @@
title: this.$t('PrehomoConfirmation'),
align: 'center',
width: 240,
sorter:true,
dataIndex: 'PrehomoConfirmation',
scopedSlots: { customRender: 'PrehomoConfirmation' }
},
@@ -282,6 +287,7 @@
title: this.$t('verificationAndConformityconfirmation'),
align: 'center',
width: 240,
sorter:true,
dataIndex: 'verificationAndConformityconfirmation',
scopedSlots: { customRender: 'verificationAndConformityconfirmation' }
},
@@ -289,6 +295,7 @@
title: this.$t('CertificationProgress'),
align: 'center',
width: 150,
sorter:true,
dataIndex: 'CertificationProgress',
scopedSlots: { customRender: 'CertificationProgress' }
},
@@ -296,11 +303,14 @@
title: this.$t('CurrentStatus'),
align: 'center',
width: 150,
sorter:true,
dataIndex: 'CurrentProjectStatusEvaluation',
scopedSlots: { customRender: 'CurrentProjectStatusEvaluation' }
}
],
selectedRowKeys: [],
orderBy: '1',
orderByField: '',
status: {
'NotDone': '待办',
@@ -536,7 +546,27 @@
CertificationDirectory() {
this.$refs.certificationDirectoryRef.addModel()
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'standard'){
this.orderByField = 'serialNumber'
} else if(sorter.columnKey == 'areaOfResponsibility') {
this.orderByField = 'dutyTerritory'
} else if(sorter.columnKey == 'confirmationOfDesignConformity') {
this.orderByField = 'designFlowTaskStatus'
} else if(sorter.columnKey == 'PrehomoConfirmation') {
this.orderByField = 'prehomoFlowTaskStatus'
} else if(sorter.columnKey == 'verificationAndConformityconfirmation') {
this.orderByField = 'verifyFlowTaskStatus'
} else if(sorter.columnKey == 'CertificationProgress') {
this.orderByField = 'certificationProgressName'
} else if(sorter.columnKey == 'CurrentProjectStatusEvaluation') {
this.orderByField = 'projectStatusAssess'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
@@ -549,6 +579,8 @@
}
let query = {
projectLibraryId: this.$route.query.id,
orderBy: this.orderBy,
orderByField: this.orderByField,
...queryParam
}
this.loading = true
@@ -163,6 +163,7 @@
align: 'center',
width: 80,
ellipsis: true,
sorter:true,
dataIndex: 'state'
},
{
@@ -177,6 +178,7 @@
align: 'center',
width: 120,
ellipsis: true,
sorter:true,
dataIndex: 'projectVersion'
},
{
@@ -185,6 +187,7 @@
dataIndex: 'finishTime',
width: 180,
ellipsis: true,
sorter:true,
scopedSlots: { customRender: 'collectionCompletionTime' }
},
{
@@ -192,6 +195,7 @@
align: 'center',
width: 80,
ellipsis: true,
sorter:true,
dataIndex: 'version'
},
{
@@ -206,6 +210,7 @@
align: 'center',
width: 160,
ellipsis: true,
sorter:true,
dataIndex: 'createTime'
},
{
@@ -219,6 +224,8 @@
token: Vue.ls.get(ACCESS_TOKEN),
selectedRowKeys: [],
queryParam: {},
orderBy: '1',
orderByField: '',
url: {
list: 'params/manifest/page',
add: 'params/manifest/add',
@@ -312,9 +319,6 @@
} else {
this.$message.warning(this.$t('thisbuttonCompleted'))
}
},
handleTableChange() {
},
// 历史版本
historicalVersion(historicalRow) {
@@ -431,11 +435,26 @@
this.pageSize = pageSize
this.getlist()
},
handleTableChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'projectVersion'){
this.orderByField = 'project_version'
} else if(sorter.columnKey == 'finishTime') {
this.orderByField = 'finish_time'
} else if(sorter.columnKey == 'createTime') {
this.orderByField = 'create_time'
} else{
this.orderByField = sorter.columnKey
}
this.getlist()
},
getlist() {
let query = {
projectId: this.$route.query.parentId ? this.$route.query.parentId : this.$route.query.id,
pageSize: this.pageSize,
pageNo: this.pageNo,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -224,6 +224,20 @@
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('brand')">{{$t('brand')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'brand'">
<j-multi-select-tag v-model="formInline.brand"
:placeholder="$t('PleaseSelect')+$t('brand')"
:type="'select'"
:triggerChange="false" :dictCode="'brand'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
@@ -208,6 +208,7 @@
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
rowKey="id"
:data-source="dataSource"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
@@ -300,7 +301,8 @@
<listAddModel :url="url" @addModelList="addModelList" ref="addModelRef"/>
<listEditModel :url="url" @editModelList="addModelList" ref="editModelRef"/>
<batSetting :url="url" @batSettingList="addModelList" ref="batSettingRef"/>
<transferList :url="url" @transferListForm="addModelList" ref="transferListRef"/>
<transferList :url="url" @transferListForm="transferListForm" ref="transferListRef"/>
<transferListvirtal :url="url" @transferListFormHomo="transferListFormHomo" ref="transferListvirtalRef"/>
<fixedPlate @fixedPlateForm="addModelList" ref="fixedPlateRef"/>
<a-modal
:title="listTitle"
@@ -456,6 +458,7 @@
import listEditModel from './listEditModel'
import batSetting from './batSetting'
import transferList from './transferList'
import transferListvirtal from './transferListvirtal'
import fixedPlate from './fixedPlateForm'
import resultReportedUpload from './resultReportedUpload'
import listOfRegulationsView from './listOfRegulationsView'
@@ -475,6 +478,7 @@
listEditModel,
batSetting,
transferList,
transferListvirtal,
globalAdvancedQuery,
fixedPlate,
resultReportedUpload,
@@ -485,6 +489,8 @@
return {
roleSwitchingList: [],
listTitle: '',
orderBy: '1',
orderByField: '',
columnsAll: [
{
title: this.$t('standard'),
@@ -492,6 +498,7 @@
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
sorter:true,
scopedSlots: { customRender: 'standard' }
},
{
@@ -514,11 +521,13 @@
align: 'center',
dataIndex: 'inventoryAffirmStatusName',
width: 240,
sorter:true,
ellipsis: true
},
{
title: this.$t('taskAffirmStatus'),
align: 'center',
sorter:true,
dataIndex: 'taskAffirmStatusName',
width: 240,
ellipsis: true
@@ -575,6 +584,7 @@
align: 'center',
dataIndex: 'attestationRank_dictText',
width: 180,
sorter:true,
ellipsis: true
},
{
@@ -589,12 +599,14 @@
align: 'center',
dataIndex: 'wvtaId',
width: 180,
sorter:true,
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
ellipsis: true,
sorter:true,
dataIndex: 'dutyTerritory_dictText',
width: 180
},
@@ -602,6 +614,7 @@
title: this.$t('regulatoryEngineer'),
align: 'center',
ellipsis: true,
sorter:true,
dataIndex: 'regulationOwnerName',
width: 180
},
@@ -609,6 +622,7 @@
title: this.$t('certifiedEngineer'),
align: 'center',
ellipsis: true,
sorter:true,
dataIndex: 'homologationEngineerName',
width: 180
},
@@ -616,6 +630,7 @@
title: this.$t('engineeringInterfacePerson'),
align: 'center',
ellipsis: true,
sorter:true,
dataIndex: 'engineeringInterfacePersonName',
width: 180
},
@@ -1477,6 +1492,13 @@
this.selectedRowKeys = []
this.getList()
},
transferListForm(id){
this.$refs.transferListvirtalRef.transferModel(id)
},
transferListFormHomo(){
this.$refs.transferListRef.handleCancel()
this.getList()
},
handleSuperQuery(params, matchType) {
let sqp = {}
if (!params || (params && params.length == 0)) {
@@ -1490,6 +1512,17 @@
this.queryParamQuery = sqp
this.getList()
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if(sorter.columnKey == 'attestationRank_dictText'){
this.orderByField = 'attestationRank'
} else if(sorter.columnKey == 'dutyTerritory_dictText'){
this.orderByField = 'dutyTerritory'
} else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
let roleCode
if (this.isDisplay) {
@@ -1515,6 +1548,8 @@
...this.queryParamQuery,
...queryParam,
projectLibraryId: this.$route.query.id,
orderBy: this.orderBy,
orderByField: this.orderByField,
roleCode: roleCode
}
this.loading = true
@@ -56,6 +56,7 @@
:pagination="false"
:scroll="{x: '100%'}"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@change="tableOnChange"
:data-source="dataSource"
:columns="columns"
>
@@ -91,6 +92,8 @@
return {
queryParam: {},
loading: false,
orderBy: '1',
orderByField: '',
dataSource: [],
selectedRowKeys: [],
columns: [
@@ -100,6 +103,7 @@
dataIndex: 'serialNumber',
scopedSlots: { customRender: 'standard' },
ellipsis: true,
sorter:true,
width: 180
},
{
@@ -115,6 +119,7 @@
align: 'center',
dataIndex: 'flowType',
ellipsis: true,
sorter:true,
width: 180
},
{
@@ -122,6 +127,7 @@
align: 'center',
dataIndex: 'dutyTerritory',
ellipsis: true,
sorter:true,
width: 180
},
{
@@ -129,6 +135,7 @@
align: 'center',
dataIndex: 'problemType',
ellipsis: true,
sorter:true,
width: 180
},
{
@@ -136,6 +143,7 @@
align: 'center',
dataIndex: 'initiator',
ellipsis: true,
sorter:true,
width: 140
},
{
@@ -143,6 +151,7 @@
align: 'center',
dataIndex: 'duty',
ellipsis: true,
sorter:true,
width: 140
}
],
@@ -218,11 +227,18 @@
}
downloadFilePost(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect)
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
projectLibraryId: this.$route.query.id,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -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('submit')}}</a-button>
<a-button @click="handleSubmit(undefined)" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
</div>
</a-drawer>
</template>
@@ -166,27 +166,30 @@
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.confirmLoading = true
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
postAction(this.url.addModel, {
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')
} else {
if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') {
this.confirmLoading = false
this.getAdd()
return
}
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
this.confirmLoading = false
this.$emit('transferListForm',selectedRowKeys.join(','))
this.selectedRowKeys = []
// postAction(this.url.addModel, {
// 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')
// } else {
// if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') {
// this.confirmLoading = false
// this.getAdd()
// return
// }
// this.$message.warning(this.$t('operationFailed'))
// this.confirmLoading = false
// }
// })
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
@@ -0,0 +1,255 @@
<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('title')">
<span>{{$t('title')}}</span>
</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>
</a-col>
</span>
</a-row>
</a-form>
</div>
<a-table
: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"-->
<!-- />-->
<!-- </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'
export default {
name: 'transferList',
components: {},
props: ['url'],
data() {
return {
visible: false,
queryParam: {},
confirmLoading: false,
selectedRowKeys: [],
columns: [
{
title: this.$t('standard'),
align: 'center',
dataIndex: 'serialNumber',
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('subtitle'),
align: 'center',
dataIndex: 'subtitle',
ellipsis: true
},
{
title: this.$t('areaOfResponsibility'),
align: 'center',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
},
],
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()
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
// pageNo: this.pageNo,
// pageSize: this.pageSize,
...this.queryParam,
dummyInventoryBaseId: this.dummyInventoryBaseId
}
this.loading = true
getAction('/dummy/dummyInventoryInfoEO/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/projectLawsInventoryEO/add', {
dummyInventoryBaseId: this.dummyInventoryBaseId,
projectLibraryId: this.$route.query.id,
dummyids: 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>
@@ -88,6 +88,17 @@
<!-- :triggerChange="false" :dictCode="'digital_platform'"/>-->
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('brand')">
<span>{{$t('brand')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
:placeholder="$t('PleaseSelect')+$t('brand')"
:type="'select'"
:triggerChange="false" :dictCode="'brand'"/>
</div>
</a-col>
</template>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
@@ -120,6 +131,7 @@
:pagination="false"
:scroll="{x: '100%'}"
rowKey="id"
@change="tableOnChange"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
@@ -203,6 +215,7 @@
align: 'left',
dataIndex: 'projectName',
width: 180,
sorter:true,
ellipsis: true,
scopedSlots: { customRender: 'projectName' }
},
@@ -224,9 +237,17 @@
title: this.$t('StudioEngineer'),
align: 'center',
width: 180,
sorter:true,
ellipsis: true,
dataIndex: 'studioEngineerName'
},
{
title: this.$t('brand'),
align: 'center',
width: 180,
ellipsis: true,
dataIndex: 'brand'
},
{
title: this.$t('explain'),
align: 'center',
@@ -246,6 +267,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'vehiclePlatform'
},
{
@@ -253,6 +275,7 @@
align: 'center',
width: 180,
ellipsis: true,
sorter:true,
dataIndex: 'digitalPlatform'
},
{
@@ -265,6 +288,8 @@
],
userInfoQuery: {},
queryParam: {},
orderBy: '1',
orderByField: '',
administrators: false
}
},
@@ -396,10 +421,17 @@
this.queryParam[value] = id
this.queryParam = { ...this.queryParam }
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -155,6 +155,7 @@
:loading="loading"
:pagination="false"
:scroll="{x: '100%'}"
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:data-source="dataSource"
:columns="columns"
@@ -205,6 +206,7 @@
align: 'center',
dataIndex: 'serialNumber',
width: 170,
sorter:true,
scopedSlots: { customRender: 'standard' }
},
{
@@ -219,6 +221,7 @@
align: 'center',
dataIndex: 'flowType',
width: 180,
sorter:true,
ellipsis: true
},
{
@@ -226,6 +229,7 @@
align: 'center',
dataIndex: 'dutyTerritory',
width: 180,
sorter:true,
ellipsis: true
},
{
@@ -233,6 +237,7 @@
align: 'center',
dataIndex: 'projectName',
width: 180,
sorter:true,
ellipsis: true
},
{
@@ -240,24 +245,29 @@
align: 'center',
dataIndex: 'problemType',
width: 140,
sorter:true,
ellipsis: true
},
{
title: this.$t('Sponsor'),
align: 'center',
dataIndex: 'initiator',
sorter:true,
width: 140
},
{
title: this.$t('personLiable'),
align: 'center',
dataIndex: 'duty',
sorter:true,
width: 140
}
],
total: 0,
pageSize: 10,
pageNo: 1,
orderBy: '1',
orderByField: '',
url: {
page: '/project/ncrTrackController/queryPage',
exportData: '/project/ncrTrackController/exportData'
@@ -333,10 +343,17 @@
this.pageSize = pageSize
this.getList()
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey
this.getList()
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
orderBy: this.orderBy,
orderByField: this.orderByField,
...this.queryParam
}
this.loading = true
@@ -23,6 +23,17 @@
:triggerChange="false" :dictCode="'region'"/>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('brand')">
<span>{{$t('brand')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
:placeholder="$t('PleaseSelect')+$t('brand')"
:type="'select'"
:triggerChange="false" :dictCode="'brand'"/>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
@@ -86,14 +86,14 @@
:columns="columns"
@change="tableOnChange"
>
<span slot="technicalField" slot-scope="text,record" :title="text">
<span slot="standard" slot-scope="text,record" :title="text">
<a @click="entryNameClick(record)">
{{ text }}
</a>
</span>
<span slot="standard" slot-scope="text,record" :title="text">
{{ text }}
</span>
<!-- <span slot="standard" slot-scope="text,record" :title="text">-->
<!-- {{ text }}-->
<!-- </span>-->
<!-- <span slot="serialNumber" slot-scope="text,record" :title="text">-->
<!-- {{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}-->
<!-- </span>-->
@@ -103,104 +103,105 @@ import DynamicNotice from '../../components/tools/DynamicNotice'
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
export default {
name: 'UserAnnouncementList',
mixins: [JeroListMixin],
components: {
DynamicNotice,
ShowAnnouncement
},
data() {
return {
description: '系统通告表管理页面',
queryParam: {},
selectedRowKeys: [],
// '5': this.$t('taskRegulationComplianceTask'),
msgCategoryQuery: {
'1': this.$t('SubscriptionNotification'),
'2': this.$t('warningInformation'),
'3': this.$t('ForwardPush')
// '4': this.$t('CollectinguthenticationParameters'),
// '6':this.$t('RegulationListConfirmationTask'),
// '7':this.$t('RegulationListConfirmationNotification'),
// '8':this.$t('RegulationTaskConfirmation'),
// '9':this.$t('DesignComplianceTask'),
// '10':this.$t('PreHomoTask'),
// '11':this.$t('ValidationTask'),
// '12':this.$t('DesignComplianceNotification'),
// '13':this.$t('PreHomoNotification'),
// '14':this.$t('ValidationComplianceNotification'),
// '15':this.$t('RegulationTaskConfirmationNotification'),
// '17':this.$t('listConfirmation'),
// '18':this.$t('taskAffirm'),
// '19':this.$t('complianceConfirmation'),
// '20':this.$t('collectionLegislativeComments'),
// '21':this.$t('regulatoryAndTechnicalAssessment'),
},
columns: [
{
title: this.$t('MessageContent'),
align: 'left',
dataIndex: 'msgContent',
ellipsis: true,
scopedSlots: { customRender: 'msgTitile' }
export default {
name: 'UserAnnouncementList',
mixins: [JeroListMixin],
components: {
DynamicNotice,
ShowAnnouncement
},
data() {
return {
description: '系统通告表管理页面',
queryParam: {},
selectedRowKeys: [],
// '5': this.$t('taskRegulationComplianceTask'),
msgCategoryQuery: {
'1': this.$t('SubscriptionNotification'),
'2': this.$t('warningInformation'),
'3': this.$t('ForwardPush')
// '4': this.$t('CollectinguthenticationParameters'),
// '6':this.$t('RegulationListConfirmationTask'),
// '7':this.$t('RegulationListConfirmationNotification'),
// '8':this.$t('RegulationTaskConfirmation'),
// '9':this.$t('DesignComplianceTask'),
// '10':this.$t('PreHomoTask'),
// '11':this.$t('ValidationTask'),
// '12':this.$t('DesignComplianceNotification'),
// '13':this.$t('PreHomoNotification'),
// '14':this.$t('ValidationComplianceNotification'),
// '15':this.$t('RegulationTaskConfirmationNotification'),
// '17':this.$t('listConfirmation'),
// '18':this.$t('taskAffirm'),
// '19':this.$t('complianceConfirmation'),
// '20':this.$t('collectionLegislativeComments'),
// '21':this.$t('regulatoryAndTechnicalAssessment'),
},
{
title: this.$t('Sponsor'),
align: 'left',
ellipsis: true,
dataIndex: 'initiator',
width: 200
columns: [
{
title: this.$t('MessageContent'),
align: 'left',
dataIndex: 'msgContent',
ellipsis: true,
scopedSlots: { customRender: 'msgTitile' }
},
{
title: this.$t('Sponsor'),
align: 'left',
ellipsis: true,
dataIndex: 'initiator',
width: 200
},
{
title: this.$t('MessageType'),
align: 'left',
ellipsis: true,
dataIndex: 'msgCategory',
width: 200,
scopedSlots: { customRender: 'msgCategory' }
},
{
title: this.$t('NotificationTime'),
align: 'left',
ellipsis: true,
width: 200,
dataIndex: 'sendTime'
},
{
title: '',
align: 'left',
ellipsis: true,
width: 50
}
],
url: {
list: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
editCementSend: 'sys/sysAnnouncementSend/editByAnntIdAndUserId',
readAllMsg: 'sys/sysAnnouncementSend/read',
deleteUrl: 'sys/sysAnnouncementSend/deleteBatch'
},
{
title: this.$t('MessageType'),
align: 'left',
ellipsis: true,
dataIndex: 'msgCategory',
width: 200,
scopedSlots: { customRender: 'msgCategory' }
},
{
title: this.$t('NotificationTime'),
align: 'left',
ellipsis: true,
width: 200,
dataIndex: 'sendTime'
},
{
title: '',
align: 'left',
ellipsis: true,
width: 50
}
],
url: {
list: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
editCementSend: 'sys/sysAnnouncementSend/editByAnntIdAndUserId',
readAllMsg: 'sys/sysAnnouncementSend/read',
deleteUrl: 'sys/sysAnnouncementSend/deleteBatch'
},
loading: false,
openPath: '',
formData: '',
language: ''
}
},
watch: {
$route: function(res) {
console.log(res)
this.loadData()
}
},
mounted() {
this.language = localStorage.getItem('language') || ''
},
methods: {
expandIcon(props) {
if (props.expanded) {
return <a-icon type="down" onClick={e => {
props.onExpand(props.record, e)
}
loading: false,
openPath: '',
formData: '',
language: ''
}
},
watch: {
$route: function(res) {
console.log(res)
this.loadData()
}
},
mounted() {
this.language = localStorage.getItem('language') || ''
},
methods: {
expandIcon(props) {
if (props.expanded) {
return <a-icon type = 'down'onClick = { e=>
{
props.onExpand(props.record, e)
}
}
/>
} else {
@@ -80,11 +80,19 @@
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</a-form-item>
<a-form-item v-if='viewshow' :label="$t('brand')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-multi-select-tag v-model="brands"
:placeholder="$t('PleaseSelect')+$t('brand')"
:type="'select'"
:triggerChange="false" :dictCode="'brand'"/>
<a-form-item v-if='viewshowbrand' :label="$t('brand')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<!-- <j-multi-select-tag v-model="brands"-->
<!-- :placeholder="$t('PleaseSelect')+$t('brand')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'brand'"/>-->
<a-select allowClear :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
v-model="brands">
<a-select-option v-for="(item, key) in brandsList" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.text || item.label ">
{{ item.text || item.label }}
</span>
</a-select-option>
</a-select>
</a-form-item>
@@ -230,7 +238,9 @@
modaltoggleFlag: true,
confirmDirty: false,
viewshow: false,
viewshowbrand: false,
selectedDepartKeys: [], //保存用户选择部门id
brandsList: [], //保存用户选择部门id
checkedDepartKeys: [],
checkedDepartNames: [], // 保存部门的名称 =>title
checkedDepartNameString: '', // 保存部门的名称 =>title
@@ -360,8 +370,16 @@
}
})
},
barndslist(){
getAction('/sys/dict/getBrandDict', {}).then((res) => {
if (res.success) {
this.brandsList = res.result
} else {
this.brandsList = []
}
})
},
loadUserRoles(userid) {
console.log(11)
queryUserRole({ userid: userid }).then((res) => {
if (res.success) {
this.selectedRole = res.result
@@ -370,10 +388,17 @@
if(val.roleCode == 'Viewer' && item == val.id){
this.$nextTick(() => {
this.viewshow = true
this.viewshowbrand = true
})
return
} else if(val.roleCode == 'BrandAdministrator' && item == val.id) {
this.$nextTick(() => {
this.viewshowbrand = true
})
return
}else{
this.viewshow = false
this.viewshowbrand = false
}
})
})
@@ -398,10 +423,17 @@
if(val.roleCode == 'Viewer' && item == val.id){
this.$nextTick(() => {
this.viewshow = true
this.viewshowbrand = true
})
return
} else if(val.roleCode == 'BrandAdministrator' && item == val.id) {
this.$nextTick(() => {
this.viewshowbrand = true
})
return
}else{
this.viewshow = false
this.viewshowbrand = false
}
})
})
@@ -465,6 +497,7 @@
let that = this
this.disabled = false
that.initialRoleList()
that.barndslist()
if (record.activitiSync) {
this.disabled = true
}