diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java index f8ac4228e..9408df97a 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java @@ -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) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java index 54aa3225b..85f2b4d9f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java @@ -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",""), ; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 91fbcc37e..023bd336c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -1350,7 +1350,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){ + return workFlowFeignClient.deleteProcessInstance(taskId); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java index 401da0f62..aa9bdd61b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java @@ -156,4 +156,12 @@ public interface WorkFlowFeignClient { @RequestMapping(value = "/bat-wkflow/task/completeLawsTechnologyEvaluationTaskByPids",method = RequestMethod.GET) Result completeLawsTechnologyEvaluationTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds); + + /** + * 根据待办id删除流程 + * @param taskId + * @return + */ + @RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByTaskId",method = RequestMethod.GET) + Result deleteProcessInstanceByTaskId(@RequestParam("taskId") String taskId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java index 707089e60..ae1940c04 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java @@ -177,4 +177,13 @@ public class WorkFlowFeignClientImpl{ Result stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString()); return Result.OK(stringWrapper.getResult()); } + + /** + * 根据待办id删除流程 + * @param taskId + * @return + */ + public Result deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){ + return workFlowFeignClient.deleteProcessInstance(taskId); + } } diff --git a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue index 8201e8ed5..c2042a3c1 100644 --- a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue +++ b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue @@ -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) + } } }) } diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue index e9280d893..61e974e72 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue @@ -38,7 +38,7 @@
- + {{item.applyMarket_dictText}} @@ -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 { diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue index 6c194fd8a..e73433631 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue @@ -23,22 +23,37 @@
-
-
+
+
- + - 中国 + {{item2.applyMarket_dictText}}
- - - 中国 - + + {{$t('viewFile')}} + + + {{item2.lableName}} + + + + + +
@@ -47,8 +62,11 @@
- + + {{$t('dataLoading')}} +
@@ -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; + } \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardViewAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardViewAdd.vue index 2c1767b7a..39181fe65 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardViewAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardViewAdd.vue @@ -31,7 +31,6 @@
- * {{$t('comparisonMarket')+(index+1)}}
@@ -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-- } diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/displayInformationModel.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/displayInformationModel.vue index a6f01a5c3..724dc4f46 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/displayInformationModel.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/displayInformationModel.vue @@ -11,13 +11,15 @@ style="height: 100%;overflow: auto;padding-bottom: 53px;">
- - + +
@@ -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 + } } } diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index 2ca45b0f6..e723872d4 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -13,13 +13,15 @@
- {{$t('recentHotSpots')}} - {{$t('disseminationMaterials')}} - {{$t('informationSafety')}} - {{$t('blueBook')}} - {{$t('invoiceCollection')}} - {{$t('productHighlights')}} - {{$t('financialReimbursement')}} +
@@ -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; } + + \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue b/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue index 8cdb5103a..1ef583d29 100644 --- a/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue +++ b/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue @@ -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, diff --git a/jero-web/src/views/processCenter/processForm/evaluationProcess/index.vue b/jero-web/src/views/processCenter/processForm/evaluationProcess/index.vue index 59f0fa530..ac1f757f6 100644 --- a/jero-web/src/views/processCenter/processForm/evaluationProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/evaluationProcess/index.vue @@ -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) { diff --git a/jero-web/src/views/processCenter/processForm/handshakeProcess/index.vue b/jero-web/src/views/processCenter/processForm/handshakeProcess/index.vue index c5390aa79..533a748a9 100644 --- a/jero-web/src/views/processCenter/processForm/handshakeProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/handshakeProcess/index.vue @@ -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) + } } }) }, diff --git a/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue b/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue index 503b8409d..604e429ce 100644 --- a/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue @@ -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) { diff --git a/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue b/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue index 20412f416..efb58fae4 100644 --- a/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue @@ -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, diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index dbf4800e9..e289457ce 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -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,