评估流程
This commit is contained in:
@@ -41,27 +41,6 @@
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="适用区域" prop="applyRegion" class="add-form-item form-item-disabled add-form-el-select">-->
|
||||
<!--<!– <el-input–>-->
|
||||
<!--<!– v-model="listForm.applyRegion"–>-->
|
||||
<!--<!– placeholder="请输入适用区域"–>-->
|
||||
<!--<!– clearable–>-->
|
||||
<!--<!– ></el-input>–>-->
|
||||
<!-- <el-select-->
|
||||
<!-- width="120"-->
|
||||
<!-- v-model="listForm.applyRegion"-->
|
||||
<!-- placeholder="请选择适用区域"-->
|
||||
<!-- filterable-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in countryOptions"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- >-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="listForm.descriptionList"
|
||||
@@ -69,26 +48,6 @@
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="附件" prop="modelName" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input-->
|
||||
<!-- disabled-->
|
||||
<!-- style="display: none;"-->
|
||||
<!-- v-model="listForm.modelName"-->
|
||||
<!-- clearable-->
|
||||
<!-- ></el-input>-->
|
||||
<!-- <div v-if="listForm.modelName" @click="fileUpload" class="fileClass">-->
|
||||
<!-- {{ listForm.modelName }}-->
|
||||
<!-- </div>-->
|
||||
<!-- <div v-else>-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- class="common-button-primary"-->
|
||||
<!-- @click="fileUpload"-->
|
||||
<!-- size="mini">-->
|
||||
<!-- 点击上传-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="附件" prop="fileId" class="add-form-item form-item-disabled">
|
||||
<el-upload
|
||||
v-if="listForm.fileId == null || this.listForm.fileId== 'undefined' || this.listForm.fileId == '' "
|
||||
@@ -281,21 +240,6 @@
|
||||
<div class="left">
|
||||
<el-form :modal="sarSarAccessEOSearch" :inline="true" class="label-input-form"
|
||||
style="margin-left:10px">
|
||||
<!-- <el-form-item label="国家/地区" class="search-item search-item-last">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="sarSarAccessEOSearch.countryArea"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- filterable-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in countryOptions"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- >-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="清单名称" class="search-item search-item-last">
|
||||
<el-input
|
||||
v-model="sarSarAccessEOSearch.detailedListName"
|
||||
@@ -392,8 +336,7 @@
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD
|
||||
hh:mm:ss") : scope.row.updateTime
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD hh:mm:ss") : scope.row.updateTime
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
@@ -473,8 +416,7 @@
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD
|
||||
hh:mm:ss") : scope.row.updateTime
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-D hh:mm:ss") : scope.row.updateTime
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
@@ -554,8 +496,7 @@
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD
|
||||
hh:mm:ss") : scope.row.updateTime
|
||||
{{ scope.row.updateTime ? $moment(scope.row.updateTime).format("YYYY-MM-DD hh:mm:ss") : scope.row.updateTime
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
@@ -753,7 +694,7 @@
|
||||
</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-dialog width="400px" :visible.sync="fileMadel" title="上传文件">
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
@@ -790,7 +731,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
fileUrl: 'api/att/attFile/upload',
|
||||
fileUrl: "api/att/attFile/upload",
|
||||
fileMadel: false,
|
||||
searching: false,
|
||||
// 查询选择清单相关参数
|
||||
@@ -802,8 +743,8 @@ export default {
|
||||
},
|
||||
//查询添加标准相关数据
|
||||
standardSearch: {
|
||||
standType: '',
|
||||
standNumber:'',
|
||||
standType: "",
|
||||
standNumber: "",
|
||||
pageNo: 1,
|
||||
pageSizeNo: this.$store.getters.userInfo.configContent
|
||||
},
|
||||
@@ -878,9 +819,9 @@ export default {
|
||||
listName: "", //清单名称
|
||||
// applyRegion: "", //适用区域
|
||||
descriptionList: "", //清单说明
|
||||
fileId:'',
|
||||
model: '', // 上传模板
|
||||
modelName: '',
|
||||
fileId: "",
|
||||
model: "", // 上传模板
|
||||
modelName: "",
|
||||
standId: "", //选择的清单的id
|
||||
signFlag: "1", //是否会签 1为会签 2为不会签
|
||||
inforlist: "", //用来存放标准列表的标准id
|
||||
@@ -898,15 +839,15 @@ export default {
|
||||
// countryOptions: [], //适用区域下拉框数据
|
||||
standardTypeOptions: [
|
||||
{
|
||||
value: 'INLAND',
|
||||
label: '国内标准法规',
|
||||
item:'INLAND',
|
||||
value: "INLAND",
|
||||
label: "国内标准法规",
|
||||
item: "INLAND"
|
||||
},
|
||||
{
|
||||
value: 'FOREIGN',
|
||||
label: '海外标准法规',
|
||||
item:'FOREIGN',
|
||||
},
|
||||
value: "FOREIGN",
|
||||
label: "海外标准法规",
|
||||
item: "FOREIGN"
|
||||
}
|
||||
],
|
||||
user1: "",
|
||||
user2: "",
|
||||
@@ -962,7 +903,7 @@ export default {
|
||||
},
|
||||
// //判断当前选中的是哪个清单
|
||||
selectionList(type) {
|
||||
type = this.listType
|
||||
type = this.listType;
|
||||
if (type === "project") {
|
||||
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
|
||||
page: this.page,
|
||||
@@ -989,7 +930,7 @@ export default {
|
||||
this.total = res.data.total;
|
||||
}, e => {
|
||||
});
|
||||
} else if(type === 'country') {
|
||||
} else if (type === "country") {
|
||||
this.$http.get("sarLawsDetailedList/sar-laws-detailed-list/getAllStand", {
|
||||
page: this.page,
|
||||
pageSize: this.pageSize,
|
||||
@@ -1010,11 +951,11 @@ export default {
|
||||
detailedListName: ""
|
||||
};
|
||||
this.standardSearch = {
|
||||
standType:'',
|
||||
standNumber: '',
|
||||
}
|
||||
standType: "",
|
||||
standNumber: ""
|
||||
};
|
||||
this.selectionList();
|
||||
this.addList()
|
||||
this.addList();
|
||||
},
|
||||
//点击添加事件
|
||||
addList() {
|
||||
@@ -1027,7 +968,7 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standardData = res.data.list;
|
||||
this.totalNo = res.data.count
|
||||
this.totalNo = res.data.count;
|
||||
}, e => {
|
||||
});
|
||||
this.standModel = true;
|
||||
@@ -1084,10 +1025,10 @@ export default {
|
||||
//提交事件
|
||||
handleSubmit() {
|
||||
let json = this.listForm;
|
||||
this.listForm.fileId = this.fileIds.join(',')
|
||||
this.listForm.fileName = this.fileListName.join(',')
|
||||
this.listForm.model=this.listForm.fileId
|
||||
this.listForm.modelName=this.listForm.fileName
|
||||
this.listForm.fileId = this.fileIds.join(",");
|
||||
this.listForm.fileName = this.fileListName.join(",");
|
||||
this.listForm.model = this.listForm.fileId;
|
||||
this.listForm.modelName = this.listForm.fileName;
|
||||
// let json = Object.assign(this.listForm, this.roleForm)
|
||||
json.zrUserId = this.roleForm.dockUser; //会签人
|
||||
json.jlUserId = this.roleForm.directorUser; //业务经理
|
||||
@@ -1131,114 +1072,114 @@ export default {
|
||||
},
|
||||
// 删除上传的文件
|
||||
delFileInfo(file, fileList) {
|
||||
let middle = []
|
||||
let files=[]
|
||||
let middle = [];
|
||||
let files = [];
|
||||
fileList.forEach(item => {
|
||||
middle.push(item.name)
|
||||
files.push(item.response.data.id)
|
||||
})
|
||||
this.fileListName = middle
|
||||
this.fileIds=files
|
||||
middle.push(item.name);
|
||||
files.push(item.response.data.id);
|
||||
});
|
||||
this.fileListName = middle;
|
||||
this.fileIds = files;
|
||||
},
|
||||
fileUpload() {
|
||||
this.fileMadel = true
|
||||
this.fileMadel = true;
|
||||
},
|
||||
// 上传文件成功回调
|
||||
uploadBackSuccess(res, file, fileList) {
|
||||
if (res.ok) {
|
||||
let middle = []
|
||||
let middle = [];
|
||||
fileList.forEach(item => {
|
||||
middle.push(item.name)
|
||||
})
|
||||
this.fileListName = middle
|
||||
this.fileIds.push(file.response.data.id)
|
||||
middle.push(item.name);
|
||||
});
|
||||
this.fileListName = middle;
|
||||
this.fileIds.push(file.response.data.id);
|
||||
// this.fileInfoList[this.fileInfoList.length - 1].id = res.data.id
|
||||
// this.$message.success('上传成功')
|
||||
} else {
|
||||
this.$message.error(res.message)
|
||||
fileList.pop()
|
||||
this.$message.error(res.message);
|
||||
fileList.pop();
|
||||
}
|
||||
},
|
||||
// 相关附件 上传之前钩子
|
||||
beforeUpload(file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
var filename = file.name;
|
||||
var index1 = filename.lastIndexOf(".");
|
||||
var index2 = filename.length;
|
||||
var fileSuffix = filename.substring(index1, index2);
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
//把后缀转大写
|
||||
if (fileSuffix !== undefined && fileSuffix !== null) {
|
||||
fileSuffix = fileSuffix.toUpperCase()
|
||||
fileSuffix = fileSuffix.toUpperCase();
|
||||
}
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|
||||
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|
||||
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG') {
|
||||
return true
|
||||
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|
||||
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|
||||
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
|
||||
return true;
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
|
||||
return false
|
||||
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
|
||||
return false;
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 > 300) {
|
||||
this.$message.warning('文件' + file.name + '大小不能超过300M')
|
||||
return false
|
||||
this.$message.warning("文件" + file.name + "大小不能超过300M");
|
||||
return false;
|
||||
}
|
||||
return true
|
||||
return true;
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview(item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
name: "OtherStandardDetails",
|
||||
params: {
|
||||
id: item.id,
|
||||
pageType: 'INLAND_STAND'
|
||||
pageType: "INLAND_STAND"
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
});
|
||||
window.open(routeUrl.href, "_blank");
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
importFileSuccess(response, file) {
|
||||
if (response.ok) {
|
||||
this.fileMadel = false
|
||||
this.listForm.model = response.data.id
|
||||
this.listForm.modelName = response.data.name
|
||||
this.fileMadel = false;
|
||||
this.listForm.model = response.data.id;
|
||||
this.listForm.modelName = response.data.name;
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: response.message,
|
||||
type: 'success'
|
||||
})
|
||||
type: "success"
|
||||
});
|
||||
}
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beginImportFile(file) {
|
||||
var filename = file.name
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
var filename = file.name;
|
||||
var index1 = filename.lastIndexOf(".");
|
||||
var index2 = filename.length;
|
||||
var fileSuffix = filename.substring(index1, index2);
|
||||
// const fileSuffix = file.name.split('.')[1] // 后缀名
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === '.PDF' || fileSuffix === '.DOC' || fileSuffix === '.DOCX' || fileSuffix === '.PPT'
|
||||
|| fileSuffix === '.PPTX'|| fileSuffix === '.XLS'|| fileSuffix === '.XLSX'
|
||||
|| fileSuffix === '.PNG'|| fileSuffix === '.JPG'|| fileSuffix === '.JPEG' ||
|
||||
fileSuffix === '.pdf' || fileSuffix === '.doc' || fileSuffix === '.docx' || fileSuffix === '.ppt'
|
||||
|| fileSuffix === '.pptx'|| fileSuffix === '.xls'|| fileSuffix === '.xlsx'
|
||||
|| fileSuffix === '.png'|| fileSuffix === '.jpg'|| fileSuffix === '.jpeg') {
|
||||
return true
|
||||
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|
||||
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|
||||
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG" ||
|
||||
fileSuffix === ".pdf" || fileSuffix === ".doc" || fileSuffix === ".docx" || fileSuffix === ".ppt"
|
||||
|| fileSuffix === ".pptx" || fileSuffix === ".xls" || fileSuffix === ".xlsx"
|
||||
|| fileSuffix === ".png" || fileSuffix === ".jpg" || fileSuffix === ".jpeg") {
|
||||
return true;
|
||||
} else {
|
||||
this.spinShow = false
|
||||
this.$message.error('文件' + file.name + '格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件')
|
||||
return false
|
||||
this.spinShow = false;
|
||||
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
|
||||
return false;
|
||||
}
|
||||
// 判断文件上传大小
|
||||
// eslint-disable-next-line no-unreachable
|
||||
if (file.size / 1024 / 1024 <= 200) {
|
||||
return true
|
||||
return true;
|
||||
} else {
|
||||
this.$message.error('文件' + file.name + '大小不超过200M')
|
||||
return false
|
||||
this.$message.error("文件" + file.name + "大小不超过200M");
|
||||
return false;
|
||||
}
|
||||
return true
|
||||
return true;
|
||||
},
|
||||
// beginImportFile (file) {
|
||||
// var filename = file.name
|
||||
@@ -1272,7 +1213,7 @@ export default {
|
||||
this.ListModel = false;
|
||||
},
|
||||
typeChange(type) {
|
||||
this.standardSearch.standType = type
|
||||
this.standardSearch.standType = type;
|
||||
},
|
||||
//添加标准取消事件
|
||||
cancelStand() {
|
||||
@@ -1298,7 +1239,7 @@ export default {
|
||||
_this.dataList.push(item);
|
||||
}
|
||||
});
|
||||
this.standardData = []
|
||||
this.standardData = [];
|
||||
_this.standModel = false;
|
||||
}
|
||||
},
|
||||
@@ -1323,15 +1264,15 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data == null) {
|
||||
res.data=[]
|
||||
res.data = [];
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.listForm.dataList = res.data;
|
||||
let formId = []
|
||||
let formId = [];
|
||||
this.dataList.map(item => {
|
||||
formId.push(item.id)
|
||||
formId.push(item.id);
|
||||
});
|
||||
this.listForm.inforlist = formId.join(',');
|
||||
this.listForm.inforlist = formId.join(",");
|
||||
}, e => {
|
||||
});
|
||||
} else if (this.selectedList.length > 1) {
|
||||
@@ -1379,14 +1320,14 @@ export default {
|
||||
this.selectionList();
|
||||
},
|
||||
pageChangeNo(page) {
|
||||
this.pageNo = page
|
||||
this.addList()
|
||||
this.pageNo = page;
|
||||
this.addList();
|
||||
},
|
||||
pageSizeChangeNo(pageSize) {
|
||||
this.pageSizeNo = this.$store.getters.userInfo.configContent;
|
||||
this.addList()
|
||||
this.addList();
|
||||
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
mounted() {
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
row-key= "id"
|
||||
height="70%"
|
||||
border
|
||||
lazy
|
||||
:load="load"
|
||||
@selection-change="selectStandChange"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@@ -224,13 +222,6 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
load(tree, treeNode, resolve) {
|
||||
setTimeout(() => {
|
||||
resolve(
|
||||
this.listForm.children
|
||||
)
|
||||
}, 1000)
|
||||
},
|
||||
processTable() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
prcNum: this.$route.query.prcNum,
|
||||
@@ -266,32 +257,50 @@ export default {
|
||||
},
|
||||
//动态表单读取
|
||||
getFormFieldList(item) {
|
||||
this.$nextTick(() => {
|
||||
this.listForm = JSON.parse(JSON.stringify(item));
|
||||
item.dataList.forEach(item => {
|
||||
item.hasChildren = true
|
||||
const listForm = JSON.parse(JSON.stringify(item));
|
||||
const { breakdownList, dataList } = listForm
|
||||
listForm.prcNum = this.prcNum;
|
||||
listForm.prcName = this.prcName;
|
||||
this.listForm = listForm
|
||||
listForm["id"] = item.id;
|
||||
listForm.dataList = item.dataList;
|
||||
dataList.forEach(stand => {
|
||||
stand.hasChildren = true
|
||||
console.log(stand);
|
||||
const children = []
|
||||
breakdownList.forEach(childItem => {
|
||||
if (stand.standId === childItem.standId) {
|
||||
const childItemData = {
|
||||
id: childItem.id,
|
||||
standId: '条款号: '+ childItem.itemsNum,
|
||||
standName: '条款名称: '+ childItem.itemsName
|
||||
}
|
||||
children.push(childItemData)
|
||||
}
|
||||
})
|
||||
this.listForm.prcNum = this.prcNum;
|
||||
this.listForm.prcName = this.prcName;
|
||||
this.listForm["id"] = item.id;
|
||||
this.listForm.dataList = item.dataList;
|
||||
this.dataList = item.dataList;
|
||||
this.dataList.distributePerson = item.dataList[0].distributePerson;
|
||||
this.listForm.breakdownList = item.breakdownList;
|
||||
this.listForm.children = item.breakdownList;
|
||||
let children = []
|
||||
item.breakdownList.forEach(
|
||||
item=>{
|
||||
let aa = {
|
||||
id:item.id,
|
||||
standId:'条款号: '+ item.itemsNum,
|
||||
standName:'条款名称: '+ item.itemsName,
|
||||
if (children.length) {
|
||||
stand.children = children
|
||||
stand.hasChildren = true
|
||||
}
|
||||
children.push(aa)
|
||||
}
|
||||
)
|
||||
this.listForm.children = children;
|
||||
});
|
||||
})
|
||||
|
||||
// dataList.distributePerson = item.dataList[0].distributePerson;
|
||||
// listForm.breakdownList = item.breakdownList;
|
||||
// listForm.children = item.breakdownList;
|
||||
// let children = []
|
||||
// item.breakdownList.forEach(
|
||||
// item=>{
|
||||
// let aa = {
|
||||
// id:item.id,
|
||||
// standId:'条款号: '+ item.itemsNum,
|
||||
// standName:'条款名称: '+ item.itemsName,
|
||||
// }
|
||||
// children.push(aa)
|
||||
// }
|
||||
// )
|
||||
// this.listForm.children = children;
|
||||
this.dataList = dataList
|
||||
console.log(this.dataList)
|
||||
},
|
||||
//保存事件
|
||||
handleSave() {
|
||||
@@ -377,7 +386,8 @@ export default {
|
||||
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
// const res = await xx()
|
||||
this.processTable();
|
||||
this.getData();
|
||||
this.getTree();
|
||||
|
||||
@@ -1,13 +1,586 @@
|
||||
<template>
|
||||
|
||||
<div class="xmpg-step3">
|
||||
<ProcessHeader toggle>
|
||||
<template slot="proName">项目合规评估流程-项目</template>
|
||||
<template slot="proNode">责任人填写评估反馈</template>
|
||||
</ProcessHeader>
|
||||
<div class="headerTabs">
|
||||
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '1'">
|
||||
<div style="flex: auto; overflow: auto">
|
||||
<process-title>
|
||||
<template slot="title">基础信息</template>
|
||||
</process-title>
|
||||
<el-form
|
||||
:model="listForm"
|
||||
class="label-input-form prc-content-border"
|
||||
label-width="150px"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="listForm.projectNumber"
|
||||
placeholder="请输入项目编号"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
v-model="listForm.projectName"
|
||||
placeholder="请输入项目名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<process-title>
|
||||
<template slot="title">填写信息</template>
|
||||
</process-title>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
ref="selection"
|
||||
height="70%"
|
||||
style="width: 100%; border:1px solid #ccc"
|
||||
@selection-change="selectStandChange"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standId"
|
||||
align="center"
|
||||
width="200"
|
||||
label="标准编号">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
align="center"
|
||||
width="200"
|
||||
label="标准名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="itemNum"
|
||||
align="center"
|
||||
width="200"
|
||||
label="条款号">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="itemsName"
|
||||
width="200"
|
||||
align="center"
|
||||
label="条款名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="xCXSSRQ"
|
||||
width="200"
|
||||
align="center"
|
||||
label="新车型实施日期">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="zCCSSRQ"
|
||||
width="200"
|
||||
align="center"
|
||||
label="在产车实施日期">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="productType"
|
||||
align="center"
|
||||
label="在研产品">
|
||||
<el-table-column
|
||||
prop="researchCompliance"
|
||||
align="center"
|
||||
width="160"
|
||||
label="合规">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].complianceReasons"
|
||||
placeholder="请输入合规原因"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
width="160"
|
||||
prop="researchNonCompliance"
|
||||
label="不合规">
|
||||
<el-table-column
|
||||
prop="researchNonCompliance"
|
||||
align="center"
|
||||
width="160"
|
||||
label="不合规项目">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].noCompliance"
|
||||
placeholder="请输入不合规项目"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="researchCountermeasures"
|
||||
align="center"
|
||||
width="160"
|
||||
label="应对措施">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].countermeasures"
|
||||
placeholder="请输入应对措施"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="researchCompletionTime"
|
||||
align="center"
|
||||
width="160"
|
||||
label="完成时间">
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="dataList[scope.$index].completionTime"
|
||||
type="date"
|
||||
placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="在产产品">
|
||||
<el-table-column
|
||||
prop="productionCompliance"
|
||||
align="center"
|
||||
width="160"
|
||||
label="合规(具体情况)">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].zcComplianceReasons"
|
||||
placeholder="请输入合规原因"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
width="160"
|
||||
label="不合规">
|
||||
<el-table-column
|
||||
prop="productionNonCompliance"
|
||||
align="center"
|
||||
width="160"
|
||||
label="不合规项目">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].zcNoCompliance"
|
||||
placeholder="请输入不合规项目"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="productionCountermeasures"
|
||||
align="center"
|
||||
width="160"
|
||||
label="应对措施">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
v-model="dataList[scope.$index].zcCountermeasures"
|
||||
placeholder="请输入应对措施"
|
||||
>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="productionCompletionTime"
|
||||
align="center"
|
||||
width="160"
|
||||
label="完成时间">
|
||||
<template slot-scope="scope">
|
||||
<el-date-picker
|
||||
v-model="dataList[scope.$index].zcCompletionTime"
|
||||
type="date"
|
||||
placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="150"
|
||||
prop="implementer"
|
||||
label="落实人">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content" v-show="active === '3'">
|
||||
<div class="flow-list" style="height: 100%">
|
||||
<el-table
|
||||
height="100%"
|
||||
ref="selection"
|
||||
:data="detailData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
row-key="id"
|
||||
:no-data-text="listNoDataText"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="任务步骤"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="assignee"
|
||||
label="任务受理人"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
sortable="custom"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
label="完成时间"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="comment"
|
||||
label="审批意见"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.commentText }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="completeFlag"
|
||||
label="状态"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">流程列表加载中</loading>
|
||||
</div>
|
||||
</div>
|
||||
<ProcessFooter
|
||||
show-save
|
||||
show-submit
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
<!-- 选择责任人-->
|
||||
<Role-tree
|
||||
check-box
|
||||
:is-title="drawerTitle"
|
||||
:is-visible.sync="modalshowflag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ProcessHeader from "../../components/ProcessHeader";
|
||||
import ProcessFooter from "../../components/ProcessFooter";
|
||||
import ProcessTitle from "../../components/ProcessTitle";
|
||||
import { inboundLiaisonDetail, queryDetail } from "api/process";
|
||||
|
||||
export default {
|
||||
name: "xmpg2Step6"
|
||||
name: "xmpg2Step6",
|
||||
components: {
|
||||
ProcessTitle,
|
||||
ProcessHeader,
|
||||
ProcessFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
hasChildren: true,
|
||||
active: "1",
|
||||
loading: false,
|
||||
// 当前流程类型(1待办/2已办)
|
||||
processType: 1,
|
||||
isSubmit: false,
|
||||
saveLoading: false,
|
||||
showColumn: true,
|
||||
drawerTitle: "", //drawer标题
|
||||
modalshowflag: false, // drawer开关
|
||||
selectList: [],
|
||||
treeData: [], // 人员数据
|
||||
roleForm: {
|
||||
liablePeople: ""
|
||||
},
|
||||
peopleFlag: true,
|
||||
nodeList: [],
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "name"
|
||||
},
|
||||
//表单的数据
|
||||
listForm: {
|
||||
projectNumber: "", //项目编号
|
||||
projectName: "", //项目名称
|
||||
dataList: [], //项目下的标准数据
|
||||
children: [], //标准下的分解单数据
|
||||
},
|
||||
dataList: [], //展示的标准数据
|
||||
commentText: "", //审批意见
|
||||
detailData: [], //流程历史数据
|
||||
userId: this.$store.getters.userInfo.userId,
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
processTable() {
|
||||
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||
prcNum: this.$route.query.prcNum,
|
||||
sortWord: this.shunxu ? this.paixu : "",
|
||||
shunxu: this.shunxu
|
||||
}, {
|
||||
loading: "loading",
|
||||
_this: this
|
||||
}, res => {
|
||||
this.detailData = res;
|
||||
}, e => {
|
||||
});
|
||||
},
|
||||
//tab改变
|
||||
handleTabs(type) {
|
||||
this.active = type;
|
||||
},
|
||||
//获取数据
|
||||
getData() {
|
||||
return new Promise((resolve, reject) => {
|
||||
inboundLiaisonDetail({
|
||||
taskIds: this.taskIds,
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
console.log(res.mesg);
|
||||
if (res) {
|
||||
const processForm = JSON.parse(res.mesg);
|
||||
this.getFormFieldList(processForm);
|
||||
}
|
||||
}).catch(e => {
|
||||
});
|
||||
});
|
||||
},
|
||||
//动态表单读取
|
||||
getFormFieldList(item) {
|
||||
this.$nextTick(() => {
|
||||
this.listForm = JSON.parse(JSON.stringify(item));
|
||||
this.listForm.prcNum = this.prcNum;
|
||||
this.listForm.prcName = this.prcName;
|
||||
this.listForm["id"] = item.id;
|
||||
this.listForm.dataList = item.dataList;
|
||||
console.log(item.dataList);
|
||||
this.dataList = item.dataList;
|
||||
this.dataList.distributePerson = item.dataList[0].distributePerson;
|
||||
this.listForm.breakdownList = item.breakdownList;
|
||||
});
|
||||
},
|
||||
//保存事件
|
||||
handleSave() {
|
||||
|
||||
},
|
||||
//提交事件
|
||||
handleSubmit() {
|
||||
this.listForm.dataList.forEach(item => {
|
||||
if (item.liablePeople !== undefined) {
|
||||
this.listForm.commentText = this.commentText;
|
||||
const json = JSON.stringify(this.listForm);
|
||||
console.log(json);
|
||||
this.$http.post("lawss/activiti/completeTask", {
|
||||
taskIds: this.taskIds,
|
||||
userId: this.userId,
|
||||
json: json
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message);
|
||||
this.$router.push("/processCenter");
|
||||
}
|
||||
}, e => {
|
||||
});
|
||||
} else {
|
||||
this.$message.warning("请选择分发负责人");
|
||||
}
|
||||
});
|
||||
},
|
||||
//批量操作按钮
|
||||
batchOperation(id) {
|
||||
console.log(this.selectList);
|
||||
if (this.selectList.length === 0) {
|
||||
this.$message.warning("请至少选择一条数据进行批量分发");
|
||||
} else {
|
||||
this.nodeList = [];
|
||||
this.nodeList.push(id);
|
||||
this.modalshowflag = true;
|
||||
}
|
||||
},
|
||||
//标准表格选择框改变
|
||||
selectStandChange(data) {
|
||||
this.selectList = data;
|
||||
},
|
||||
getTree() {
|
||||
this.$http.get("SarInstitution/institution/institutionAndUser", {}, {}, res => {
|
||||
this.treeData = res.data;
|
||||
});
|
||||
},
|
||||
drawerCheck(data) {
|
||||
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
|
||||
if (getlist.length == 1) {
|
||||
this.roleRow = getlist[0];
|
||||
} else {
|
||||
this.$refs.tree.setCheckedKeys([data.id]);
|
||||
this.roleRow = this.$refs.tree.getCheckedNodes()[0];
|
||||
}
|
||||
},
|
||||
checkedRole(data) {
|
||||
// 选取负责人时的操作
|
||||
let mis = [];
|
||||
this.selectList.forEach(item => {
|
||||
item.liablePeople = data[0].name;
|
||||
item.liablePeopleId = data[0].id;
|
||||
mis.push(item.standId);
|
||||
});
|
||||
this.dataList.forEach(item => {
|
||||
if (!mis.includes(item.standId)) {
|
||||
this.selectList.push(item);
|
||||
}
|
||||
});
|
||||
this.dataList = this.selectList;
|
||||
this.$refs.selection.clearSelection();
|
||||
this.modalshowflag = false;
|
||||
},
|
||||
cancleUserInfo() {
|
||||
this.modalshowflag = false;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listNoDataText() {
|
||||
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.processTable();
|
||||
this.getData();
|
||||
this.getTree();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
|
||||
.xmpg-step3 {
|
||||
/deep/ .el-drawer__container {
|
||||
.prc-content-border {
|
||||
border: none;
|
||||
padding: 0 20px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.choiceBtn {
|
||||
.el-button--primary {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
position: relative;
|
||||
height: 100%;
|
||||
|
||||
.headerTabs {
|
||||
height: 52px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
|
||||
.headerTabsItem {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 0 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.active {
|
||||
border: 1px solid #E6A23C;
|
||||
color: #fff;
|
||||
background: #E6A23C;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: calc(~'100% - 103px');
|
||||
overflow: auto;
|
||||
|
||||
.tableTitle {
|
||||
margin-bottom: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
position: relative;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
|
||||
.tableButton {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.accessStandardsAndRegulations {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.demo-drawer-content {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -30,10 +30,11 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<div class="action-bar">
|
||||
<el-button plain class="common-button-primary" size="mini" @click="addList">调取</el-button>
|
||||
<el-button plain class="common-button-primary" size="mini" @click="deleteList">批量删除</el-button>
|
||||
<el-button plain class="common-button-primary" v-btn-permission="'2c4366e07a5b707bf3d3f4985fb82662'" size="mini" @click="addList">调取</el-button>
|
||||
<el-button plain class="common-button-primary" v-btn-permission="'63d9a5a8f7b6a4095511394a60013eac'" size="mini" @click="deleteList">批量删除</el-button>
|
||||
<el-button class="common-button-default export-button"
|
||||
size="mini" @click="exportStandard"
|
||||
v-btn-permission="'ec6b73db0edd6a379d3ea90af3849861'"
|
||||
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
|
||||
icon="export"
|
||||
>导出</el-button>
|
||||
|
||||
Reference in New Issue
Block a user