合并分支 'fix_20230508' 到 'master'
Fix 20230508 查看合并请求 laws-nio/laws-weilai!324
This commit is contained in:
+4
@@ -106,4 +106,8 @@ public class ProjectRelatedPersonnel implements Serializable {
|
|||||||
//批量设置传参ids
|
//批量设置传参ids
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String ids;
|
private String ids;
|
||||||
|
|
||||||
|
// 一级责任领域(统计节点)
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String firstLevelDutyTerritory;
|
||||||
}
|
}
|
||||||
|
|||||||
+30
@@ -28,8 +28,10 @@ import com.jero.modules.system.entity.SysUser;
|
|||||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||||
import com.jero.modules.system.mapper.SysDictMapper;
|
import com.jero.modules.system.mapper.SysDictMapper;
|
||||||
import com.jero.modules.system.mapper.SysUserMapper;
|
import com.jero.modules.system.mapper.SysUserMapper;
|
||||||
|
import com.jero.modules.system.service.ISysDictItemService;
|
||||||
import com.jero.modules.system.service.ISysDictService;
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
|
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||||
import com.jero.modules.system.util.StringUtils;
|
import com.jero.modules.system.util.StringUtils;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
@@ -108,6 +110,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ProjectLibraryBaseMapper projectLibraryBaseMapper;
|
private ProjectLibraryBaseMapper projectLibraryBaseMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysDictItemService sysDictItemService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -334,6 +339,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void disposeData(List<ProjectRelatedPersonnel> records) {
|
public void disposeData(List<ProjectRelatedPersonnel> records) {
|
||||||
|
|
||||||
|
List<SysDictItem> sysDictItems = this.sysDictItemService.selectItemsAll();
|
||||||
|
Map<String, List<SysDictItem>> firstLevelDutyTerritoryMap = this.sysDictItemService.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(),sysDictItems);
|
||||||
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
|
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
|
||||||
//法规工程师
|
//法规工程师
|
||||||
List<SysUser> lawEngineerUsers = new ArrayList<>();
|
List<SysUser> lawEngineerUsers = new ArrayList<>();
|
||||||
@@ -459,6 +467,28 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
projectRelatedPersonnel.setEngineerAttSetName(AttSetName.substring(0,AttSetName.toString().length()-1));
|
projectRelatedPersonnel.setEngineerAttSetName(AttSetName.substring(0,AttSetName.toString().length()-1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String dutyTerritory = projectRelatedPersonnel.getDutyTerritory();
|
||||||
|
for (Map.Entry<String, List<SysDictItem>> firstLevelMap : firstLevelDutyTerritoryMap.entrySet()) {
|
||||||
|
String firstLevel = firstLevelMap.getKey();
|
||||||
|
List<SysDictItem> dutyTerritoryList = firstLevelMap.getValue();
|
||||||
|
if(StringUtils.isEmpty(firstLevel) && CollectionUtils.isEmpty(dutyTerritoryList)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<SysDictItem> dutyTerritoryListTemp = dutyTerritoryList.stream().filter(sysDictItem -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(sysDictItem.getItemValue(), dutyTerritory)) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
if(CollectionUtils.isNotEmpty(dutyTerritoryListTemp)){
|
||||||
|
projectRelatedPersonnel.setFirstLevelDutyTerritory(firstLevel);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1831,4 +1831,7 @@ module.exports = {
|
|||||||
proportionWithInTheAreaOfResponsibility:'Proportion within the area of responsibility',
|
proportionWithInTheAreaOfResponsibility:'Proportion within the area of responsibility',
|
||||||
contentsearch:'Content Search',
|
contentsearch:'Content Search',
|
||||||
masterProject:'Master Project',
|
masterProject:'Master Project',
|
||||||
|
deliveryTime:'Delivery Time',
|
||||||
|
expectedDeliveryTime:'Expected Delivery Time',
|
||||||
|
changeAuthor:'Change Author',
|
||||||
}
|
}
|
||||||
@@ -1932,4 +1932,7 @@ module.exports = {
|
|||||||
proportionWithInTheAreaOfResponsibility:'责任领域内占比',
|
proportionWithInTheAreaOfResponsibility:'责任领域内占比',
|
||||||
contentsearch:'内容搜索',
|
contentsearch:'内容搜索',
|
||||||
masterProject:'主项目',
|
masterProject:'主项目',
|
||||||
|
deliveryTime:'交付时间',
|
||||||
|
expectedDeliveryTime:'预计交付时间',
|
||||||
|
changeAuthor:'更改作者',
|
||||||
}
|
}
|
||||||
+78
-12
@@ -12,9 +12,9 @@
|
|||||||
<div style="padding-top: 68px;background: #fff">
|
<div style="padding-top: 68px;background: #fff">
|
||||||
<div class="detail-content" style="padding: 30px">
|
<div class="detail-content" style="padding: 30px">
|
||||||
<div class="search-detail-wrap">
|
<div class="search-detail-wrap">
|
||||||
<a-form layout="inline" style="width: 1200px;margin: 0 auto" @keyup.enter.native="onSearch">
|
<a-form layout="inline" @keyup.enter.native="onSearch">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="10">
|
<a-col :span="6">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('searchContent')">
|
<div class="title-text" :title="$t('searchContent')">
|
||||||
<span>{{$t('searchContent')}}</span>
|
<span>{{$t('searchContent')}}</span>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
v-model="queryParam.searchStr"></a-input>
|
v-model="queryParam.searchStr"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="10">
|
<a-col :span="6">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('releaseStatus')">
|
<div class="title-text" :title="$t('releaseStatus')">
|
||||||
<span>{{$t('releaseStatus')}}</span>
|
<span>{{$t('releaseStatus')}}</span>
|
||||||
@@ -40,10 +40,29 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="6">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('displayPermission')">
|
||||||
|
<span>{{$t('displayPermission')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-select :placeholder="$t('PleaseSelect')+$t('displayPermission')"
|
||||||
|
v-model="queryParam.showPermissions">
|
||||||
|
<a-select-option v-for="(item, key) in projectNameList"
|
||||||
|
:key="key"
|
||||||
|
:value="item.value">
|
||||||
|
<span class="selectText" :title=" item.name ">
|
||||||
|
{{ item.name}}
|
||||||
|
</span>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<a-button class="box-button" @click="ResetSearch">{{$t('reset')}}
|
<a-button class="box-button" @click="ResetSearch">{{$t('reset')}}
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button class="box-button" style="margin-left: 8px" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
<a-button class="box-button" style="margin-left: 8px" type="primary" @click="onSearch">
|
||||||
|
{{$t('query')}}
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -55,7 +74,7 @@
|
|||||||
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
||||||
<div class="text-text-right">
|
<div class="text-text-right">
|
||||||
<div class="text-header" @click="titleClick(item)">
|
<div class="text-header" @click="titleClick(item)">
|
||||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
<a-tooltip placement="topLeft" overlayClassName="header-top" :mouseEnterDelay="0.5">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span v-html="item.title"></span>
|
<span v-html="item.title"></span>
|
||||||
</template>
|
</template>
|
||||||
@@ -75,6 +94,8 @@
|
|||||||
{{item.createBy}}
|
{{item.createBy}}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-text-right-text">
|
<div class="text-text-right-text">
|
||||||
|
<a style="margin-right: 10px" @click="changeAuthorClick(item)"
|
||||||
|
v-if="administrators">{{$t('changeAuthor')}}</a>
|
||||||
<a style="margin-right: 10px" @click="edit(item)"
|
<a style="margin-right: 10px" @click="edit(item)"
|
||||||
v-if="userInfoQuery.username == item.createBy || administrators">{{$t('edit')}}</a>
|
v-if="userInfoQuery.username == item.createBy || administrators">{{$t('edit')}}</a>
|
||||||
<a @click="deleteData(item)"
|
<a @click="deleteData(item)"
|
||||||
@@ -103,15 +124,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
|
<SelectedBy ref="SelectedByRef" :isSingleChoice="true"
|
||||||
|
:title="$t('changeAuthor')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
||||||
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'problemKnowledgeBaseRelease',
|
name: 'problemKnowledgeBaseRelease',
|
||||||
|
components: {
|
||||||
|
SelectedBy
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
checkboxText: [],
|
checkboxText: [],
|
||||||
@@ -129,14 +156,26 @@
|
|||||||
value: 'Have released'
|
value: 'Have released'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
projectNameList: [
|
||||||
|
{
|
||||||
|
value: 'Open',
|
||||||
|
name: this.$t('OpenOne')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Privacy',
|
||||||
|
name: this.$t('Privacy')
|
||||||
|
}
|
||||||
|
],
|
||||||
loading: false,
|
loading: false,
|
||||||
administrators: false,
|
administrators: false,
|
||||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
userInfoQuery: {},
|
userInfoQuery: {},
|
||||||
|
formInline: {},
|
||||||
url: {
|
url: {
|
||||||
getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page',
|
getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page',
|
||||||
deleteBatch: '/problemKnowledgeBase/problemKnowledgeBaseEO/deleteBatch'
|
deleteBatch: '/problemKnowledgeBase/problemKnowledgeBaseEO/deleteBatch',
|
||||||
|
edit: '/problemKnowledgeBase/problemKnowledgeBaseEO/edit'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -155,6 +194,28 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapGetters(['userInfo']),
|
...mapGetters(['userInfo']),
|
||||||
|
changeAuthorClick(item) {
|
||||||
|
this.formInline = item
|
||||||
|
this.$refs.SelectedByRef.getPush()
|
||||||
|
},
|
||||||
|
//转办接口
|
||||||
|
SelectedByForm(userIds, name) {
|
||||||
|
let query = {
|
||||||
|
createBy: name,
|
||||||
|
id: this.formInline.id
|
||||||
|
}
|
||||||
|
putAction(this.url.edit, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.$refs.SelectedByRef.visible = false
|
||||||
|
this.$refs.SelectedByRef.submitLoading = false
|
||||||
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$refs.SelectedByRef.submitLoading = false
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -252,7 +313,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@import'~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
.doc-detail {
|
.doc-detail {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@@ -328,7 +389,7 @@
|
|||||||
|
|
||||||
.text-text-right {
|
.text-text-right {
|
||||||
padding: 19px 19px;
|
padding: 19px 19px;
|
||||||
width: calc(100% - 540px);
|
width: calc(100% - 570px);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
/*margin-left: 38px;*/
|
/*margin-left: 38px;*/
|
||||||
}
|
}
|
||||||
@@ -338,7 +399,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 300px;
|
right: 330px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate-Y(-50%);
|
transform: translate-Y(-50%);
|
||||||
}
|
}
|
||||||
@@ -348,7 +409,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 420px;
|
right: 450px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate-Y(-50%);
|
transform: translate-Y(-50%);
|
||||||
}
|
}
|
||||||
@@ -358,13 +419,13 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 180px;
|
right: 210px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate-Y(-50%);
|
transform: translate-Y(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-text-right-text {
|
.text-text-right-text {
|
||||||
width: 180px;
|
width: 210px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -473,4 +534,9 @@
|
|||||||
.box-button {
|
.box-button {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.header-top .ant-tooltip-inner{
|
||||||
|
color: #333!important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="monthlyReportRegulations-box">
|
<div class="monthlyReportRegulations-box">
|
||||||
<div class="header-text">
|
<div class="header-text">
|
||||||
<div class="header-text-left">{{this.$t('monthlyReportRegulations')}}</div>
|
<div class="header-text-left">{{this.$t('problemKnowledgeBase')}}</div>
|
||||||
<div class="header-text-right" @click="moreClick">
|
<div class="header-text-right" @click="moreClick">
|
||||||
More
|
More
|
||||||
<img src="../../../assets/gengduo.png" alt="">
|
<img src="../../../assets/gengduo.png" alt="">
|
||||||
|
|||||||
@@ -846,11 +846,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.text-field-right {
|
.text-field-right {
|
||||||
width: calc(66.6% - 130px);
|
width: calc(100% - 130px);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: pre-wrap;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
float: left;
|
float: left;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="dic-list-table">
|
<div class="dic-list-table">
|
||||||
<list-table v-if="dictVal=='list'&&dataFlag" :tableData="tableData" @editDict="editDict"
|
<list-table v-if="dictVal=='list'&&dataFlag" :tableData="tableData" @editDict="editDict"
|
||||||
|
:record="record"
|
||||||
@deleteDict="deleteDict" :total="total" :queryParams="queryParams" @selected="selectedKeys"
|
@deleteDict="deleteDict" :total="total" :queryParams="queryParams" @selected="selectedKeys"
|
||||||
@ok="ok"></list-table>
|
@ok="ok"></list-table>
|
||||||
<tree-table v-if="dictVal=='tree'&&dataFlag" :tabletreeData="tabletreeData" :record="record"
|
<tree-table v-if="dictVal=='tree'&&dataFlag" :tabletreeData="tabletreeData" :record="record"
|
||||||
|
|||||||
@@ -1,30 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="list-table">
|
<div class="list-table">
|
||||||
<a-table :data-source="tableData" :scroll="{x: 900}"
|
<a-table :data-source="tableData" :scroll="{x: 900}"
|
||||||
:columns="columns" rowKey="id"
|
:columns="columns" rowKey="id"
|
||||||
:components="drag(columns,'columns')"
|
:components="drag(columns,'columns')"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
class="tag-con-table">
|
class="tag-con-table">
|
||||||
|
|
||||||
<template slot="action" slot-scope="text, record">
|
<template slot="action" slot-scope="text, record">
|
||||||
<a class="action-edit" href="javascript:;" @click="actionEdit(record)" v-has="'bqnrzdpzxlbj'">{{$t('edit')}}</a>
|
<a class="action-edit" href="javascript:;" @click="actionEdit(record)" v-has="'bqnrzdpzxlbj'">{{$t('edit')}}</a>
|
||||||
<a class="action-delete" href="javascript:;" @click="onDelete(record)" v-has="'dictItem:logicDelete'">{{$t('delete')}}</a>
|
<a class="action-delete" href="javascript:;" @click="onDelete(record)" v-has="'dictItem:logicDelete'">{{$t('delete')}}</a>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div class="page" v-if="tableData.length > 0">
|
<div class="page" v-if="tableData.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
show-quick-jumper
|
show-quick-jumper
|
||||||
show-size-changer
|
show-size-changer
|
||||||
:current="queryParams.pageNo"
|
:current="queryParams.pageNo"
|
||||||
:page-size.sync="queryParams.pageSize"
|
:page-size.sync="queryParams.pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
@change="onChangePage"
|
@change="onChangePage"
|
||||||
@showSizeChange="SizeChange"
|
@showSizeChange="SizeChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -32,115 +32,140 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'listTable',
|
name: 'listTable',
|
||||||
props:{
|
props: {
|
||||||
tableData:Array,
|
tableData: Array,
|
||||||
total:Number,
|
total: Number,
|
||||||
queryParams: Object
|
queryParams: Object,
|
||||||
|
record: Object
|
||||||
},
|
},
|
||||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
// tableData:[],
|
// tableData:[],
|
||||||
selectedRowKeys:[],
|
selectedRowKeys: [],
|
||||||
// total:0,
|
// total:0,
|
||||||
// queryParams:{
|
// queryParams:{
|
||||||
// pageNo:1,
|
// pageNo:1,
|
||||||
// pageSize:10
|
// pageSize:10
|
||||||
// }, //搜索条件
|
// }, //搜索条件
|
||||||
columns: [
|
columnsAll: [
|
||||||
{
|
{
|
||||||
title: this.$t('name'),
|
title: this.$t('name'),
|
||||||
dataIndex: 'itemText',
|
dataIndex: 'itemText',
|
||||||
key: 'itemText',
|
key: 'itemText',
|
||||||
align: "left",
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 100,
|
width: 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('enName'),
|
title: this.$t('enName'),
|
||||||
align: "left",
|
align: 'left',
|
||||||
width: 100,
|
width: 100,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'enName',
|
dataIndex: 'enName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('statisticalNodes'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'statNode',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('describe'),
|
title: this.$t('describe'),
|
||||||
align: "left",
|
align: 'left',
|
||||||
width: 100,
|
width: 100,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'description',
|
dataIndex: 'description'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
scopedSlots: {customRender: 'action'},
|
scopedSlots: { customRender: 'action' },
|
||||||
align: "left",
|
align: 'left',
|
||||||
width: 170
|
width: 170
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dataFlag:false
|
dataFlag: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.loadData()
|
// this.loadData()
|
||||||
|
console.log(this.record)
|
||||||
},
|
},
|
||||||
methods:{
|
computed: {
|
||||||
//获取列表数据
|
columns() {
|
||||||
loadData(){
|
let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
|
||||||
this.dataFlag=false
|
if (this.record.id != '1513417672023441409') {
|
||||||
let params={
|
for (let i = 0; i < columnsAll.length; i++) {
|
||||||
...this.queryParams,
|
if (columnsAll[i].dataIndex == 'statNode') {
|
||||||
dictId:this.record.id
|
columnsAll.splice(i, 1)
|
||||||
|
i--
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
getAction(`sys/dictItem/page`,params).then(res=>{
|
return columnsAll
|
||||||
if(res.success){
|
}
|
||||||
this.tableData=[...res.result.records]
|
},
|
||||||
this.dataFlag=true
|
methods: {
|
||||||
|
//获取列表数据
|
||||||
|
loadData() {
|
||||||
|
this.dataFlag = false
|
||||||
|
let params = {
|
||||||
|
...this.queryParams,
|
||||||
|
dictId: this.record.id
|
||||||
|
}
|
||||||
|
getAction(`sys/dictItem/page`, params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.tableData = [...res.result.records]
|
||||||
|
this.dataFlag = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//编辑
|
//编辑
|
||||||
actionEdit(val){
|
actionEdit(val) {
|
||||||
this.$emit('editDict',val,true)
|
this.$emit('editDict', val, true)
|
||||||
},
|
},
|
||||||
//删除
|
//删除
|
||||||
onDelete(val){
|
onDelete(val) {
|
||||||
this.$emit('deleteDict',val.id,true)
|
this.$emit('deleteDict', val.id, true)
|
||||||
},
|
},
|
||||||
onSelectChange(selectedRowKeys) {
|
onSelectChange(selectedRowKeys) {
|
||||||
this.selectedRowKeys = selectedRowKeys;
|
this.selectedRowKeys = selectedRowKeys
|
||||||
this.$emit('selected',this.selectedRowKeys)
|
this.$emit('selected', this.selectedRowKeys)
|
||||||
},
|
},
|
||||||
|
|
||||||
//点击页数
|
//点击页数
|
||||||
onChangePage(page,pageSize){
|
onChangePage(page, pageSize) {
|
||||||
this.queryParams.pageNo = page
|
this.queryParams.pageNo = page
|
||||||
this.$emit('ok',this.queryParams)
|
this.$emit('ok', this.queryParams)
|
||||||
// this.loadData()
|
// this.loadData()
|
||||||
},
|
},
|
||||||
//一页显示条数
|
//一页显示条数
|
||||||
SizeChange(page,pageSize){
|
SizeChange(page, pageSize) {
|
||||||
this.queryParams.pageSize = pageSize
|
this.queryParams.pageSize = pageSize
|
||||||
this.queryParams.pageNo=1
|
this.queryParams.pageNo = 1
|
||||||
this.$emit('ok',this.queryParams)
|
this.$emit('ok', this.queryParams)
|
||||||
|
|
||||||
// this.loadData()
|
// this.loadData()
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.list-table{
|
.list-table {
|
||||||
.tag-con-table{
|
.tag-con-table {
|
||||||
.action-edit{
|
.action-edit {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
.action-delete{
|
|
||||||
color:red;
|
.action-delete {
|
||||||
|
color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.page{
|
|
||||||
|
.page {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,6 +270,9 @@
|
|||||||
this.textColor(this.$t('projectDetails'))
|
this.textColor(this.$t('projectDetails'))
|
||||||
this.textTitle = this.$t('projectDetails')
|
this.textTitle = this.$t('projectDetails')
|
||||||
} else if (this.$route.query.type == '102') {
|
} else if (this.$route.query.type == '102') {
|
||||||
|
if (this.$route.query.dutyTerritoryName){
|
||||||
|
this.areaOfResponsibilityList = this.$route.query
|
||||||
|
}
|
||||||
this.textColor(this.$t('listOfRegulations'))
|
this.textColor(this.$t('listOfRegulations'))
|
||||||
this.textTitle = this.$t('listOfRegulations')
|
this.textTitle = this.$t('listOfRegulations')
|
||||||
} else if (this.$route.query.type == '103') {
|
} else if (this.$route.query.type == '103') {
|
||||||
@@ -285,6 +288,9 @@
|
|||||||
this.textColor(this.$t('TaskParameterCollection'))
|
this.textColor(this.$t('TaskParameterCollection'))
|
||||||
this.textTitle = this.$t('TaskParameterCollection')
|
this.textTitle = this.$t('TaskParameterCollection')
|
||||||
} else if (this.$route.query.type == '106') {
|
} else if (this.$route.query.type == '106') {
|
||||||
|
if (this.$route.query.dutyTerritoryName){
|
||||||
|
this.areaOfResponsibility = this.$route.query
|
||||||
|
}
|
||||||
this.textColor(this.$t('certificationList'))
|
this.textColor(this.$t('certificationList'))
|
||||||
this.textTitle = this.$t('certificationList')
|
this.textTitle = this.$t('certificationList')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -310,7 +310,7 @@
|
|||||||
myChart.on('click', (params) => {
|
myChart.on('click', (params) => {
|
||||||
console.log(params)
|
console.log(params)
|
||||||
let query = {
|
let query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName+'-'+params.name,
|
||||||
projectLibraryId: this.$route.query.id
|
projectLibraryId: this.$route.query.id
|
||||||
}
|
}
|
||||||
if (params.seriesName === this.$t('certificationTaskConfirmation')) {
|
if (params.seriesName === this.$t('certificationTaskConfirmation')) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<a-drawer
|
||||||
:title="$t('Add')"
|
:title="$t('add')"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
:width="1000"
|
:width="1000"
|
||||||
placement="right"
|
placement="right"
|
||||||
|
|||||||
@@ -295,6 +295,13 @@
|
|||||||
visible: false,
|
visible: false,
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
columnsAll: [
|
columnsAll: [
|
||||||
|
{
|
||||||
|
title: this.$t('statisticalNodes'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'firstLevelDutyTerritory',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('areaOfResponsibility'),
|
title: this.$t('areaOfResponsibility'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
|||||||
@@ -150,21 +150,21 @@
|
|||||||
let query = {}
|
let query = {}
|
||||||
if (params.seriesName == this.$t('regulatoryTaskConfirmation')) {
|
if (params.seriesName == this.$t('regulatoryTaskConfirmation')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName+'-'+params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.$route.query.id,
|
||||||
operatorType: 'queryFGTaskToConfirmStatistics',
|
operatorType: 'queryFGTaskToConfirmStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
}
|
}
|
||||||
} else if (params.seriesName == this.$t('designCompliance')) {
|
} else if (params.seriesName == this.$t('designCompliance')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName+'-'+params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.$route.query.id,
|
||||||
operatorType: 'queryDesignStatistics',
|
operatorType: 'queryDesignStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
}
|
}
|
||||||
} else if (params.seriesName == this.$t('verifyCompliance')) {
|
} else if (params.seriesName == this.$t('verifyCompliance')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName+'-'+params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.$route.query.id,
|
||||||
operatorType: 'queryVerifyStatistics',
|
operatorType: 'queryVerifyStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
|
|||||||
+175
@@ -0,0 +1,175 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
:title="title"
|
||||||
|
:width="800"
|
||||||
|
:visible="visible"
|
||||||
|
:confirm-loading="confirmLoading"
|
||||||
|
:maskClosable="false"
|
||||||
|
@cancel="visible = false"
|
||||||
|
>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button key="back" @click="visible = false">
|
||||||
|
{{$t('cancel')}}
|
||||||
|
</a-button>
|
||||||
|
</template>
|
||||||
|
<!-- <div style="text-align: right;margin-bottom: 10px">-->
|
||||||
|
<!-- <div @click="handleExport" class="operator-text">-->
|
||||||
|
<!-- <a-icon type="export" :rotate="-90"/>-->
|
||||||
|
<!-- {{$t('export')}}-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<a-table
|
||||||
|
ref="table"
|
||||||
|
:components="drag(columns,'columns')"
|
||||||
|
:loading="loading"
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{x: '100%',y:400}"
|
||||||
|
:data-source="dataSource"
|
||||||
|
@change="tableOnChange"
|
||||||
|
:columns="columns"
|
||||||
|
>
|
||||||
|
<!-- -->
|
||||||
|
<a slot="areaOfResponsibility" @click="areaOfResponsibilityClick(result)" slot-scope="text,result">
|
||||||
|
{{text}}
|
||||||
|
</a>
|
||||||
|
</a-table>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||||
|
import moment from 'moment'
|
||||||
|
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'responsibilityList',
|
||||||
|
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
title: '',
|
||||||
|
confirmLoading: false,
|
||||||
|
loading: false,
|
||||||
|
dataSource: [],
|
||||||
|
queryParam: {},
|
||||||
|
projectInfo: {},
|
||||||
|
url: {
|
||||||
|
groupByTerritoryXls: '/project/projectLibraryBase/exportProjectDetailsStatisticsGroupByTerritoryXls',
|
||||||
|
GroupByTerritory: '/project/projectLibraryBase/getProjectDetailsStatisticsGroupByTerritory'
|
||||||
|
},
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: this.$t('areaOfResponsibility'),
|
||||||
|
dataIndex: 'dutyTerritoryName',
|
||||||
|
align: 'left',
|
||||||
|
width: 150,
|
||||||
|
ellipsis: true,
|
||||||
|
sorter: true,
|
||||||
|
scopedSlots: { customRender: 'areaOfResponsibility' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('Quantity'),
|
||||||
|
dataIndex: 'amount',
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 150,
|
||||||
|
sorter: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('proportionWithInTheAreaOfResponsibility'),
|
||||||
|
dataIndex: 'percentage',
|
||||||
|
align: 'left',
|
||||||
|
ellipsis: true,
|
||||||
|
width: 240,
|
||||||
|
sorter: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getData(data, projectInfo) {
|
||||||
|
this.visible = true
|
||||||
|
this.projectInfo = projectInfo
|
||||||
|
this.title = data.title
|
||||||
|
this.queryParam = data
|
||||||
|
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 if (sorter.columnKey == 'designDeliverableTypeName') {
|
||||||
|
this.orderByField = 'designDeliverableType'
|
||||||
|
} else if (sorter.columnKey == 'verifyDeliverableTypeName') {
|
||||||
|
this.orderByField = 'verifyDeliverableType'
|
||||||
|
} else if (sorter.columnKey == 'designDutyIdName') {
|
||||||
|
this.orderByField = 'designDutyId'
|
||||||
|
} else if (sorter.columnKey == 'verifyDutyIdName') {
|
||||||
|
this.orderByField = 'verifyDutyId'
|
||||||
|
} else if (sorter.columnKey == 'verifyFlowStatusName') {
|
||||||
|
this.orderByField = 'verifyFlowStatus'
|
||||||
|
} else if (sorter.columnKey == 'designFlowStatusName') {
|
||||||
|
this.orderByField = 'designFlowStatus'
|
||||||
|
} else {
|
||||||
|
this.orderByField = sorter.columnKey
|
||||||
|
}
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
this.loading = true
|
||||||
|
let query = {
|
||||||
|
...this.queryParam,
|
||||||
|
orderBy: this.orderBy,
|
||||||
|
orderByField: this.orderByField
|
||||||
|
}
|
||||||
|
getAction(this.url.GroupByTerritory, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.loading = false
|
||||||
|
this.dataSource = res.result.dataList || []
|
||||||
|
} else {
|
||||||
|
this.loading = false
|
||||||
|
this.dataSource = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleExport() {
|
||||||
|
downloadFile(this.url.groupByTerritoryXls, this.title + '.xls', this.queryParam)
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
areaOfResponsibilityClick(item) {
|
||||||
|
let type = ''
|
||||||
|
if (this.queryParam.operatorType == 'queryFGTaskToConfirmStatistics' ||
|
||||||
|
this.queryParam.operatorType == 'queryDesignStatistics' ||
|
||||||
|
this.queryParam.operatorType == 'queryVerifyStatistics') {
|
||||||
|
type = '102'
|
||||||
|
} else {
|
||||||
|
type = '106'
|
||||||
|
}
|
||||||
|
let query = {
|
||||||
|
id: this.projectInfo.id,
|
||||||
|
projectName: this.projectInfo.projectName,
|
||||||
|
projectNameId: this.projectInfo.projectNameId,
|
||||||
|
targetMarket: this.projectInfo.targetMarket,
|
||||||
|
studioEngineer: this.projectInfo.studioEngineer,
|
||||||
|
type: type,
|
||||||
|
dutyTerritoryName: item.dutyTerritoryName
|
||||||
|
}
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/ProjectDetails',
|
||||||
|
query: query
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
+136
-169
@@ -1,108 +1,116 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<div>
|
||||||
:title="title"
|
<a-drawer
|
||||||
:maskClosable="false"
|
:title="title"
|
||||||
:width="1000"
|
:maskClosable="false"
|
||||||
placement="right"
|
:width="1000"
|
||||||
:closable="true"
|
placement="right"
|
||||||
@close="handleCancel"
|
:closable="true"
|
||||||
:visible="visible"
|
@close="handleCancel"
|
||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
:visible="visible"
|
||||||
<a-spin :spinning="confirmLoading">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
<div class="box-content" v-if="visible">
|
<a-spin :spinning="confirmLoading">
|
||||||
<div class="box-content-top"
|
<div class="box-content" v-if="visible">
|
||||||
v-if="projectQuery.name == this.$t('listPublishing') || projectQuery.name == this.$t('responsibilityConfirmation')">
|
<div class="box-content-top"
|
||||||
<div class="total-text">
|
v-if="projectQuery.name == this.$t('listPublishing') || projectQuery.name == this.$t('responsibilityConfirmation')">
|
||||||
<span>{{$t('totalTable')+' : '+mainTopNum}}</span>
|
<div class="total-text">
|
||||||
|
<span>{{$t('totalTable')+' : '+mainTopNum}}</span>
|
||||||
|
</div>
|
||||||
|
<div id="main-top"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main-top"></div>
|
<div class="box-content-top" v-if="projectQuery.name == this.$t('designVerification')">
|
||||||
</div>
|
<div class="total-text">
|
||||||
<div class="box-content-top" v-if="projectQuery.name == this.$t('designVerification')">
|
<span>{{$t('totalTable')+' : '+mainLeftNum}}</span>
|
||||||
<div class="total-text">
|
</div>
|
||||||
<span>{{$t('totalTable')+' : '+mainLeftNum}}</span>
|
<div id="main-left"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main-left"></div>
|
<div class="box-content-top" v-if="projectQuery.name == this.$t('verificationAndVerification')">
|
||||||
</div>
|
<div class="total-text">
|
||||||
<div class="box-content-top" v-if="projectQuery.name == this.$t('verificationAndVerification')">
|
<span>{{$t('totalTable')+' : '+mainRightNum}}</span>
|
||||||
<div class="total-text">
|
</div>
|
||||||
<span>{{$t('totalTable')+' : '+mainRightNum}}</span>
|
<div id="main-right"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main-right"></div>
|
<div class="box-content-top"
|
||||||
</div>
|
v-if="projectQuery.name == this.$t('listPublishing') || projectQuery.name == this.$t('responsibilityConfirmation')">
|
||||||
<div class="box-content-top"
|
<div class="total-text">
|
||||||
v-if="projectQuery.name == this.$t('listPublishing') || projectQuery.name == this.$t('responsibilityConfirmation')">
|
<span>{{$t('totalTable')+' : '+mainTopNumOne}}</span>
|
||||||
<div class="total-text">
|
</div>
|
||||||
<span>{{$t('totalTable')+' : '+mainTopNumOne}}</span>
|
<div id="main-top-one"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main-top-one"></div>
|
<div class="box-content-top"
|
||||||
</div>
|
v-if="projectQuery.name == this.$t('getStarted') || projectQuery.name == this.$t('certificationStartOne')">
|
||||||
<div class="box-content-top"
|
<div class="total-text">
|
||||||
v-if="projectQuery.name == this.$t('getStarted') || projectQuery.name == this.$t('certificationStartOne')">
|
<span>{{$t('totalTable')+' : '+mainLeftNumOne}}</span>
|
||||||
<div class="total-text">
|
</div>
|
||||||
<span>{{$t('totalTable')+' : '+mainLeftNumOne}}</span>
|
<div id="main-right-one"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="main-right-one"></div>
|
<div class="box-content-top"
|
||||||
</div>
|
v-if="projectQuery.name == this.$t('certificationEnd') || projectQuery.name == this.$t('certificationSubmission')">
|
||||||
<div class="box-content-top"
|
<div class="total-text-text" :class="{'total-text-text-cntop':long == 'zh-cn' ? true:false,
|
||||||
v-if="projectQuery.name == this.$t('certificationEnd') || projectQuery.name == this.$t('certificationSubmission')">
|
|
||||||
<div class="total-text-text" :class="{'total-text-text-cntop':long == 'zh-cn' ? true:false,
|
|
||||||
'total-text-text-entop':long == 'zh-cn' ? false:true}">
|
'total-text-text-entop':long == 'zh-cn' ? false:true}">
|
||||||
<span>{{$t('totalTable')+' : '+mainBottomNum}}</span>
|
<span>{{$t('totalTable')+' : '+mainBottomNum}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="box-content-text">
|
||||||
|
<div class="box-content-text-text" @click="boxContentClick(0)">
|
||||||
|
{{$t('whole')}}
|
||||||
|
</div>
|
||||||
|
<div class="box-content-text-text" @click="boxContentClick(1)">
|
||||||
|
{{$t('completeVehicle')}}
|
||||||
|
</div>
|
||||||
|
<div class="box-content-text-text" @click="boxContentClick(2)">
|
||||||
|
{{$t('components')}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="main-bottom"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-text">
|
<div class="table-page-search-wrapper"
|
||||||
<div class="box-content-text-text" @click="boxContentClick(0)">
|
v-if="this.projectQuery.name == this.$t('getStarted') || this.projectQuery.name == this.$t('certificationStartOne')">
|
||||||
{{$t('whole')}}
|
<a-form layout="inline">
|
||||||
</div>
|
<a-row :gutter="24">
|
||||||
<div class="box-content-text-text" @click="boxContentClick(1)">
|
<a-col :md="12" :sm="10">
|
||||||
{{$t('completeVehicle')}}
|
<div class="box-title-text">
|
||||||
</div>
|
<div class="title-text" :title="$t('Statisticalmodels')">
|
||||||
<div class="box-content-text-text" @click="boxContentClick(2)">
|
<span>{{ $t('Statisticalmodels') }}</span>
|
||||||
{{$t('components')}}
|
</div>
|
||||||
</div>
|
<a-radio-group class="box-input"
|
||||||
</div>
|
v-model="queryParam.value" @change="onChange">
|
||||||
<div id="main-bottom"></div>
|
<a-radio :value="1">
|
||||||
</div>
|
{{$t('Thepercentage')}}
|
||||||
<div class="table-page-search-wrapper"
|
</a-radio>
|
||||||
v-if="this.projectQuery.name == this.$t('getStarted') || this.projectQuery.name == this.$t('certificationStartOne')">
|
<a-radio :value="2">
|
||||||
<a-form layout="inline">
|
{{$t('Quantity')}}
|
||||||
<a-row :gutter="24">
|
</a-radio>
|
||||||
<a-col :md="12" :sm="10">
|
</a-radio-group>
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text" :title="$t('Statisticalmodels')">
|
|
||||||
<span>{{ $t('Statisticalmodels') }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<a-radio-group class="box-input"
|
</a-col>
|
||||||
v-model="queryParam.value" @change="onChange">
|
</a-row>
|
||||||
<a-radio :value="1">
|
</a-form>
|
||||||
{{$t('Thepercentage')}}
|
</div>
|
||||||
</a-radio>
|
<div class="box-content-top-one"
|
||||||
<a-radio :value="2">
|
v-if="this.projectQuery.name == this.$t('getStarted') || this.projectQuery.name == this.$t('certificationStartOne')">
|
||||||
{{$t('Quantity')}}
|
<div id="main-left-parameter"></div>
|
||||||
</a-radio>
|
</div>
|
||||||
</a-radio-group>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
|
||||||
</a-form>
|
|
||||||
</div>
|
|
||||||
<div class="box-content-top-one"
|
|
||||||
v-if="this.projectQuery.name == this.$t('getStarted') || this.projectQuery.name == this.$t('certificationStartOne')">
|
|
||||||
<div id="main-left-parameter"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</a-spin>
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-spin>
|
</a-drawer>
|
||||||
<div class="drawer-bootom-button">
|
<responsibilityList ref="responsibilityListRef"/>
|
||||||
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
</div>
|
||||||
</div>
|
|
||||||
</a-drawer>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
|
import responsibilityList from './responsibilityList'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'statistics',
|
name: 'statistics',
|
||||||
|
components: {
|
||||||
|
responsibilityList
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -138,6 +146,7 @@
|
|||||||
submitquantity: [],
|
submitquantity: [],
|
||||||
syncReportpercentage: [],
|
syncReportpercentage: [],
|
||||||
syncReportquantity: [],
|
syncReportquantity: [],
|
||||||
|
projectInfo:{},
|
||||||
long: localStorage.getItem('language') || 'zh-cn',
|
long: localStorage.getItem('language') || 'zh-cn',
|
||||||
certificationProgressMap: {},
|
certificationProgressMap: {},
|
||||||
url: {
|
url: {
|
||||||
@@ -150,8 +159,9 @@
|
|||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
getData(val) {
|
getData(val,projectInfo) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
this.projectInfo = projectInfo
|
||||||
this.title = val.name
|
this.title = val.name
|
||||||
this.projectQuery = val
|
this.projectQuery = val
|
||||||
this.getEchart()
|
this.getEchart()
|
||||||
@@ -201,7 +211,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
getEcharts(chart, title, color, data) {
|
getEcharts(chart, title, color, data) {
|
||||||
var myChart = echarts.init(document.getElementById(chart))
|
let myChart = echarts.init(document.getElementById(chart))
|
||||||
myChart.setOption({
|
myChart.setOption({
|
||||||
title: {
|
title: {
|
||||||
text: title
|
text: title
|
||||||
@@ -245,31 +255,59 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
myChart.off('click') // 重点代码
|
||||||
myChart.on('click', (params) => {
|
myChart.on('click', (params) => {
|
||||||
let query = {}
|
let query = {}
|
||||||
if (params.seriesName == this.$t('regulatoryTaskConfirmation')) {
|
if (params.seriesName == this.$t('regulatoryTaskConfirmation')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName + '-' + params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
operatorType: 'queryFGTaskToConfirmStatistics',
|
operatorType: 'queryFGTaskToConfirmStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
}
|
}
|
||||||
} else if (params.seriesName == this.$t('designCompliance')) {
|
} else if (params.seriesName == this.$t('designCompliance')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName + '-' + params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
operatorType: 'queryDesignStatistics',
|
operatorType: 'queryDesignStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
}
|
}
|
||||||
} else if (params.seriesName == this.$t('verifyCompliance')) {
|
} else if (params.seriesName == this.$t('verifyCompliance')) {
|
||||||
query = {
|
query = {
|
||||||
title: params.seriesName,
|
title: params.seriesName + '-' + params.name,
|
||||||
projectLibraryId: this.$route.query.id,
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
operatorType: 'queryVerifyStatistics',
|
operatorType: 'queryVerifyStatistics',
|
||||||
status: params.data.status
|
status: params.data.status
|
||||||
}
|
}
|
||||||
|
} else if (params.seriesName === this.$t('certificationTaskConfirmation')) {
|
||||||
|
query = {
|
||||||
|
title: params.seriesName + '-' + params.name,
|
||||||
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
|
operatorType: 'queryRZTaskToConfirmStatistics',
|
||||||
|
status: params.data.status
|
||||||
|
}
|
||||||
|
} else if (params.seriesName === this.$t('preHomoFlow')) {
|
||||||
|
query = {
|
||||||
|
title: params.seriesName + '-' + params.name,
|
||||||
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
|
operatorType: 'queryPrehomoStatistics',
|
||||||
|
status: params.data.status
|
||||||
|
}
|
||||||
|
} else if (params.seriesName === this.$t('CertificationProgress')) {
|
||||||
|
query = {
|
||||||
|
title: params.seriesName + '-' + params.name,
|
||||||
|
projectLibraryId: this.projectQuery.projectId,
|
||||||
|
status: params.data.status
|
||||||
|
}
|
||||||
|
if (this.num == '0') {
|
||||||
|
query.operatorType = 'queryCertificationProgressStatisticsAll'
|
||||||
|
} else if (this.num == '1') {
|
||||||
|
query.operatorType = 'queryCertificationProgressStatisticsCar'
|
||||||
|
} else if (this.num == '2') {
|
||||||
|
query.operatorType = 'queryCertificationProgressStatisticsPart'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.$refs.responsibilityListRef.getData(query)
|
this.$refs.responsibilityListRef.getData(query,this.projectInfo)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -500,7 +538,7 @@
|
|||||||
this.mainLeftNumOne += res.taskAffirmStatusCount
|
this.mainLeftNumOne += res.taskAffirmStatusCount
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.getEchartsOne('main-right-one', this.$t('preHomoFlow'), color, data)
|
this.getEcharts('main-right-one', this.$t('preHomoFlow'), color, data)
|
||||||
},
|
},
|
||||||
|
|
||||||
mainBottomEcharts(dataSource) {
|
mainBottomEcharts(dataSource) {
|
||||||
@@ -569,79 +607,7 @@
|
|||||||
this.mainBottomNum += res.certificationProgressCount
|
this.mainBottomNum += res.certificationProgressCount
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.getEchartsOne('main-bottom', this.$t('CertificationProgress'), color, data)
|
this.getEcharts('main-bottom', this.$t('CertificationProgress'), color, data)
|
||||||
},
|
|
||||||
|
|
||||||
getEchartsOne(chart, title, color, data) {
|
|
||||||
var myChart = echarts.init(document.getElementById(chart))
|
|
||||||
myChart.setOption({
|
|
||||||
title: {
|
|
||||||
text: title
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
textStyle: {
|
|
||||||
fontWeight: 'normal',
|
|
||||||
fontSize: 14,
|
|
||||||
color: '#040B29',
|
|
||||||
fontFamily: 'BlueSkyNoto'
|
|
||||||
},
|
|
||||||
formatter: function(parms) {
|
|
||||||
let str = parms.marker + ' ' + parms.data.name + ' ' + parms.data.value + ' (' + parms.percent + '%)'
|
|
||||||
return str
|
|
||||||
}
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
itemWidth: 12,
|
|
||||||
itemHeight: 12,
|
|
||||||
bottom: '0',
|
|
||||||
left: 'center',
|
|
||||||
itemGap: 30,
|
|
||||||
icon: 'circle'
|
|
||||||
},
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: title,
|
|
||||||
type: 'pie',
|
|
||||||
radius: ['40%', '54%'],
|
|
||||||
avoidLabelOverlap: false,
|
|
||||||
label: {
|
|
||||||
show: false,
|
|
||||||
position: 'center'
|
|
||||||
},
|
|
||||||
labelLine: {
|
|
||||||
show: false
|
|
||||||
},
|
|
||||||
color: color,
|
|
||||||
data: data
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
myChart.off('click') // 重点代码
|
|
||||||
myChart.on('click', (params) => {
|
|
||||||
console.log(params)
|
|
||||||
let query = {
|
|
||||||
title: params.seriesName,
|
|
||||||
projectLibraryId: this.$route.query.id
|
|
||||||
}
|
|
||||||
if (params.seriesName === this.$t('certificationTaskConfirmation')) {
|
|
||||||
query.operatorType = 'queryRZTaskToConfirmStatistics'
|
|
||||||
query.status = params.data.status
|
|
||||||
} else if (params.seriesName === this.$t('preHomoFlow')) {
|
|
||||||
query.operatorType = 'queryPrehomoStatistics'
|
|
||||||
query.status = params.data.status
|
|
||||||
} else if (params.seriesName === this.$t('CertificationProgress')) {
|
|
||||||
if (this.num == '0') {
|
|
||||||
query.operatorType = 'queryCertificationProgressStatisticsAll'
|
|
||||||
} else if (this.num == '1') {
|
|
||||||
query.operatorType = 'queryCertificationProgressStatisticsCar'
|
|
||||||
} else if (this.num == '2') {
|
|
||||||
query.operatorType = 'queryCertificationProgressStatisticsPart'
|
|
||||||
}
|
|
||||||
query.status = params.data.status
|
|
||||||
}
|
|
||||||
this.$refs.responsibilityListRef.getData(query)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
boxContentClick(num) {
|
boxContentClick(num) {
|
||||||
@@ -1034,6 +1000,7 @@
|
|||||||
.total-text-text-entop {
|
.total-text-text-entop {
|
||||||
right: 290px;
|
right: 290px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -92,6 +92,9 @@
|
|||||||
<div style="overflow:visible;">
|
<div style="overflow:visible;">
|
||||||
<div class="box-top-content-left">
|
<div class="box-top-content-left">
|
||||||
<div class="box-top-content-left-text"
|
<div class="box-top-content-left-text"
|
||||||
|
:class="{'box-top-content-left-text-projectStatus':
|
||||||
|
item.projectInfo.projectStatus == '4786d0f0d230454e99a9fce15579eabf' ||
|
||||||
|
item.projectInfo.projectStatus == 'f737d063de754f2ab1bf51cd4118d04a'?true:false}"
|
||||||
v-for="(item,index) in timeData" :key="index">
|
v-for="(item,index) in timeData" :key="index">
|
||||||
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
@@ -135,19 +138,23 @@
|
|||||||
v-if="!val.g"
|
v-if="!val.g"
|
||||||
v-for="(val,indexTwo) in item.data[0]">
|
v-for="(val,indexTwo) in item.data[0]">
|
||||||
<!-- <div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}</div>-->
|
<!-- <div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}</div>-->
|
||||||
<div @click="statusClick(val)" class="process-content-right-button" :title="val.name">{{ val.name }}
|
<div @click="statusClick(val,item.projectInfo)" class="process-content-right-button"
|
||||||
|
:title="val.name">{{ val.name }}
|
||||||
</div>
|
</div>
|
||||||
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span>{{ val.time.slice(0, 11) }}</span>
|
<span>{{ val.time.slice(0, 11) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<img @click="statusClick(val)" v-if="val.status == 1" src="../../../assets/huiBottom.png"
|
<img @click="statusClick(val,item.projectInfo)" v-if="val.status == 1"
|
||||||
|
src="../../../assets/huiBottom.png"
|
||||||
class="process-content-left"
|
class="process-content-left"
|
||||||
alt="">
|
alt="">
|
||||||
<img @click="statusClick(val)" v-else-if="val.status == 2" src="../../../assets/kongBottom.png"
|
<img @click="statusClick(val,item.projectInfo)" v-else-if="val.status == 2"
|
||||||
|
src="../../../assets/kongBottom.png"
|
||||||
class="process-content-left"
|
class="process-content-left"
|
||||||
alt="">
|
alt="">
|
||||||
<img @click="statusClick(val)" v-else-if="val.status == 3" src="../../../assets/shiBottom.png"
|
<img @click="statusClick(val,item.projectInfo)" v-else-if="val.status == 3"
|
||||||
|
src="../../../assets/shiBottom.png"
|
||||||
class="process-content-left"
|
class="process-content-left"
|
||||||
alt="">
|
alt="">
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
@@ -601,8 +608,8 @@
|
|||||||
downloadFile('/project/ProjectStatusBoardController/exportXls',
|
downloadFile('/project/ProjectStatusBoardController/exportXls',
|
||||||
this.$t('GRPSystemProjectProgressStatistics') + '.xls', query, this.Deselect)
|
this.$t('GRPSystemProjectProgressStatistics') + '.xls', query, this.Deselect)
|
||||||
},
|
},
|
||||||
statusClick(val) {
|
statusClick(val, projectInfo) {
|
||||||
this.$refs.statisticsRef.getData(val)
|
this.$refs.statisticsRef.getData(val, projectInfo)
|
||||||
},
|
},
|
||||||
boxContentClick(num) {
|
boxContentClick(num) {
|
||||||
let boxContentTextColor = document.getElementsByClassName('box-header-text-color')
|
let boxContentTextColor = document.getElementsByClassName('box-header-text-color')
|
||||||
@@ -1024,4 +1031,7 @@
|
|||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.box-top-content-left-text-projectStatus{
|
||||||
|
color: #9C9FAC;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
+48
-1
@@ -2,7 +2,8 @@
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="box-text">
|
<div class="box-text">
|
||||||
<div class="header-text">
|
<div class="header-text">
|
||||||
{{query.TaskKey == 'zrrqr' || query.TaskKey == 'dezrrqr' || query.TaskKey == 'zrrtjjfw' || query.TaskKey == 'dezrrtjjfw'
|
{{query.TaskKey == 'zrrqr' || query.TaskKey == 'dezrrqr' || query.TaskKey == 'zrrtjjfw' || query.TaskKey ==
|
||||||
|
'dezrrtjjfw'
|
||||||
? $t('personLiableConfirm'):$t('sponsorReview')}}
|
? $t('personLiableConfirm'):$t('sponsorReview')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -58,6 +59,26 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<a-row :gutter="24" v-if="isDeliveryTime">
|
||||||
|
<a-col :span="24">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="Required">*</span>
|
||||||
|
<span class="title-text-text" :title="$t('expectedDeliveryTime')">{{$t('expectedDeliveryTime')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel" :prop="'deliveryTime'">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('expectedDeliveryTime')"
|
||||||
|
@change="dateChange({db_field_name:'deliveryTime'})"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
v-model="formInline.deliveryTime"
|
||||||
|
style="width: 100%"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
@@ -105,6 +126,7 @@
|
|||||||
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
||||||
import uploadFile from '@/components/uploadFile/file'
|
import uploadFile from '@/components/uploadFile/file'
|
||||||
import SelectedBy from '@/components/SelectedBy/index'
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'reviewedByThePersonInCharge',
|
name: 'reviewedByThePersonInCharge',
|
||||||
@@ -117,6 +139,7 @@
|
|||||||
return {
|
return {
|
||||||
formInline: {},
|
formInline: {},
|
||||||
isPersonnel: false,
|
isPersonnel: false,
|
||||||
|
isDeliveryTime: false,
|
||||||
reviewResult: {
|
reviewResult: {
|
||||||
'launch': this.$t('Launch'),
|
'launch': this.$t('Launch'),
|
||||||
'Compliance': this.$t('accord'),
|
'Compliance': this.$t('accord'),
|
||||||
@@ -135,6 +158,13 @@
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
deliveryTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('expectedDeliveryTime') + this.$t('cannotEmpty'),
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
|
],
|
||||||
approvalOpinion: [
|
approvalOpinion: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
@@ -188,6 +218,11 @@
|
|||||||
submit(callBack) {
|
submit(callBack) {
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$refs.ruleForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
if (this.formInline.disposeResult == 'To be tracked') {
|
||||||
|
if (this.query.TaskKey == 'zrrtjjfw' || this.query.TaskKey == 'dezrrtjjfw') {
|
||||||
|
this.formInline.approvalOpinion = this.formInline.approvalOpinion + ';' + this.$t('expectedDeliveryTime') + ':' + this.formInline.deliveryTime
|
||||||
|
}
|
||||||
|
}
|
||||||
callBack(this.formInline)
|
callBack(this.formInline)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -202,10 +237,18 @@
|
|||||||
} else {
|
} else {
|
||||||
this.$refs.SelectedByRef.visible = false
|
this.$refs.SelectedByRef.visible = false
|
||||||
this.isPersonnel = false
|
this.isPersonnel = false
|
||||||
|
this.isDeliveryTime = false
|
||||||
this.formInline.secondChargePersonUserId = ''
|
this.formInline.secondChargePersonUserId = ''
|
||||||
this.formInline.dezrrSubmitUserName = ''
|
this.formInline.dezrrSubmitUserName = ''
|
||||||
this.formInline.dezrrSubmitUserId = ''
|
this.formInline.dezrrSubmitUserId = ''
|
||||||
}
|
}
|
||||||
|
if (value.target.value == 'To be tracked') {
|
||||||
|
this.isDeliveryTime = true
|
||||||
|
} else {
|
||||||
|
this.isDeliveryTime = false
|
||||||
|
this.formInline.deliveryTime = ''
|
||||||
|
}
|
||||||
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
//转办接口
|
//转办接口
|
||||||
SelectedByForm(userIds, name) {
|
SelectedByForm(userIds, name) {
|
||||||
@@ -248,6 +291,10 @@
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.ruleForm.validateField([this.uploadName])
|
this.$refs.ruleForm.validateField([this.uploadName])
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
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') : ''
|
||||||
|
this.formInline = { ...this.formInline }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user