Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

This commit is contained in:
wangzhijiang
2022-06-22 16:34:01 +08:00
17 changed files with 1091 additions and 194 deletions
@@ -953,9 +953,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]); ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]);
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
updateEO.setId(paramsCollectManifestIdStr[i]); updateEO.setId(paramsCollectManifestIdStr[i]);
if (CollectManifestStateEnum.SDT_BACK.equals(paramsCollectManifestEO.getState()) if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())
|| CollectManifestStateEnum.DRE_BACK.equals(paramsCollectManifestEO.getState()) || CollectManifestStateEnum.DRE_BACK.getValue().equals(paramsCollectManifestEO.getState())
|| CollectManifestStateEnum.CERT_BACK.equals(paramsCollectManifestEO.getState())) { || CollectManifestStateEnum.CERT_BACK.getValue().equals(paramsCollectManifestEO.getState())) {
updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) - 2)); // 设置对应状态 updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) - 2)); // 设置对应状态
@@ -11,8 +11,8 @@ import java.util.Map;
* @Date: Created in 11:29 2022/5/18 * @Date: Created in 11:29 2022/5/18
*/ */
public enum ExportTemplateStateEnum { public enum ExportTemplateStateEnum {
ENABLE("启用","0","enable"), ENABLE("启用","0","Enable"),
DISABLE("禁用","1","disable"); DISABLE("禁用","1","Disable");
String name; String name;
String value; String value;
@@ -734,7 +734,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
} }
return Result.error(resultMsg); return Result.error(resultMsg);
} }
String path = uploadpath + File.separator + "modal" + File.separator + filenameorg; String path = uploadpath + File.separator + "modal" + File.separator + filenameorg + System.currentTimeMillis();
File saveDirectory = new File(path); File saveDirectory = new File(path);
if(!saveDirectory.isDirectory()){ if(!saveDirectory.isDirectory()){
saveDirectory.mkdir(); saveDirectory.mkdir();
@@ -742,7 +742,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename())); FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename()));
try{ try{
//解压缩 //解压缩
String zipEntryName = FileUnZip.unZipFiles(path +File.separator+ file.getOriginalFilename(),path); String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
// 数据相关处理, // 数据相关处理,
// 1.获取其中的Excel, // 1.获取其中的Excel,
List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName); List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName);
@@ -76,6 +76,55 @@ public class FileUnZip {
return orgMkdirs; return orgMkdirs;
} }
/**
* 解压zip文件
* 解决解压文件下有多个文件夹时,读不到orgMkdirs问题
* @param sourceFile,待解压的zip文件; descDir,解压后的存放路径
* @throws Exception
* @author gaoyan
**/
public static String unZipFiles2(String sourceFile, String descDir) throws IOException {
File zipFile = new File(sourceFile);
File pathFile = new File(descDir);
if (!pathFile.exists()) {
pathFile.mkdirs();
}
ZipFile zip = new ZipFile(zipFile,"gbk");
String orgMkdirsLast = "";
for (Enumeration entries = zip.getEntries(); entries.hasMoreElements(); ) {
ZipEntry entry = (ZipEntry) entries.nextElement();
String zipEntryName = entry.getName();
String outPath = (descDir + "/" + zipEntryName).replaceAll("\\*", "/");
orgMkdirsLast = zipEntryName.substring(0, zipEntryName.indexOf('/'));
//判断路径是否存在,不存在则创建文件路径
File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
if (!file.exists()) {
file.mkdirs();
}
//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
if (new File(outPath).isDirectory()) {
continue;
}
//输出文件路径信息
// InputStream in = null;
// OutputStream out = null;
try(InputStream in =zip.getInputStream(entry);
OutputStream out =new FileOutputStream(outPath)){
byte[] buf1 = new byte[1024];
int len;
while ((len = in.read(buf1)) > 0) {
out.write(buf1, 0, len);
}
}catch(IOException e){
logger.error(e.getMessage(),e);
}
}
zip.close();
String orgMkdirs = descDir + "/" + orgMkdirsLast;
return orgMkdirs;
}
/** /**
* 递归删除文件及文件夹 * 递归删除文件及文件夹
* *
@@ -1484,7 +1484,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} }
return Result.error(resultMsg); return Result.error(resultMsg);
} }
String path = uploadpath + "/modal/"+filenameorg; String path = uploadpath + File.separator + "modal" + File.separator + filenameorg + System.currentTimeMillis();
File saveDirectory = new File(path); File saveDirectory = new File(path);
if(!saveDirectory.isDirectory()){ if(!saveDirectory.isDirectory()){
saveDirectory.mkdir(); saveDirectory.mkdir();
@@ -1492,7 +1492,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename())); FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename()));
try{ try{
//解压缩 //解压缩
String zipEntryName = FileUnZip.unZipFiles(path +File.separator+ file.getOriginalFilename(),path); String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
// 数据相关处理, // 数据相关处理,
// 1.获取其中的Excel, // 1.获取其中的Excel,
List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName); List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName);
@@ -143,7 +143,7 @@ spring:
# password: 123456 # password: 123456
# driver-class-name: com.mysql.cj.jdbc.Driver # driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false # url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
url: jdbc:mysql://121.36.69.172:3307/laws_weilai_stand?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://121.36.69.172:3307/laws_weilai?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root username: root
password: hzwlsoft.com password: hzwlsoft.com
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
+18 -1
View File
@@ -962,6 +962,23 @@ module.exports = {
releaseStatus:'Release status', releaseStatus:'Release status',
uploadedBy:'Uploaded by', uploadedBy:'Uploaded by',
uploadMonthly:'Upload monthly', uploadMonthly:'Upload monthly',
chapterContents:'Chapter contents',
chineseTitle:'Chinese title',
englishTitle:'English title',
regulatoryContact:'Regulatory contact',
exportStatus:'Export status',
monthlyTitleTemplate:'Monthly title template',
monthlyIntegrationAndExport:'Monthly integration and export',
addContent:'Add content',
editContent:'Edit content',
viewContent:'View content',
fillInTheMonth:'Fill in the month',
monthSelection:'Month selection',
bringInStandardInformation:'Bring in standard information',
contentTemplate:'Content template',
moveUp:'Move up',
moveDown:'Move down',
// 上报库 // 上报库
Enable: '启用', Enable: 'Enable',
Latestupdatetime: 'Latest update time',
} }
+28 -12
View File
@@ -727,7 +727,7 @@ module.exports = {
// 认证状态 // 认证状态
timeoperation: '时,才有权限操作此按钮。', timeoperation: '时,才有权限操作此按钮。',
NiOnumberis: 'NIO编号为', NiOnumberis: 'NIO编号为',
NoOperationPermissionForthisbutton:'没有此按钮的操作权限', NoOperationPermissionForthisbutton: '没有此按钮的操作权限',
Attentionfreeze: '注:冻结后该冻结配置内容不可进行编辑。', Attentionfreeze: '注:冻结后该冻结配置内容不可进行编辑。',
Filledperson: '工程接口人没有填写,请填写完工程接口人再进行下发收集。', Filledperson: '工程接口人没有填写,请填写完工程接口人再进行下发收集。',
Datastatusis: '数据状态为', Datastatusis: '数据状态为',
@@ -956,18 +956,34 @@ module.exports = {
documentLibraryDetails: '文档库详情', documentLibraryDetails: '文档库详情',
question: '催办', question: '催办',
ConfirmQuestion: '确认催办?', ConfirmQuestion: '确认催办?',
OnlyOrTaskconfirmationOut:'只有清单确认状态或任务确认状态为待确认时才可以进行催办', OnlyOrTaskconfirmationOut: '只有清单确认状态或任务确认状态为待确认时才可以进行催办',
disableInput:'禁止输入', disableInput: '禁止输入',
or: '或', or: '或',
warningTime:'预警时间', warningTime: '预警时间',
RegulationMonthlyManagement:'法规月报管理', RegulationMonthlyManagement: '法规月报管理',
RegulationMonthlyFill:'法规月报填写', RegulationMonthlyFill: '法规月报填写',
RegulationMonthlyName:'法规月报名称', RegulationMonthlyName: '法规月报名称',
monthlyLanguage:'月报语种', monthlyLanguage: '月报语种',
releaseStatus:'发布状态', releaseStatus: '发布状态',
uploadedBy:'上传人', uploadedBy: '上传人',
uploadMonthly:'上传月报', uploadMonthly: '上传月报',
chapterContents: '章节目录',
chineseTitle: '中文标题',
englishTitle: '英文标题',
regulatoryContact:'法规联系人',
exportStatus:'导出状态',
monthlyTitleTemplate:'月报标题模板',
monthlyIntegrationAndExport:'月报整合导出',
addContent:'新增内容',
editContent:'编辑内容',
viewContent:'查看内容',
monthSelection:'月份选择',
fillInTheMonth:'填写月份',
contentTemplate:'内容模板',
bringInStandardInformation:'带入标准信息',
moveUp:'上移',
moveDown:'下移',
// 上报库 // 上报库
Enable: '启用', Enable: '启用',
Latestupdatetime: '最新更新时间',
} }
@@ -26,7 +26,7 @@
<span slot="operationbtn" slot-scope="record"> <span slot="operationbtn" slot-scope="record">
<span v-if='currentPersonRole === "homo"'> <span v-if='currentPersonRole === "homo"'>
<!-- 认证工程师 --> <!-- 认证工程师 -->
<span v-if='record.state == "待发起收集" || record.state == "工程接口人退回" || record.state == "变更"'> <span v-if='record.state == "待发起收集" || record.state == "工程接口人退回" || record.state == "变更" || record.state == "Wait Collect" || record.state == "Sdt Back" || record.state == "Change"'>
<span <span
@click='ondataValueTobeinitiated(record)'>{{ (record.dataValue == null || record.dataValue == 'undefined')? '--': record.dataValue}}</span> @click='ondataValueTobeinitiated(record)'>{{ (record.dataValue == null || record.dataValue == 'undefined')? '--': record.dataValue}}</span>
</span> </span>
@@ -5,11 +5,12 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('RegulationMonthlyName')"> <div class="title-text" :title="$t('monthSelection')">
<span>{{$t('RegulationMonthlyName')}}</span> <span>{{$t('monthSelection')}}</span>
</div> </div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('RegulationMonthlyName')" <a-month-picker class="box-input"
v-model="queryParam.RegulationMonthlyName"></j-input> v-model="queryParam.monthSelection"
:placeholder="$t('monthSelection')"/>
</div> </div>
</a-col> </a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons"> <span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
@@ -22,9 +23,17 @@
</a-form> </a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="uploadMonthlyClick" class="operator-text"> <div @click="monthlyTitleTemplateClick" class="operator-text">
<a-icon type="cloud-upload"/> <a-icon type="apartment"/>
{{$t('uploadMonthly')}} {{$t('monthlyTitleTemplate')}}
</div>
<div @click="monthlyIntegrationAndExportClick" class="operator-text">
<a-icon type="import"/>
{{$t('monthlyIntegrationAndExport')}}
</div>
<div @click="addContentClick" class="operator-text">
<a-icon type="plus"/>
{{$t('addContent')}}
</div> </div>
<div @click="BatchDeleteClick" class="operator-text"> <div @click="BatchDeleteClick" class="operator-text">
<a-icon type="delete"/> <a-icon type="delete"/>
@@ -43,6 +52,11 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns" :columns="columns"
> >
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="viewClick(record)">{{$t('view')}}</a>
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
</span>
</a-table> </a-table>
<div class="page" v-if="dataSource && dataSource.length > 0"> <div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination <a-pagination
@@ -56,16 +70,28 @@
/> />
</div> </div>
</div> </div>
<fillTable ref="fillTableRef"/>
<fillAdd ref="fillAddRef" @fillAddForm="fillAddForm"/>
</a-card> </a-card>
</template> </template>
<script> <script>
import { getAction, postAction, downloadFile } from '@/api/manage'
import fillTable from './modules/fillTable'
import fillAdd from './modules/fillAdd'
export default { export default {
name: 'RegulationMonthlyFill', name: 'RegulationMonthlyFill',
components: {
fillTable,
fillAdd
},
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
url: {}, url: {
deleteBatch: ''
},
loading: false, loading: false,
dataSource: [], dataSource: [],
selectedRowKeys: [], selectedRowKeys: [],
@@ -75,37 +101,44 @@
queryParam: {}, queryParam: {},
columns: [ columns: [
{ {
title: this.$t('RegulationMonthlyName'), title: this.$t('chapterContents'),
align: 'center', align: 'center',
dataIndex: 'RegulationMonthlyName', dataIndex: 'chapterContents',
width: 170 width: 170
}, },
{ {
title: this.$t('monthlyLanguage'), title: this.$t('chineseTitle'),
align: 'center', align: 'center',
dataIndex: 'monthlyLanguage', dataIndex: 'chineseTitle',
width: 170 width: 170
}, },
{ {
title: this.$t('releaseStatus'), title: this.$t('englishTitle'),
align: 'center',
width: 140,
ellipsis: true,
dataIndex: 'releaseStatus'
},
{
title: this.$t('uploadTime'),
align: 'center', align: 'center',
width: 170, width: 170,
ellipsis: true, ellipsis: true,
dataIndex: 'uploadTime' dataIndex: 'englishTitle'
}, },
{ {
title: this.$t('uploadedBy'), title: this.$t('regulatoryContact'),
align: 'center',
width: 170,
ellipsis: true,
dataIndex: 'regulatoryContact'
},
{
title: this.$t('completedBy'),
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 170, width: 170,
dataIndex: 'uploadedBy' dataIndex: 'completedBy'
},
{
title: this.$t('exportStatus'),
align: 'center',
ellipsis: true,
width: 170,
dataIndex: 'exportStatus'
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -122,10 +155,13 @@
}, },
methods: { methods: {
searchQuery() { searchQuery() {
this.pageNo = 1
this.getList()
}, },
searchReset() { searchReset() {
this.queryParam = {}
this.pageNo = 1
this.getList()
}, },
onSelectChange(value) { onSelectChange(value) {
this.selectedRowKeys = value this.selectedRowKeys = value
@@ -133,26 +169,75 @@
handleCompare() { handleCompare() {
}, },
handleExport() { pageOnChange(page) {
this.pageNo = page
this.getList()
}, },
clearSelected() { SizeChange(pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
}, },
pageOnChange() { fillAddForm() {
this.pageNo = 1
}, this.getList()
SizeChange() {
}, },
getList() { getList() {
}, },
uploadMonthlyClick() { monthlyTitleTemplateClick() {
this.$refs.fillTableRef.getData()
},
monthlyIntegrationAndExportClick() {
},
addContentClick() {
this.$refs.fillAddRef.add()
},
viewClick(row) {
this.$refs.fillAddRef.view(JSON.parse(JSON.stringify(row)))
},
edit(row) {
this.$refs.fillAddRef.edit(JSON.parse(JSON.stringify(row)))
},
//删除
deleteLib(val) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
getAction(_this.url.deleteBatch, { ids: val.id }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
} else {
_this.$message.warning(res.message)
}
})
}
})
}, },
BatchDeleteClick() { BatchDeleteClick() {
if (this.selectedRowKeys.length > 0) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmBatchDeletion'),
onOk() {
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
getAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = []
_this.getList()
} else {
_this.$message.warning(res.message)
}
})
}
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
} }
} }
} }
@@ -162,6 +247,10 @@
.RegulationMonthly .ant-card-body { .RegulationMonthly .ant-card-body {
padding: 10px 0 0 0 !important; padding: 10px 0 0 0 !important;
} }
.box-input .ant-calendar-picker-input {
height: 38px;
}
</style> </style>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
@@ -0,0 +1,121 @@
<template>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('fillInTheMonth')">{{$t('fillInTheMonth')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-month-picker class="box-input"
v-model="formInline.fillInTheMonth"
:placeholder="$t('fillInTheMonth')"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12" style="text-align: right">
<div style="text-align: right">
<a-button class="button-text" type="primary">{{$t('bringInStandardInformation')}}</a-button>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('chapterContents')">{{$t('chapterContents')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-select :placeholder="$t('PleaseSelect')+$t('chapterContents')"
:disabled="disabled"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.chapterContents">
<a-select-option v-for="(item, key) in chapterContentsList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('contentTemplate')">{{$t('contentTemplate')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-select :placeholder="$t('PleaseSelect')+$t('contentTemplate')"
:disabled="disabled"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.chapterContents">
<a-select-option v-for="(item, key) in contentTemplateList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</template>
<script>
export default {
name: 'defaultTemplate',
data(){
return{
rules: {
name: [
{
required: true,
message: this.$t('VirtualListName') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 100,
message: this.$t('VirtualListName') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
useExplain: [
{
required: true,
message: this.$t('instructionForUse') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 500,
message: this.$t('instructionForUse') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
trigger: 'blur'
}
]
},
formInline:{},
}
},
methods:{
},
mounted() {
}
}
</script>
<style scoped>
</style>
@@ -0,0 +1,245 @@
<template>
<div>
<a-drawer
:title="title"
:maskClosable="false"
:width="900"
placement="right"
:closable="true"
@close="handleCancel"
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('fillInTheMonth')">{{$t('fillInTheMonth')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-month-picker class="box-input"
v-model="formInline.fillInTheMonth"
:placeholder="$t('fillInTheMonth')"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12" style="text-align: right">
<div style="text-align: right">
<a-button class="button-text" type="primary">{{$t('bringInStandardInformation')}}</a-button>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('chapterContents')">{{$t('chapterContents')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-select :placeholder="$t('PleaseSelect')+$t('chapterContents')"
:disabled="disabled"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.chapterContents">
<a-select-option v-for="(item, key) in chapterContentsList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('contentTemplate')">{{$t('contentTemplate')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-select :placeholder="$t('PleaseSelect')+$t('contentTemplate')"
:disabled="disabled"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.chapterContents">
<a-select-option v-for="(item, key) in contentTemplateList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
</div>
</a-drawer>
</div>
</template>
<script>
export default {
name: 'fillAdd',
data() {
return {
rules: {
name: [
{
required: true,
message: this.$t('VirtualListName') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 100,
message: this.$t('VirtualListName') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
useExplain: [
{
required: true,
message: this.$t('instructionForUse') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 500,
message: this.$t('instructionForUse') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
trigger: 'blur'
}
]
},
visible: false,
formInline: {},
confirmLoading: false,
title: '',
disabled: false,
chapterContentsList: [],
contentTemplateList: []
}
},
mounted() {
},
methods: {
add() {
this.title = this.$t('addContent')
this.visible = true
this.disabled = false
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
},
edit(row) {
this.title = this.$t('editContent')
this.visible = true
this.disabled = false
this.$nextTick(() => {
this.formInline = row
this.$refs.ruleForm.clearValidate()
})
},
view(row) {
this.title = this.$t('viewContent')
this.visible = true
this.disabled = true
this.$nextTick(() => {
this.formInline = row
this.$refs.ruleForm.clearValidate()
})
},
handleCancel() {
this.visible = false
},
handleSubmit() {
}
}
}
</script>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width: 114px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
.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;
}
.button-text {
height: 38px;
margin-top: 4px;
}
</style>
@@ -0,0 +1,155 @@
<template>
<div>
<a-modal
:title="$t('monthlyTitleTemplate')"
:width="1200"
: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 class="table-operator-right">
<div @click="newlyAddedClick" class="operator-text">
<a-icon type="plus"/>
{{$t('newlyAdded')}}
</div>
</div>
<a-table
ref="table"
size="middle"
:loading="loading"
:pagination="false"
:scroll="{x: '100%'}"
:data-source="dataSource"
:columns="columns"
>
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="moveUpClick(record)">{{$t('moveUp')}}</a>
<a class="text-operation" @click="moveDownClick(record)">{{$t('moveDown')}}</a>
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
</span>
</a-table>
<div class="page" v-if="dataSource.length > 0">
<a-pagination
:show-total="total => $t('total')+`${total}`+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize "
:total="total"
@change="onChange"
@showSizeChange="SizeChange"
/>
</div>
</a-modal>
<fillTableAdd ref="fillTableAddRef" @fillTableAddForm="fillTableAddForm"/>
</div>
</template>
<script>
import fillTableAdd from './fillTableAdd'
export default {
name: 'fillTable',
components: {
fillTableAdd
},
data() {
return {
visible: false,
confirmLoading: false,
loading: false,
dataSource: [],
pageNo: 1,
pageSize: 10,
total: 0,
columns: [
{
title: this.$t('number'),
align: 'center',
width: 70,
customRender: function(t, r, index) {
return parseInt(index) + 1
}
},
{
title: this.$t('chineseTitle'),
align: 'center',
dataIndex: 'chineseTitle',
width: 210
},
{
title: this.$t('englishTitle'),
align: 'center',
width: 210,
ellipsis: true,
dataIndex: 'englishTitle'
},
{
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 180,
scopedSlots: { customRender: 'operation' }
}
]
}
},
mounted() {
},
methods: {
edit() {
},
getData() {
this.visible = true
this.getList()
},
onChange(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
fillTableAddForm() {
this.pageNo = 1
this.getList()
},
getList() {
},
moveUpClick() {
},
moveDownClick() {
},
deleteLib() {
},
newlyAddedClick() {
this.$refs.fillTableAddRef.add()
}
}
}
</script>
<style scoped>
.page {
text-align: right;
margin-top: 20px;
}
.table-operator-right {
text-align: right;
margin-bottom: 16px;
}
</style>
@@ -0,0 +1,198 @@
<template>
<div>
<a-modal
:title="title"
:width="800"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="handleCancel"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('chineseTitle')">{{$t('chineseTitle')}}</span>
</div>
<a-form-model-item class="itemModel" prop="chineseTitle">
<a-input class="box-input"
v-model="formInline.chineseTitle"
:placeholder="$t('PleaseEnter')+$t('chineseTitle')"/>
</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('englishTitle')">{{$t('englishTitle')}}</span>
</div>
<a-form-model-item class="itemModel" prop="englishTitle">
<a-input class="box-input"
v-model="formInline.englishTitle"
:placeholder="$t('PleaseEnter')+$t('englishTitle')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('ParentName')">{{$t('ParentName')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-input class="box-input"
v-model="formInline.ParentName"
:placeholder="$t('PleaseEnter')+$t('ParentName')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</div>
</template>
<script>
export default {
name: 'fillTableAdd',
data() {
return {
visible: false,
confirmLoading: false,
formInline: {},
rules: {},
title: ''
}
},
mounted() {
},
methods: {
add() {
this.title = this.$t('newlyAdded')
this.visible = true
this.$nextTick(() => {
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
},
edit(row) {
this.title = this.$t('edit')
this.visible = true
this.$nextTick(() => {
this.formInline = row
this.$refs.ruleForm.clearValidate()
})
},
handleOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
}
})
},
handleCancel() {
this.visible = false
}
}
}
</script>
<style>
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: 100%;
}
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
padding: 4px 30px 4px 11px;
}
</style>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width:100px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
</style>
@@ -1,4 +1,5 @@
<template> <template>
<div>
<a-drawer <a-drawer
:title="title" :title="title"
:maskClosable="false" :maskClosable="false"
@@ -33,8 +34,8 @@
<span class="Required">*</span> <span class="Required">*</span>
<span class="title-text-text" :title="$t('status')">{{$t('status')}}</span> <span class="title-text-text" :title="$t('status')">{{$t('status')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="status"> <a-form-model-item class="itemModel" prop="state">
<a-select allowClear :placeholder="$t('PleaseSelect')+$t('status')" v-model='formInline.status'> <a-select allowClear :placeholder="$t('PleaseSelect')+$t('status')" v-model='formInline.state'>
<a-select-option :key="'0'" :value="'0'">{{$t('Enable')}} <a-select-option :key="'0'" :value="'0'">{{$t('Enable')}}
</a-select-option> </a-select-option>
<a-select-option :key="'1'" :value="'1'">{{$t('disable')}} <a-select-option :key="'1'" :value="'1'">{{$t('disable')}}
@@ -65,15 +66,15 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span> :title="$t('attachmentTemplate')">{{$t('attachmentTemplate')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="templateName"> <a-form-model-item class="itemModel" prop="paramsTemplateName">
<a-input class="box-input" <a-button type="primary" class="button-text"
:disabled="disabled" @click="clickButtonToUpload('fileTemplateConnectId')">
v-model="formInline.templateName" {{ (formInline.fileConnectId === 'null' || formInline.fileConnectId === '' ||
:placeholder="$t('PleaseEnter')+$t('templateName')"/> formInline.fileConnectId == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
</a-button>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -86,15 +87,19 @@
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button> <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
</div> </div>
</a-drawer> </a-drawer>
<uploadFileChange ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFileChange>
</div>
</template> </template>
<script> <script>
import PersonnelSelection from '@/components/PersonnelSelection/index' import PersonnelSelection from '@/components/PersonnelSelection/index'
import { getAction, postAction, downloadFile, putAction } from '@/api/manage' import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
import uploadFileChange from '@/components/uploadFileChange/file'
export default { export default {
name: 'addModel', name: 'addModel',
components: { components: {
uploadFileChange,
PersonnelSelection PersonnelSelection
}, },
props: ['url'], props: ['url'],
@@ -124,6 +129,28 @@ export default {
this.getNameList() this.getNameList()
}, },
methods: { methods: {
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
this.$refs.uploadFile.visible = false
/** 赋值给当前对应的表单文件 */
this.formInline.fileConnectId = attIdList.join(',')
this.formInline = { ...this.formInline }
},
clickButtonToUpload(item) {
this.$refs.uploadFile.visible = true
getAction('sys/common/getFileInfos', { id: this.formInline[item] }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
getNameList() { getNameList() {
getAction('project/projectNameInfoEO/list', {}).then((res) => { getAction('project/projectNameInfoEO/list', {}).then((res) => {
if (res.success) { if (res.success) {
@@ -137,7 +164,7 @@ export default {
this.visible = true this.visible = true
this.title = '新增' this.title = '新增'
this.formInline = {} this.formInline = {}
this.formInline.status = '0' this.formInline.state = '0'
this.formInline = {...this.formInline} this.formInline = {...this.formInline}
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['ruleForm'].clearValidate() this.$refs['ruleForm'].clearValidate()
@@ -24,10 +24,6 @@
<a-icon type="plus"/> <a-icon type="plus"/>
{{$t('newlyAdded')}} {{$t('newlyAdded')}}
</div> </div>
<div @click="handlecody" class="operator-text" v-has="'params:template:copy'">
<a-icon type="copy"/>
{{$t('copy')}}
</div>
<div @click="handleDel" class="operator-text" v-has="'params:template:delete'"> <div @click="handleDel" class="operator-text" v-has="'params:template:delete'">
<a-icon type="delete"/> <a-icon type="delete"/>
{{$t('BatchDelete')}} {{$t('BatchDelete')}}
@@ -46,12 +42,7 @@
:columns="columns" :columns="columns"
> >
<span slot="projectName" slot-scope="text,record" :title="text"> <span slot="projectName" slot-scope="text,record" :title="text">
<a @click="entryNameClick(record)"> {{ text && text.length > 100 ? text.slice(0, 99) + '...' : text }}
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
</a>
</span>
<span slot="titleName" slot-scope="text,record" :title="text">
{{ text && text.length > 30 ? text.slice(0, 29) + '...' : text }}
</span> </span>
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" v-has="'params:template:edit'" @click="edit(record)">{{$t('edit')}}</a> <a class="text-operation" v-has="'params:template:edit'" @click="edit(record)">{{$t('edit')}}</a>
@@ -138,17 +129,17 @@ export default {
pageNo: 1, pageNo: 1,
title: '新增', title: '新增',
columns: [ columns: [
{ // {
title: this.$t('serialNumber'), // title: this.$t('serialNumber'),
dataIndex: '', // dataIndex: '',
key: 'rowIndex', // key: 'rowIndex',
width: 50, // width: 50,
ellipsis: true, // ellipsis: true,
align: 'center', // align: 'center',
customRender: function(t, r, index) { // customRender: function(t, r, index) {
return parseInt(index) + 1 // return parseInt(index) + 1
} // }
}, // },
{ {
title: this.$t('templateName'), title: this.$t('templateName'),
align: 'center', align: 'center',
@@ -158,22 +149,22 @@ export default {
title: this.$t('contentDescription'), title: this.$t('contentDescription'),
align: 'center', align: 'center',
dataIndex: 'description', dataIndex: 'description',
scopedSlots: { customRender: 'titleName' } scopedSlots: { customRender: 'projectName' }
}, },
{ {
title: this.$t('status'), title: this.$t('status'),
align: 'center', align: 'center',
width: '5%', width: '5%',
dataIndex: 'createTime' dataIndex: 'state'
}, },
{ {
title: this.$t('createTime'), title: this.$t('creater'),
align: 'center', align: 'center',
width: '10%', width: '10%',
dataIndex: 'createTime' dataIndex: 'createBy'
}, },
{ {
title: this.$t('updateTime'), title: this.$t('Latestupdatetime'),
align: 'center', align: 'center',
width: '10%', width: '10%',
dataIndex: 'updateTime' dataIndex: 'updateTime'
@@ -228,17 +219,6 @@ export default {
handleAdd() { handleAdd() {
this.$refs.addModelRef.addModel() this.$refs.addModelRef.addModel()
}, },
// 复制
handlecody(){
if (this.selectedRowKeys.length > 1) {
this.$message.warning(this.$t('OnlyOneSelected'))
} else if(this.selectedRowKeys.length == 0){
this.$message.warning(this.$t('pleaseSelectData'))
} else {
this.areaVisible=true
this.formInline = {}
}
},
hideModal(){ hideModal(){
this.visible = false; this.visible = false;
}, },
@@ -253,7 +233,7 @@ export default {
content: _this.$t('ConfirmBatchDeletion'), content: _this.$t('ConfirmBatchDeletion'),
onOk() { onOk() {
axios({ axios({
url: '/jero-boot/params/template/deleteBatch', url: '/jero-boot/report/exportTemplate/deleteBatch',
method: 'post', method: 'post',
data: param, data: param,
transformRequest: [function (data) { transformRequest: [function (data) {
@@ -276,7 +276,7 @@
</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;display: flex;justify-content: center' v-if='NoEngineer === 1'>
{{ currentPersonRole =='homo'? '认证工程师': (currentPersonRole =='sdt'? '工程接口人': '填写人') }}{{$t('Datastatusis')}} {{ currentPersonRole =='homo'? $t('certifiedEngineer'): (currentPersonRole =='sdt'? $t('engineeringInterfacePerson'): $t('completedBy')) }}{{$t('Datastatusis')}}
<!-- 下发收集时--> <!-- 下发收集时-->
<span v-if='jurisdiction === "HOMOZFSJ"'> <span v-if='jurisdiction === "HOMOZFSJ"'>
'{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}' '{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}'
@@ -519,7 +519,7 @@ export default {
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
// 状态不符合,不能下发收集 // 状态不符合,不能下发收集
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') { if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更' && item.state !== 'Wait Collect' && item.state !== 'Sdt Back' && item.state !== 'Change') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -546,7 +546,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '已提交') { if(item.state !== '已提交'&& item.state !== 'Submit') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'homoTH' this.jurisdiction = 'homoTH'
flag = 0 flag = 0
@@ -564,7 +564,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') { if(item.state !== '待工程接口人处理' && item.state !== '填写人退回' && item.state !== 'Wait Sdt' && item.state !== 'Dre Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'sdtTH' this.jurisdiction = 'sdtTH'
flag = 0 flag = 0
@@ -582,7 +582,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写' && item.state !== '认证工程师退回') { if(item.state !== '待填写' && item.state !== '认证工程师退回' && item.state !== 'Wait Fill' && item.state !== 'Cert Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'dreTH' this.jurisdiction = 'dreTH'
flag = 0 flag = 0
@@ -603,7 +603,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') { if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更' && item.state !== 'Wait Collect' && item.state !== 'Sdt Back' && item.state !== 'Change') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -622,7 +622,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '已提交' && item.state !== '变更') { if(item.state !== '已提交' && item.state !== '变更'&& item.state !== 'Submit' && item.state !== 'Change') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -641,7 +641,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待发起收集') { if(item.state !== '待发起收集'&& item.state !== 'Wait Collect') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -662,7 +662,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') { if(item.state !== '待工程接口人处理' && item.state !== '填写人退回'&&item.state !== 'Wait Sdt' && item.state !== 'Dre Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'homoQZTH' this.jurisdiction = 'homoQZTH'
flag = 0 flag = 0
@@ -681,7 +681,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写') { if(item.state !== '待填写'&&item.state !== 'Wait Fill') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'sdtQZTH' this.jurisdiction = 'sdtQZTH'
flag = 0 flag = 0
@@ -699,7 +699,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '已提交') { if(item.state !== '已提交'&&item.state !== 'Submit') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
this.jurisdiction = 'dreQZTH' this.jurisdiction = 'dreQZTH'
flag = 0 flag = 0
@@ -720,7 +720,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') { if(item.state !== '待工程接口人处理' && item.state !== '填写人退回'&&item.state !== 'Wait Sdt' && item.state !== 'Dre Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -739,7 +739,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写' && item.state !== '认证工程师退回') { if(item.state !== '待填写' && item.state !== '认证工程师退回'&&item.state !== 'Wait Fill' && item.state !== 'Cert Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }
@@ -757,7 +757,7 @@ export default {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} else { } else {
this.selectedRowKeysValue.forEach((item, index) => { this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写' && item.state !== '认证工程师退回') { if(item.state !== '待填写' && item.state !== '认证工程师退回'&&item.state !== 'Wait Fill' && item.state !== 'Cert Back') {
this.NotSelectedRowKeysValue.push(item) this.NotSelectedRowKeysValue.push(item)
flag = 0 flag = 0
} }