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

This commit is contained in:
zyx.net
2022-08-10 17:36:33 +08:00
18 changed files with 346 additions and 81 deletions
@@ -88,7 +88,7 @@ public class JeroBootExceptionHandler {
@ExceptionHandler(MaxUploadSizeExceededException.class)
public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
log.error(e.getMessage(), e);
return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! ");
return Result.error("文件大小超出100MB限制, 请压缩或降低文件质量! ");
}
@ExceptionHandler(DataIntegrityViolationException.class)
@@ -19,6 +19,9 @@ public enum JumpLinkEnum {
DESIGN_AFFIRM_LINK("设计符合性确认链接","4","/ProjectDetails?id=","&type=103"),
TASK_AFFIRM_LINK("任务确认链接","2","/ProcessCenter",""),
COMPLIANCE_PROCESS_DETAIL_LINK("符合性流程明细页路由","2","/taskListProcess",""),
PROBLEM_KNOWLEDGE_BASE_DETAIL("问题知识库,详情页","","/problemKnowledgeBaseView",""),
PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""),
;
@@ -1350,7 +1350,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//消息内容
String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for "
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ". The due date is" +inventoryAffirmDueDate+ " .Please check and address it in a timely manner.";
+ ". The due date is " + inventoryAffirmDueDate+ ". Please check and address it in a timely manner.";
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a regulation list confirmation task to complete";
@@ -2117,11 +2117,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String taskType = "";
String initiator = "";
String initiatorLark = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_START_MSG.getValue())) {
userIdList.add(engineeringInterfacePerson);
msgContentEN = sysUser.getUsername() + " initiated the regulation task confirmation of " + projectNameInfoEO.getProjectName()
+ ".The due date is" +taskAffirmDueDate+ " Please check and address it in a timely manner.";
+ ". The due date is " + taskAffirmDueDate + ". Please check and address it in a timely manner.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a regulation task confirmation to complete";
@@ -2136,7 +2137,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String dreUserId = jsonObject.getString("dreUserId"); //dre用户id
userIdList.add(dreUserId);
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
+ ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
+ " to you. The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a regulation task confirmation to complete";
@@ -2150,7 +2151,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
userIdList.add(engineeringInterfacePerson);
msgContentEN = sysUser.getUsername() + " has rejected the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a regulation task confirmation to complete";
@@ -2164,7 +2165,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_ACCEPTED.getValue())) {
userIdList.add(engineeringInterfacePerson);
msgContentEN = sysUser.getUsername() + " has submitted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a regulation task confirmation to complete";
@@ -2207,7 +2208,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
userIdList.add(designDutyId);
msgContentEN = "You recieved the design compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
+ ". The due date is XXXX. Please check and address it in a timely manner.";
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getDesignDueDate()) + ". Please check and address it in a timely manner.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a design compliance task to complete";
@@ -2225,7 +2226,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
userIdList.add(prehomoDutyId);
msgContentEN = "You recieved the Pre-Homo task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
+ ". The due date is XXXX. Please check and address it in a timely manner.";
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()) + ". Please check and address it in a timely manner.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a Pre-Homo task to complete";
@@ -2244,7 +2245,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
userIdList.add(verifyDutyId);
msgContentEN = "You recieved the validation compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
+ ". The due date is XXXX. Please check and address it in a timely manner.";
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()) + ". Please check and address it in a timely manner.";
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
+ ": You have a validation compliance task to complete";
@@ -214,4 +214,11 @@ public class workFlowController {
public Result startTaskToConfirmProcess(@RequestBody JSONObject jsonObject){
return workFlowFeignClient.startTaskToConfirmProcess(jsonObject);
}
@AutoLog(value = "根据taskId删除流程")
@ApiOperation(value="根据taskId删除流程", notes="根据taskId删除流程")
@GetMapping("/deleteProcessInstanceByTaskId")
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
return workFlowFeignClient.deleteProcessInstance(taskId);
}
}
@@ -156,4 +156,12 @@ public interface WorkFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/task/completeLawsTechnologyEvaluationTaskByPids",method = RequestMethod.GET)
Result<String> completeLawsTechnologyEvaluationTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds);
/**
* 根据待办id删除流程
* @param taskId
* @return
*/
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByTaskId",method = RequestMethod.GET)
Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId") String taskId);
}
@@ -177,4 +177,13 @@ public class WorkFlowFeignClientImpl{
Result<String> stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString());
return Result.OK(stringWrapper.getResult());
}
/**
* 根据待办id删除流程
* @param taskId
* @return
*/
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
return workFlowFeignClient.deleteProcessInstance(taskId);
}
}
@@ -350,13 +350,23 @@
}
postAction('/workFlow/startProcess', query).then((res) => {
if (res.success) {
this.completeTask(value, res.result)
this.completeTask(value, res.result, true)
} else {
this.JLoading = false
}
})
},
completeTask(value, taskId) {
deleteProcessInstanceByTask(taskId) {
getAction('/workFlow/deleteProcessInstanceByTaskId', { taskId: taskId }).then((res) => {
})
},
completeTask(value, taskId, isTrue) {
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: taskId,
@@ -375,6 +385,9 @@
} else {
this.JLoading = false
this.$message.warning(this.$t('operationFailed'))
if (isTrue) {
this.deleteProcessInstanceByTask(taskId)
}
}
})
}
@@ -38,7 +38,7 @@
</div>
<div class="content-box">
<div class="content-box-box" v-for="(item,index) in conList" :key="index" @click="contentClick(item)">
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<img :src="item.countryNationalFlag" class="content-box-box-img" alt="">
<span class="content-box-box-text">
{{item.applyMarket_dictText}}
</span>
@@ -144,7 +144,7 @@
path: '/countryCardView',
query: {
applyMarket: row.applyMarket,
id: row.id,
id: row.id
}
})
window.open(newUrl.href, '_blank')
@@ -216,14 +216,14 @@
}
.content-box-box-img {
width: 70%;
width: 238px;
height: 100%;
border-right: 1px #d9d9d9 solid;
}
.content-box-box-text {
width: calc(100% - 238px);
display: inline-block;
width: 30%;
text-align: center;
font-size: 18px;
font-weight: 500;
@@ -234,6 +234,7 @@
width: 100%;
text-align: right;
margin-top: 20px;
margin-bottom: 20px;
}
.operator-text {
@@ -23,22 +23,37 @@
</div>
<div style="overflow: auto;height: calc(100vh - 160px);">
<div class="content-box" :style="{'width':clientWidth}" v-if="isTrue">
<div style="width: 100%" v-for="(item1,index) in 14" class="content-box-top">
<div v-for="(item2,index2) in 16" style="width: 340px;display: inline-block" class="content-box-left">
<div style="width: 100%" v-for="(item1,index) in contentList" class="content-box-top">
<div v-for="(item2,index2) in item1.list" style="width: 340px;display: inline-block"
class="content-box-left">
<div class="content-box-box-top" v-if="index == 0">
<img class="content-box-box-img" style="display: inline-block;width: auto" v-if="index2 == 0">
<img src="../../../../assets/mobileHome.png" v-else class="content-box-box-img" alt="">
<img :src="item2.img" v-else class="content-box-box-img" alt="">
<span v-if="index2 == 0" class="content-box-box-text"></span>
<span v-else class="content-box-box-text">
中国
{{item2.applyMarket_dictText}}
</span>
</div>
<div class="content-box-box" v-else>
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<span class="content-box-box-text">
中国
</span>
<span style="color: #21c9cc"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
class="content-box-box-text content-box-box-text-index"
@click="viewFileClick(item2.lableName)"
v-if="item2.lableType == 7 && item2.lableName && index2 != 0">
{{$t('viewFile')}}
</span>
<span class="content-box-box-text content-box-box-text-index"
v-else
:title="item2.lableName"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
{{item2.lableName}}
</span>
<!-- <img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">-->
<!-- <span class="content-box-box-text">-->
<!-- 中国-->
<!-- </span>-->
</div>
</div>
</div>
@@ -47,8 +62,11 @@
</div>
</div>
</div>
<displayInformationModel ref="displayInformationModelRef"/>
<displayInformationModel ref="displayInformationModelRef"
@displayInformationModelForm="displayInformationModelForm"/>
<countryCardViewAdd ref="countryCardViewAddRef" @countryCardViewAddForm="countryCardViewAddForm"/>
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
<viewFileModel ref="viewFileModelRef"/>
</div>
</template>
@@ -56,49 +74,155 @@
import { getAction, postAction, downloadFile } from '@/api/manage'
import displayInformationModel from './displayInformationModel'
import countryCardViewAdd from './countryCardViewAdd'
import viewFileModel from '@/components/viewFileModel/index'
export default {
name: 'countryCardView',
components: {
displayInformationModel,
countryCardViewAdd
countryCardViewAdd,
viewFileModel
},
data() {
return {
clientWidth: '',
isTrue: false,
loading: false,
dataList: [],
contentList: [],
displayList: [],
queryCountryList: [],
countryCardViewList:[],
applyMarkets: '',
url: {
list: '/problemKnowledgeBase/countryCardTempEO/list',
deleteOne: ''
},
list: '/problemKnowledgeBase/countryCardManageReleaseEO/queryCountryCardManageReleaseByApplyMarkets'
}
},
mounted() {
this.isTrue = false
this.$nextTick(() => {
this.clientWidth = 340 * 14 + 'px'
this.isTrue = true
this.queryCountry(() => {
this.replacePage()
})
this.queryCountry()
},
methods: {
displayInformationClick() {
this.$refs.displayInformationModelRef.getData()
this.$refs.displayInformationModelRef.getData(JSON.parse(JSON.stringify(this.displayList)))
},
displayInformationModelForm(data) {
this.displayList = data
this.displayList = [...this.displayList]
this.consolidateData()
},
newlyAddedClick() {
this.$refs.countryCardViewAddRef.add()
this.$refs.countryCardViewAddRef.add(this.countryCardViewList)
},
countryCardViewAddForm(val) {
this.countryCardViewList = JSON.parse(JSON.stringify(val))
let content = []
if (val && val.length > 0) {
val.forEach(res => {
if (res.applyMarket) {
content.push(res.applyMarket)
}
})
}
this.applyMarkets = content.join(',')
this.queryCountry()
},
queryCountry() {
replacePage() {
getAction(this.url.list, {}).then((res) => {
if (res.success) {
this.displayList = res.result || []
this.displayList.forEach(val => {
val.showOrNot = true
})
this.consolidateData()
this.loading = false
} else {
this.displayList = []
this.loading = false
}
})
},
consolidateData() {
let content = []
this.contentList = []
this.contentList.push({})
if (this.displayList && this.displayList.length > 0) {
this.displayList.forEach(res => {
if (res.showOrNot) {
content.push(res)
}
})
}
if (this.queryCountryList && this.queryCountryList.length > 0) {
this.contentList[0].list = []
this.contentList[0].list.push({})
this.queryCountryList.forEach(val => {
this.contentList[0].name = 'tou'
this.contentList[0].list.push({
applyMarket_dictText: val.applyMarket_dictText,
img: val.countryNationalFlag
})
})
}
if (content && content.length > 0) {
content.forEach((res, index) => {
this.contentList[index + 1] = { name: res.lableName }
this.contentList[index + 1].list = []
this.contentList[index + 1].list.push({
lableName: res.lableName,
lableType: res.lableType
})
})
}
this.queryCountryList.forEach((res, index) => {
res.countryCardManageReleaseDetailEOList.forEach((val, index1) => {
this.contentList.forEach(res1 => {
if (res1.name == val.lableName) {
res1.list.push({
lableName: val.content,
lableType: val.lableType
})
}
})
})
})
console.log(this.contentList)
},
queryCountry(callback) {
this.loading = true
let applyMarkets = this.$route.query.applyMarket
if (this.applyMarkets) {
applyMarkets = applyMarkets + ',' + this.applyMarkets
}
let query = {
applyMarkets: applyMarkets
}
postAction(this.list, query).then((res) => {
if (res.success) {
this.queryCountryList = res.result || []
this.isTrue = false
this.$nextTick(() => {
this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px'
this.isTrue = true
})
callback && callback()
if (!callback) {
this.consolidateData()
this.loading = false
}
} else {
callback && callback()
this.contentList = []
this.loading = false
}
})
},
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
}
}
}
@@ -218,6 +342,8 @@
width: 340px;
display: inline-block;
height: 80px;
line-height: 80px;
text-align: center;
background: #fff;
border-right: 1px #d9d9d9 solid;
border-bottom: 1px #d9d9d9 solid;
@@ -249,10 +375,28 @@
background: #fff;
}
.content-box-top {
height: 80px;
}
.content-box-top:first-child {
position: sticky;
top: 0;
height: 160px;
z-index: 111;
background: #fff;
}
.content-box-box-text-index {
width: 100% !important;
padding: 0 12px;
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.content-box-box-text-admin {
height: 80px !important;
}
</style>
@@ -31,7 +31,6 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('comparisonMarket')+(index+1)">{{$t('comparisonMarket')+(index+1)}}</span>
</div>
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="comparisonMarket">
@@ -111,14 +110,19 @@
mounted() {
},
methods: {
add() {
add(data) {
this.visible = true
console.log(data)
this.$nextTick(() => {
this.formInline = {}
this.formInline.applyMarket = this.$route.query.applyMarket
this.formInline.dataList = [{
relatedSection: ''
}]
if (data && data.length > 0) {
this.formInline.dataList = JSON.parse(JSON.stringify(data))
} else {
this.formInline.dataList = [{
applyMarket: ''
}]
}
this.getList()
this.formInline = { ...this.formInline }
this.$refs.ruleForm.clearValidate()
@@ -129,11 +133,8 @@
this.formInline = { ...this.formInline }
},
handleOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
}
})
this.$emit('countryCardViewAddForm', JSON.parse(JSON.stringify(this.formInline.dataList)))
this.visible = false
},
handleCancel() {
this.visible = false
@@ -185,8 +186,6 @@
for (let j = 0; j < this.formInline.dataList[i].applyMarketList.length; j++) {
if (contentIndex.includes(this.formInline.dataList[i].applyMarketList[j].applyMarket)
&& this.formInline.dataList[i].applyMarket != this.formInline.dataList[i].applyMarketList[j].applyMarket) {
console.log(111)
console.log(j)
this.formInline.dataList[i].applyMarketList.splice(j, 1)
j--
}
@@ -11,13 +11,15 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px">
<a-table
v-if="this.visible"
:key="'id'"
:columns="columns"
:scroll="{x: '100%',y:'calc(100vh - 200px)'}"
:data-source="dataList"
:pagination="false"
:loading="loading">
<span slot="showOrNot" slot-scope="text,record">
<a-checkbox :value="text"></a-checkbox>
<span slot="showOrNot" slot-scope="text,record,index">
<a-checkbox :checked="record.showOrNot" @change="onCheckAllChange(index)"></a-checkbox>
</span>
</a-table>
</div>
@@ -65,28 +67,23 @@
mounted() {
},
methods: {
getData() {
getData(data) {
this.visible = true
this.replacePage()
this.$nextTick(() => {
this.dataList = data
this.dataList = [...this.dataList]
})
},
handleCancel() {
this.visible = false
},
handleSubmit() {
},
replacePage() {
this.loading = true
getAction(this.url.list, {}).then((res) => {
if (res.success) {
this.dataList = res.result || []
this.loading = false
} else {
this.dataList = []
this.loading = false
}
})
this.$emit('displayInformationModelForm', this.dataList)
this.visible = false
},
onCheckAllChange(index) {
this.dataList[index].showOrNot = !this.dataList[index].showOrNot
}
}
}
</script>
@@ -13,13 +13,15 @@
</div>
<div class="box-content">
<div class="box-content-left">
<span class="box-content-left-text">{{$t('recentHotSpots')}}</span>
<span class="box-content-left-text">{{$t('disseminationMaterials')}}</span>
<span class="box-content-left-text">{{$t('informationSafety')}}</span>
<span class="box-content-left-text">{{$t('blueBook')}}</span>
<span class="box-content-left-text">{{$t('invoiceCollection')}}</span>
<span class="box-content-left-text">{{$t('productHighlights')}}</span>
<span class="box-content-left-text">{{$t('financialReimbursement')}}</span>
<template v-for="tag in tagList">
<a-checkable-tag
:key="tag.id"
:checked="selectedTags.indexOf(tag.id) > -1"
@change="checked => handleChange(tag.id, checked)"
>
{{ tag.problemLabel }}
</a-checkable-tag>
</template>
</div>
<div class="box-content-right">
<div @click="classificationClick" class="operator-text" v-has="'virtual:set:creater'">
@@ -91,9 +93,12 @@
searchContent: '',
checkboxText: [],
conList: [],
searchStr: '',
total: 0,
selectedTags: [],
loading: false,
pageSize: 10,
tagList: [],
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
pageNo: 1,
url: {
@@ -103,12 +108,29 @@
},
mounted() {
this.getList()
this.replacePage()
},
methods: {
replacePage() {
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
if (res.success) {
this.tagList = res.result
} else {
this.tagList = []
}
})
},
onSearch() {
this.pageNo = 1
this.getList()
},
handleChange(tag, checked) {
const { selectedTags } = this
const nextSelectedTags = checked
? [...selectedTags, tag]
: selectedTags.filter(t => t !== tag)
this.selectedTags = nextSelectedTags
},
ResetSearch() {
this.searchStr = ''
this.pageNo = 1
@@ -128,11 +150,6 @@
this.$router.push({
path: '/problemKnowledgeBaseAdd'
})
// let newUrl = this.$router.resolve({
// path: '/problemKnowledgeBaseAdd',
// query: {}
// })
// window.open(newUrl.href, '_blank')
},
pageOnChange(page, pageSize) {
this.pageNo = page
@@ -323,4 +340,19 @@
text-align: center;
line-height: 10;
}
</style>
<style>
.box-content-left .ant-tag {
font-size: 14px;
font-weight: 400;
color: #040B29;
}
.box-content-left .ant-tag-checkable {
padding: 3px 8px;
}
.box-content-left .ant-tag-checkable-checked {
color: #fff;
}
</style>
@@ -564,6 +564,12 @@
})
},
completeTask(value, taskId) {
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: taskId,
@@ -307,11 +307,18 @@
}
},
completeTask() {
let value = JSON.parse(JSON.stringify(this.queryProject))
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: this.$route.query.taskIds,
flag: this.queryProject.flag,
json: JSON.stringify(this.queryProject).replace(/\"/g, '\'')
json: JSON.stringify(value).replace(/\"/g, '\'')
}
postAction('/workFlow/completeTask', query).then((res) => {
if (res.success) {
@@ -186,6 +186,12 @@
completeTask(value, handlingTime) {
let json = Object.assign(this.queryBy, { handlingTime: handlingTime }, value)
let data = JSON.stringify(json).replace(/\"/g, '\'')
Object.keys(data).forEach(res => {
if (data[res] && data[res] instanceof String) {
data[res] = data[res].replace(/\"/g, '“')
data[res] = data[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: this.$route.query.taskId || this.$route.query.taskIds,
@@ -248,15 +254,24 @@
}
postAction('/workFlow/startProcess', query).then((res) => {
if (res.success) {
this.completeTaskDesign(value, res.result)
this.completeTaskDesign(value, res.result,true)
}
})
},
completeTaskDesign(value, taskId) {
deleteProcessInstanceByTask(taskId) {
getAction('/workFlow/deleteProcessInstanceByTaskId', { taskId: taskId }).then((res) => {
})
},
completeTaskDesign(value, taskId,isTrue) {
value.reviewResult = 'launch'
let operatorTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.operatorTime = operatorTime
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: taskId,
@@ -272,6 +287,10 @@
// this.$router.push({
// path: '/ProcessCenter'
// })
}else{
if (isTrue) {
this.deleteProcessInstanceByTask(taskId)
}
}
})
},
@@ -171,10 +171,17 @@
// this.insertBatch(dataList, 2)
},
completeTask() {
let value = JSON.parse(JSON.stringify(this.queryProject))
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: this.$route.query.taskIds,
json: JSON.stringify(this.queryProject).replace(/\"/g, '\'')
json: JSON.stringify(value).replace(/\"/g, '\'')
}
postAction('/workFlow/completeTask', query).then((res) => {
if (res.success) {
@@ -342,6 +342,12 @@
completeTask(value) {
let json = Object.assign(this.queryBy, value)
let data = JSON.stringify(json).replace(/\"/g, '\'')
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: this.$route.query.taskId || this.$route.query.taskIds,
@@ -1697,6 +1697,12 @@
completeTask(value, taskId, index) {
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.handlingTime = handlingTime
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
}
})
let query = {
userid: this.userInfo().id,
taskId: taskId,