合并分支 'dev_third_stage' 到 'master'

Dev third stage

查看合并请求 laws-nio/laws-weilai!54
This commit is contained in:
肖文钰
2022-07-07 15:52:32 +08:00
16 changed files with 1149 additions and 92 deletions
@@ -11,31 +11,34 @@
<div class="text-text-right"
:class="{ 'null-input':item.checked }">
<div class="text-header" @click="titleClick(item)">
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5" >
<template slot="title">
<span v-html="item.module_type"></span>
</template>
<span v-html="item.module_type"></span>
</a-tooltip>
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<span style="cursor: pointer" v-html="item.module_type"></span>
<template slot="title">
<span v-html="item.serial_number"></span>
</template>
<span style="cursor: pointer"
v-html="item.serial_number"></span>
</a-tooltip>
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
v-html="item.serial_number"></span>
<template slot="title">
<span v-html="item.title"></span>
</template>
<span style="cursor: pointer" v-html="item.title"></span>
</a-tooltip>
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.file_name"></span>
</template>
<span style="cursor: pointer" v-html="item.file_name"></span>
</a-tooltip>
<!-- <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">-->
<!-- </a-tooltip>-->
<!-- <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">-->
<!-- </a-tooltip>-->
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
</a-tooltip>
</div>
<a-tooltip placement="topLeft" v-if="!queryParam.selectValue" :mouseEnterDelay="0.5">
<template slot="title">
@@ -262,7 +265,7 @@
font-weight: bold;
color: #040B29;
display: inline-block;
max-width: 200px;
max-width: 500px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
@@ -131,6 +131,7 @@ export default {
this.title = '编辑'
this.$nextTick(() => {
this.formInline = value
this.$refs['ruleForm'].clearValidate()
})
},
handleCancel() {
@@ -38,11 +38,19 @@
<span>{{$t('configure')}}</span>
</div>
<a-form-model-item class="itemModel" prop="configIds">
<j-multi-select-tag class="box-input" v-model="formInline.configIds"
:options="dictOptions"
:placeholder="$t('PleaseSelect')+$t('configure')"
:type="'select'"
:triggerChange="false" :dictCode="'cert_category'"/>
<!-- <j-multi-select-tag class="box-input" v-model="formInline.configIds"-->
<!-- :options="dictOptions"-->
<!-- :placeholder="$t('PleaseSelect')+$t('configure')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false"/>-->
<a-select v-model="formInline.configIds" class="box-input" mode='multiple' :placeholder="$t('PleaseSelect')+$t('configure')">
<a-select-option
v-for="mode in dictOptions"
:key="mode.value"
:value="mode.value">
{{ mode.label }}
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
@@ -75,10 +83,9 @@
<span class="title-text-text"
:title="$t('MergeSeparator')">{{$t('MergeSeparator')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="this.disabled == true?'separator':''">
<a-form-model-item class="itemModel" :prop="required?'separator':''">
<!-- :disabled="disabled"-->
<a-input class="box-input"
v-model="formInline.separator"
:placeholder="$t('PleaseEnter')+$t('MergeSeparator')"/>
</a-form-model-item>
@@ -122,7 +129,6 @@ export default {
rules: {
separator:[
{ required: true, message: this.$t('PleaseEnter')+this.$t('MergeSeparator'), trigger: 'change' },
// { min:1, max: 50, message: this.$t('cantExeed')+'50'+this.$t('MergeSeparator'), trigger: 'blur' },
],
certCategory:[
{ required: true, message: this.$t('PleaseEnter')+this.$t('certificationCategory'), trigger: 'change' },
@@ -180,10 +186,8 @@ export default {
console.log(value.target.value)
if(value.target.value == 2){
this.required = true
this.disabled = true
}else{
this.required = false
this.disabled = false
}
},
getNameList() {
@@ -228,6 +232,7 @@ export default {
},
handleCancel() {
this.visible = false
this.required = false
this.$refs.ruleForm.resetFields()
},
certCategoryName(value){
@@ -20,7 +20,7 @@
<span>{{$t('configure')}}</span>
</div>
<a-form-model-item class="itemModel" prop="configIds">
<a-select v-model="formInline.configIds" class="code-mode-select" :placeholder="$t('PleaseSelect')+$t('configure')">
<a-select v-model="formInline.configIds" class="box-input" :placeholder="$t('PleaseSelect')+$t('configure')">
<a-select-option
v-for="mode in dictOptions"
:key="mode.value"
@@ -89,39 +89,48 @@
{{$t('CustomExport')}}
</div>
</div>
<div>
<a-table
ref="table"
size="middle"
:loading="loading"
:pagination="false"
:scroll="{x: true}"
rowKey="id"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<span slot="titleName" slot-scope="text,record" :title="text">
{{ text && text.length > 10 ? text.slice(0, 9) + '...' : text }}
</span>
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
</span>
</a-table>
</div>
<div class="page">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
<div style="width: 100%">
<!-- 表格-10控件-->
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue'
:formInline='formInline' :currentPersonRole='currentPersonRole'
@getDataSource="getDataSource"
@handlePreservation="handlePreservation"
@value='value'
@listReset='listReset' @LoginUserType='LoginUserType'/>
</div>
<!-- <div>-->
<!-- <a-table-->
<!-- ref="table"-->
<!-- size="middle"-->
<!-- :loading="loading"-->
<!-- :pagination="false"-->
<!-- :scroll="{x: true}"-->
<!-- rowKey="id"-->
<!-- :data-source="dataSource"-->
<!-- :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"-->
<!-- :columns="columns"-->
<!-- >-->
<!-- <span slot="titleName" slot-scope="text,record" :title="text">-->
<!-- {{ text && text.length > 10 ? text.slice(0, 9) + '...' : text }}-->
<!-- </span>-->
<!-- <span slot="operation" slot-scope="text,record">-->
<!-- <a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>-->
<!-- <a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>-->
<!-- </span>-->
<!-- </a-table>-->
<!-- </div>-->
<!-- <div class="page">-->
<!-- <a-pagination-->
<!-- :show-total="total => $t('total')+` ${total} `+$t('strip')"-->
<!-- show-quick-jumper-->
<!-- show-size-changer-->
<!-- :page-size.sync="pageSize"-->
<!-- :total="total"-->
<!-- :current="pageNo"-->
<!-- @change="pageOnChange"-->
<!-- @showSizeChange="SizeChange"-->
<!-- />-->
<!-- </div>-->
<conventionalModel :url="url" ref="conventionalModel"/>
<customelModel :url="url" ref="customelModel"/>
</a-card>
@@ -130,6 +139,7 @@
<script>
import { getAction,postAction } from '../../../api/manage'
import axios from 'axios'
import TableCollection from '@/components/tableCollection/index1'
import conventionalModel from './commponts/conventionalmodle'
import customelModel from './commponts/customexportmodle'
import { ACCESS_TOKEN } from '@/store/mutation-types'
@@ -140,6 +150,7 @@ export default {
components: {
conventionalModel,
customelModel,
TableCollection,
PersonnelSelection
},
data(){
@@ -212,7 +223,7 @@ export default {
props: {
},
mounted() {
this.Getlist()
// this.Getlist()
this.getTableList()
},
methods:{
@@ -302,6 +313,82 @@ export default {
},
onSelectChange() {
},
getDataSource(data) {
this.dataSource = data
},
handlePreservation(num) {
let _this = this
let postDate = []
let data = JSON.parse(JSON.stringify(this.dataSource))
let selectedRowKeysValue = []
data.forEach(res => {
if (res.state == 'Wait Fill' || res.state == '待填写') {
selectedRowKeysValue.push(res)
}
})
for (let i = 0; i < selectedRowKeysValue.length; i++) {
let postDateobj = {}
let itemIn = Object.keys(selectedRowKeysValue[i])
for (let j = 0; j < itemIn.length; j++) {
if (itemIn[j] !== 'sdt') {
if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more') {
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
}
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'text' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null) {
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.toString()
}
}
}
}
}
postDateobj.id = selectedRowKeysValue[i].id
postDate.push(postDateobj)
}
let configDataList = { configDataList: postDate }
if (selectedRowKeysValue && selectedRowKeysValue.length > 0) {
if (num && num == 1) {
this.textLoading = true
}
let query = {
...configDataList,
paramsManifestId: this.paramsManifest.id
}
postAction('/params/collectManifest/save', query).then((res) => {
if (res.success) {
if (num && num == 1) {
_this.$message.success(_this.$t('OperationSuccessful'))
this.textLoading = false
}
setTimeout(() => {
if (this.currentPersonRole == 'dre') {
this.handlePreservation()
}
}, 10000)
} else {
if (num && num == 1) {
_this.$message.warning(_this.$t('operationFailed'))
this.textLoading = false
}
}
})
} else {
if (num && num == 1) {
this.$message.warning(this.$t('theCurrentListSaved'))
}
}
},
LoginUserType(val, currentPersonRole, userType) {
this.RoleType = []
if (this.currentPersonRole == '') {
this.currentPersonRole = currentPersonRole || userType || val[0].value
}
this.RoleType = val
this.formInlineRoleSwitching.roleSwitchingCode = currentPersonRole || userType || val[0].value
this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching }
},
GetgetTableList() {
this.$refs.CollectionTabel.getTableList()
@@ -326,19 +413,23 @@ export default {
},
searchQuery() {
this.pageNo = 1
this.getTableList()
this.$refs.CollectionTabel.getTableList()
},
searchReset() {
this.pageNo = 1
this.formInline = {}
this.$refs.CollectionTabel.getTableListReset()
},
pageOnChange(page, pageSize) {
this.pageNo = page
this.$emit('handlePreservation')
this.getTableList()
},
pageOnChange() {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.$emit('handlePreservation')
this.getTableList()
},
SizeChange() {
}
}
}
</script>
@@ -192,7 +192,7 @@ export default {
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 100,
width: 120,
scopedSlots: { customRender: 'operation' }
}
],
@@ -304,7 +304,7 @@
<!-- 错误数据提示-->
<a-modal
:title="$t('operationFailed')"
:width="700"
:width="860"
v-model="visibleoperationFailed"
:maskClosable="false"
:footer="null"
@@ -330,47 +330,47 @@
</div>
</div>
<!-- 认证工程师-提示-->
<div style='font-size: 16px;color: red;display: flex;justify-content: center' v-if='NoEngineer === 1'>
<div style='font-size: 16px;color: red;text-align: center' v-if='NoEngineer === 1'>
{{ currentPersonRole =='homo'? $t('certifiedEngineer'): (currentPersonRole =='sdt'?
$t('engineeringInterfacePerson'): $t('completedBy')) }}{{$t('Datastatusis')}}
<!-- 下发收集时-->
<span v-if='jurisdiction === "HOMOZFSJ"'>
<span v-if='jurisdiction === "HOMOZFSJ"' class="text-wraning">
'{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}'
</span>
<!-- 同步上报库-->
<span v-else-if='jurisdiction === "HOMOTBSBK"'>
<span v-else-if='jurisdiction === "HOMOTBSBK"' class="text-wraning">
'{{$t('Submitted')}}'{{$t('or')}}'{{$t('alteration')}}'
</span>
<!-- 截止时间-->
<span v-else-if='jurisdiction === "HOMOJZSJ"'>
<span v-else-if='jurisdiction === "HOMOJZSJ"' class="text-wraning">
'{{$t('CollectionInitiated')}}'
</span>
<!-- 分配填写人 -->
<span v-else-if='jurisdiction === "SDTFPTXR"'>
<span v-else-if='jurisdiction === "SDTFPTXR"' class="text-wraning">
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span>
<!-- 引用参数-->
<span v-else-if='jurisdiction === "DREYYCS"'>
<span v-else-if='jurisdiction === "DREYYCS"' class="text-wraning">
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
</span>
<!-- 退回-->
<span v-else-if='jurisdiction === "homoTH"'>
<span v-else-if='jurisdiction === "homoTH"' class="text-wraning">
{{$t('Submitted')}}
</span>
<span v-else-if='jurisdiction === "sdtTH"'>
<span v-else-if='jurisdiction === "sdtTH"' class="text-wraning">
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span>
<span v-else-if='jurisdiction === "dreTH"'>
<span v-else-if='jurisdiction === "dreTH"' class="text-wraning">
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
</span>
<!-- 强制撤回-->
<span v-else-if='jurisdiction === "homoQZTH"'>
<span v-else-if='jurisdiction === "homoQZTH"' class="text-wraning">
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span>
<span v-else-if='jurisdiction === "sdtQZTH"'>
<span v-else-if='jurisdiction === "sdtQZTH"' class="text-wraning">
{{$t('completed')}}
</span>
<span v-else-if='jurisdiction === "dreQZTH"'>
<span v-else-if='jurisdiction === "dreQZTH"' class="text-wraning">
{{$t('Submitted')}}
</span>
{{$t('timeoperation')}}
@@ -1674,4 +1674,7 @@
}
}
}
.text-wraning{
word-break: break-word;
}
</style>
@@ -155,14 +155,14 @@
title: this.$t('collectionCompletionTime'),
align: 'center',
dataIndex: 'finishTime',
width: 160,
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'collectionCompletionTime' }
},
{
title: this.$t('Version'),
align: 'center',
width: 50,
width: 80,
ellipsis: true,
dataIndex: 'version'
},