Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
This commit is contained in:
+3
-3
@@ -953,9 +953,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]);
|
||||
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
|
||||
updateEO.setId(paramsCollectManifestIdStr[i]);
|
||||
if (CollectManifestStateEnum.SDT_BACK.equals(paramsCollectManifestEO.getState())
|
||||
|| CollectManifestStateEnum.DRE_BACK.equals(paramsCollectManifestEO.getState())
|
||||
|| CollectManifestStateEnum.CERT_BACK.equals(paramsCollectManifestEO.getState())) {
|
||||
if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())
|
||||
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(paramsCollectManifestEO.getState())
|
||||
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(paramsCollectManifestEO.getState())) {
|
||||
|
||||
updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) - 2)); // 设置对应状态
|
||||
|
||||
|
||||
+2
-2
@@ -11,8 +11,8 @@ import java.util.Map;
|
||||
* @Date: Created in 11:29 2022/5/18
|
||||
*/
|
||||
public enum ExportTemplateStateEnum {
|
||||
ENABLE("启用","0","enable"),
|
||||
DISABLE("禁用","1","disable");
|
||||
ENABLE("启用","0","Enable"),
|
||||
DISABLE("禁用","1","Disable");
|
||||
|
||||
String name;
|
||||
String value;
|
||||
|
||||
+2
-2
@@ -734,7 +734,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
}
|
||||
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);
|
||||
if(!saveDirectory.isDirectory()){
|
||||
saveDirectory.mkdir();
|
||||
@@ -742,7 +742,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename()));
|
||||
try{
|
||||
//解压缩
|
||||
String zipEntryName = FileUnZip.unZipFiles(path +File.separator+ file.getOriginalFilename(),path);
|
||||
String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
|
||||
// 数据相关处理,
|
||||
// 1.获取其中的Excel,
|
||||
List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName);
|
||||
|
||||
+49
@@ -76,6 +76,55 @@ public class FileUnZip {
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归删除文件及文件夹
|
||||
*
|
||||
|
||||
+2
-2
@@ -1484,7 +1484,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
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);
|
||||
if(!saveDirectory.isDirectory()){
|
||||
saveDirectory.mkdir();
|
||||
@@ -1492,7 +1492,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename()));
|
||||
try{
|
||||
//解压缩
|
||||
String zipEntryName = FileUnZip.unZipFiles(path +File.separator+ file.getOriginalFilename(),path);
|
||||
String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
|
||||
// 数据相关处理,
|
||||
// 1.获取其中的Excel,
|
||||
List<File> excelfilelist = FileUnZip.readExcelFile(zipEntryName);
|
||||
|
||||
@@ -143,7 +143,7 @@ spring:
|
||||
# password: 123456
|
||||
# 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_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
|
||||
password: hzwlsoft.com
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
@@ -962,6 +962,23 @@ module.exports = {
|
||||
releaseStatus:'Release status',
|
||||
uploadedBy:'Uploaded by',
|
||||
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',
|
||||
}
|
||||
@@ -727,7 +727,7 @@ module.exports = {
|
||||
// 认证状态
|
||||
timeoperation: '时,才有权限操作此按钮。',
|
||||
NiOnumberis: 'NIO编号为',
|
||||
NoOperationPermissionForthisbutton:'没有此按钮的操作权限',
|
||||
NoOperationPermissionForthisbutton: '没有此按钮的操作权限',
|
||||
Attentionfreeze: '注:冻结后该冻结配置内容不可进行编辑。',
|
||||
Filledperson: '工程接口人没有填写,请填写完工程接口人再进行下发收集。',
|
||||
Datastatusis: '数据状态为',
|
||||
@@ -956,18 +956,34 @@ module.exports = {
|
||||
documentLibraryDetails: '文档库详情',
|
||||
question: '催办',
|
||||
ConfirmQuestion: '确认催办?',
|
||||
OnlyOrTaskconfirmationOut:'只有清单确认状态或任务确认状态为待确认时才可以进行催办',
|
||||
disableInput:'禁止输入',
|
||||
OnlyOrTaskconfirmationOut: '只有清单确认状态或任务确认状态为待确认时才可以进行催办',
|
||||
disableInput: '禁止输入',
|
||||
or: '或',
|
||||
warningTime:'预警时间',
|
||||
RegulationMonthlyManagement:'法规月报管理',
|
||||
RegulationMonthlyFill:'法规月报填写',
|
||||
RegulationMonthlyName:'法规月报名称',
|
||||
monthlyLanguage:'月报语种',
|
||||
releaseStatus:'发布状态',
|
||||
uploadedBy:'上传人',
|
||||
uploadMonthly:'上传月报',
|
||||
warningTime: '预警时间',
|
||||
RegulationMonthlyManagement: '法规月报管理',
|
||||
RegulationMonthlyFill: '法规月报填写',
|
||||
RegulationMonthlyName: '法规月报名称',
|
||||
monthlyLanguage: '月报语种',
|
||||
releaseStatus: '发布状态',
|
||||
uploadedBy: '上传人',
|
||||
uploadMonthly: '上传月报',
|
||||
chapterContents: '章节目录',
|
||||
chineseTitle: '中文标题',
|
||||
englishTitle: '英文标题',
|
||||
regulatoryContact:'法规联系人',
|
||||
exportStatus:'导出状态',
|
||||
monthlyTitleTemplate:'月报标题模板',
|
||||
monthlyIntegrationAndExport:'月报整合导出',
|
||||
addContent:'新增内容',
|
||||
editContent:'编辑内容',
|
||||
viewContent:'查看内容',
|
||||
monthSelection:'月份选择',
|
||||
fillInTheMonth:'填写月份',
|
||||
contentTemplate:'内容模板',
|
||||
bringInStandardInformation:'带入标准信息',
|
||||
moveUp:'上移',
|
||||
moveDown:'下移',
|
||||
// 上报库
|
||||
Enable: '启用',
|
||||
|
||||
Latestupdatetime: '最新更新时间',
|
||||
}
|
||||
@@ -26,7 +26,7 @@
|
||||
<span slot="operationbtn" slot-scope="record">
|
||||
<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
|
||||
@click='ondataValueTobeinitiated(record)'>{{ (record.dataValue == null || record.dataValue == 'undefined')? '--': record.dataValue}}</span>
|
||||
</span>
|
||||
|
||||
+125
-36
@@ -5,11 +5,12 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('RegulationMonthlyName')">
|
||||
<span>{{$t('RegulationMonthlyName')}}</span>
|
||||
<div class="title-text" :title="$t('monthSelection')">
|
||||
<span>{{$t('monthSelection')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('RegulationMonthlyName')"
|
||||
v-model="queryParam.RegulationMonthlyName"></j-input>
|
||||
<a-month-picker class="box-input"
|
||||
v-model="queryParam.monthSelection"
|
||||
:placeholder="$t('monthSelection')"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
@@ -22,9 +23,17 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="uploadMonthlyClick" class="operator-text">
|
||||
<a-icon type="cloud-upload"/>
|
||||
{{$t('uploadMonthly')}}
|
||||
<div @click="monthlyTitleTemplateClick" class="operator-text">
|
||||
<a-icon type="apartment"/>
|
||||
{{$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 @click="BatchDeleteClick" class="operator-text">
|
||||
<a-icon type="delete"/>
|
||||
@@ -43,6 +52,11 @@
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
: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>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
@@ -56,16 +70,28 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<fillTable ref="fillTableRef"/>
|
||||
<fillAdd ref="fillAddRef" @fillAddForm="fillAddForm"/>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import fillTable from './modules/fillTable'
|
||||
import fillAdd from './modules/fillAdd'
|
||||
|
||||
export default {
|
||||
name: 'RegulationMonthlyFill',
|
||||
components: {
|
||||
fillTable,
|
||||
fillAdd
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
url: {},
|
||||
url: {
|
||||
deleteBatch: ''
|
||||
},
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
@@ -75,37 +101,44 @@
|
||||
queryParam: {},
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('RegulationMonthlyName'),
|
||||
title: this.$t('chapterContents'),
|
||||
align: 'center',
|
||||
dataIndex: 'RegulationMonthlyName',
|
||||
dataIndex: 'chapterContents',
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('monthlyLanguage'),
|
||||
title: this.$t('chineseTitle'),
|
||||
align: 'center',
|
||||
dataIndex: 'monthlyLanguage',
|
||||
dataIndex: 'chineseTitle',
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('releaseStatus'),
|
||||
align: 'center',
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
dataIndex: 'releaseStatus'
|
||||
},
|
||||
{
|
||||
title: this.$t('uploadTime'),
|
||||
title: this.$t('englishTitle'),
|
||||
align: 'center',
|
||||
width: 170,
|
||||
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',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'uploadedBy'
|
||||
dataIndex: 'completedBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('exportStatus'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'exportStatus'
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
@@ -122,10 +155,13 @@
|
||||
},
|
||||
methods: {
|
||||
searchQuery() {
|
||||
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
searchReset() {
|
||||
|
||||
this.queryParam = {}
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
@@ -133,26 +169,75 @@
|
||||
handleCompare() {
|
||||
|
||||
},
|
||||
handleExport() {
|
||||
|
||||
pageOnChange(page) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
clearSelected() {
|
||||
|
||||
SizeChange(pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
pageOnChange() {
|
||||
|
||||
},
|
||||
SizeChange() {
|
||||
|
||||
fillAddForm() {
|
||||
this.pageNo = 1
|
||||
this.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() {
|
||||
|
||||
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 {
|
||||
padding: 10px 0 0 0 !important;
|
||||
}
|
||||
|
||||
.box-input .ant-calendar-picker-input {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
+121
@@ -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>
|
||||
+198
@@ -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,100 +1,105 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:title="title"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form>
|
||||
<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="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="title"
|
||||
:maskClosable="false"
|
||||
:width="1000"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form>
|
||||
<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="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="templateName">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.templateName"
|
||||
:placeholder="$t('PleaseEnter')+$t('templateName')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="templateName">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.templateName"
|
||||
:placeholder="$t('PleaseEnter')+$t('templateName')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('status')">{{$t('status')}}</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('status')">{{$t('status')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="state">
|
||||
<a-select allowClear :placeholder="$t('PleaseSelect')+$t('status')" v-model='formInline.state'>
|
||||
<a-select-option :key="'0'" :value="'0'">{{$t('Enable')}}
|
||||
</a-select-option>
|
||||
<a-select-option :key="'1'" :value="'1'">{{$t('disable')}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="status">
|
||||
<a-select allowClear :placeholder="$t('PleaseSelect')+$t('status')" v-model='formInline.status'>
|
||||
<a-select-option :key="'0'" :value="'0'">{{$t('Enable')}}
|
||||
</a-select-option>
|
||||
<a-select-option :key="'1'" :value="'1'">{{$t('disable')}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('contentDescription')">{{$t('contentDescription')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="description">
|
||||
<a-input class="box-input add-input"
|
||||
type="textarea"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.description"
|
||||
:placeholder="$t('PleaseEnter')+$t('contentDescription')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="description">
|
||||
<a-input class="box-input add-input"
|
||||
type="textarea"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.description"
|
||||
:placeholder="$t('PleaseEnter')+$t('contentDescription')"/>
|
||||
</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="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
|
||||
</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('attachmentTemplate')">{{$t('attachmentTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="paramsTemplateName">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('fileTemplateConnectId')">
|
||||
{{ (formInline.fileConnectId === 'null' || formInline.fileConnectId === '' ||
|
||||
formInline.fileConnectId == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="templateName">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.templateName"
|
||||
:placeholder="$t('PleaseEnter')+$t('templateName')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-form>
|
||||
</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>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-form>
|
||||
</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>
|
||||
<uploadFileChange ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFileChange>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||
import uploadFileChange from '@/components/uploadFileChange/file'
|
||||
|
||||
export default {
|
||||
name: 'addModel',
|
||||
components: {
|
||||
uploadFileChange,
|
||||
PersonnelSelection
|
||||
},
|
||||
props: ['url'],
|
||||
@@ -124,6 +129,28 @@ export default {
|
||||
this.getNameList()
|
||||
},
|
||||
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() {
|
||||
getAction('project/projectNameInfoEO/list', {}).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -137,7 +164,7 @@ export default {
|
||||
this.visible = true
|
||||
this.title = '新增'
|
||||
this.formInline = {}
|
||||
this.formInline.status = '0'
|
||||
this.formInline.state = '0'
|
||||
this.formInline = {...this.formInline}
|
||||
this.$nextTick(() => {
|
||||
this.$refs['ruleForm'].clearValidate()
|
||||
|
||||
@@ -24,10 +24,6 @@
|
||||
<a-icon type="plus"/>
|
||||
{{$t('newlyAdded')}}
|
||||
</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'">
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
@@ -46,12 +42,7 @@
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||
<a @click="entryNameClick(record)">
|
||||
{{ 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 }}
|
||||
{{ text && text.length > 100 ? text.slice(0, 99) + '...' : text }}
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" v-has="'params:template:edit'" @click="edit(record)">{{$t('edit')}}</a>
|
||||
@@ -138,17 +129,17 @@ export default {
|
||||
pageNo: 1,
|
||||
title: '新增',
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('serialNumber'),
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 50,
|
||||
ellipsis: true,
|
||||
align: 'center',
|
||||
customRender: function(t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
// {
|
||||
// title: this.$t('serialNumber'),
|
||||
// dataIndex: '',
|
||||
// key: 'rowIndex',
|
||||
// width: 50,
|
||||
// ellipsis: true,
|
||||
// align: 'center',
|
||||
// customRender: function(t, r, index) {
|
||||
// return parseInt(index) + 1
|
||||
// }
|
||||
// },
|
||||
{
|
||||
title: this.$t('templateName'),
|
||||
align: 'center',
|
||||
@@ -158,22 +149,22 @@ export default {
|
||||
title: this.$t('contentDescription'),
|
||||
align: 'center',
|
||||
dataIndex: 'description',
|
||||
scopedSlots: { customRender: 'titleName' }
|
||||
scopedSlots: { customRender: 'projectName' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'center',
|
||||
width: '5%',
|
||||
dataIndex: 'createTime'
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
title: this.$t('creater'),
|
||||
align: 'center',
|
||||
width: '10%',
|
||||
dataIndex: 'createTime'
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('updateTime'),
|
||||
title: this.$t('Latestupdatetime'),
|
||||
align: 'center',
|
||||
width: '10%',
|
||||
dataIndex: 'updateTime'
|
||||
@@ -228,17 +219,6 @@ export default {
|
||||
handleAdd() {
|
||||
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(){
|
||||
this.visible = false;
|
||||
},
|
||||
@@ -253,7 +233,7 @@ export default {
|
||||
content: _this.$t('ConfirmBatchDeletion'),
|
||||
onOk() {
|
||||
axios({
|
||||
url: '/jero-boot/params/template/deleteBatch',
|
||||
url: '/jero-boot/report/exportTemplate/deleteBatch',
|
||||
method: 'post',
|
||||
data: param,
|
||||
transformRequest: [function (data) {
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
</div>
|
||||
<!-- 认证工程师-提示-->
|
||||
<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"'>
|
||||
'{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}'
|
||||
@@ -519,7 +519,7 @@ export default {
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
@@ -546,7 +546,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '已提交') {
|
||||
if(item.state !== '已提交'&& item.state !== 'Submit') {
|
||||
this.NotSelectedRowKeysValue.push(item)
|
||||
this.jurisdiction = 'homoTH'
|
||||
flag = 0
|
||||
@@ -564,7 +564,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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.jurisdiction = 'sdtTH'
|
||||
flag = 0
|
||||
@@ -582,7 +582,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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.jurisdiction = 'dreTH'
|
||||
flag = 0
|
||||
@@ -603,7 +603,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
@@ -622,7 +622,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
@@ -641,7 +641,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '待发起收集') {
|
||||
if(item.state !== '待发起收集'&& item.state !== 'Wait Collect') {
|
||||
this.NotSelectedRowKeysValue.push(item)
|
||||
flag = 0
|
||||
}
|
||||
@@ -662,7 +662,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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.jurisdiction = 'homoQZTH'
|
||||
flag = 0
|
||||
@@ -681,7 +681,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '待填写') {
|
||||
if(item.state !== '待填写'&&item.state !== 'Wait Fill') {
|
||||
this.NotSelectedRowKeysValue.push(item)
|
||||
this.jurisdiction = 'sdtQZTH'
|
||||
flag = 0
|
||||
@@ -699,7 +699,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '已提交') {
|
||||
if(item.state !== '已提交'&&item.state !== 'Submit') {
|
||||
this.NotSelectedRowKeysValue.push(item)
|
||||
this.jurisdiction = 'dreQZTH'
|
||||
flag = 0
|
||||
@@ -720,7 +720,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
@@ -739,7 +739,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
@@ -757,7 +757,7 @@ export default {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
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)
|
||||
flag = 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user