Commit eb48bd862a6c3ea82aa27db6efab060d0de82206
1 parent
9cd53a9f
合同功能测试完成
Showing
11 changed files
with
406 additions
and
34 deletions
src/api/resource/contractChangeDetailsApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 获取合同变更详情 | ||
| 4 | +export function getContractChangeDetails(params) { | ||
| 5 | + return new Promise((resolve, reject) => { | ||
| 6 | + request({ | ||
| 7 | + url: '/contract/queryContractChangePlanDetail', | ||
| 8 | + method: 'get', | ||
| 9 | + params | ||
| 10 | + }).then(response => { | ||
| 11 | + const res = response.data | ||
| 12 | + resolve(res) | ||
| 13 | + }).catch(error => { | ||
| 14 | + reject(error) | ||
| 15 | + }) | ||
| 16 | + }) | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +// 获取审核用户列表 | ||
| 20 | +export function getAuditUsers(params) { | ||
| 21 | + return new Promise((resolve, reject) => { | ||
| 22 | + request({ | ||
| 23 | + url: 'workflow.listWorkflowAuditInfo', | ||
| 24 | + method: 'get', | ||
| 25 | + params | ||
| 26 | + }).then(response => { | ||
| 27 | + const res = response.data | ||
| 28 | + resolve(res) | ||
| 29 | + }).catch(error => { | ||
| 30 | + reject(error) | ||
| 31 | + }) | ||
| 32 | + }) | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
src/components/contract/ContractChangeLease.vue
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | <el-row :gutter="20"> | 7 | <el-row :gutter="20"> |
| 8 | <el-col :span="24"> | 8 | <el-col :span="24"> |
| 9 | <el-form-item :label="$t('contractChangeLease.startTime')" required> | 9 | <el-form-item :label="$t('contractChangeLease.startTime')" required> |
| 10 | - <el-date-picker v-model="contractChangeLeaseInfo.startTime" type="datetime" | 10 | + <el-date-picker v-model="contractChangeLeaseInfo.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" |
| 11 | :placeholder="$t('contractChangeLease.startTimePlaceholder')" style="width: 100%"></el-date-picker> | 11 | :placeholder="$t('contractChangeLease.startTimePlaceholder')" style="width: 100%"></el-date-picker> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | </el-col> | 13 | </el-col> |
| @@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
| 16 | <el-row :gutter="20"> | 16 | <el-row :gutter="20"> |
| 17 | <el-col :span="24"> | 17 | <el-col :span="24"> |
| 18 | <el-form-item :label="$t('contractChangeLease.endTime')" required> | 18 | <el-form-item :label="$t('contractChangeLease.endTime')" required> |
| 19 | - <el-date-picker v-model="contractChangeLeaseInfo.endTime" type="datetime" | 19 | + <el-date-picker v-model="contractChangeLeaseInfo.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" |
| 20 | :placeholder="$t('contractChangeLease.endTimePlaceholder')" style="width: 100%"></el-date-picker> | 20 | :placeholder="$t('contractChangeLease.endTimePlaceholder')" style="width: 100%"></el-date-picker> |
| 21 | </el-form-item> | 21 | </el-form-item> |
| 22 | </el-col> | 22 | </el-col> |
src/components/contract/addTemplateView.vue
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog :title="$t('contractTypeManage.template.title')" :visible.sync="visible" width="80%" @close="handleClose"> | 2 | <el-dialog :title="$t('contractTypeManage.template.title')" :visible.sync="visible" width="80%" @close="handleClose"> |
| 3 | - <el-card> | ||
| 4 | - <div class="attr-buttons"> | ||
| 5 | - <el-button v-for="(item, index) in contractTypeAttrs" :key="index" type="primary" size="small" | ||
| 6 | - @click="insertAttrs(item)"> | ||
| 7 | - {{ item }} | ||
| 8 | - </el-button> | ||
| 9 | - </div> | ||
| 10 | - | ||
| 11 | - <el-form label-width="120px"> | ||
| 12 | - <el-form-item :label="$t('contractTypeManage.template.content')"> | ||
| 13 | - <div class="editor-container"> | ||
| 14 | - <el-input type="textarea" :rows="15" v-model="context" | ||
| 15 | - :placeholder="$t('contractTypeManage.template.placeholder')" /> | ||
| 16 | - </div> | ||
| 17 | - </el-form-item> | ||
| 18 | - </el-form> | ||
| 19 | - </el-card> | 3 | + <div class="attr-buttons"> |
| 4 | + <el-button v-for="(item, index) in contractTypeAttrs" :key="index" type="primary" size="small" | ||
| 5 | + @click="insertAttrs(item)"> | ||
| 6 | + {{ item }} | ||
| 7 | + </el-button> | ||
| 8 | + </div> | ||
| 20 | 9 | ||
| 10 | + <el-form label-width="120px"> | ||
| 11 | + <el-form-item :label="$t('contractTypeManage.template.content')"> | ||
| 12 | + <div class="editor-container"> | ||
| 13 | + <el-input type="textarea" :rows="15" v-model="context" | ||
| 14 | + :placeholder="$t('contractTypeManage.template.placeholder')" /> | ||
| 15 | + </div> | ||
| 16 | + </el-form-item> | ||
| 17 | + </el-form> | ||
| 21 | <div slot="footer" class="dialog-footer"> | 18 | <div slot="footer" class="dialog-footer"> |
| 22 | <el-button @click="visible = false"> | 19 | <el-button @click="visible = false"> |
| 23 | {{ $t('common.cancel') }} | 20 | {{ $t('common.cancel') }} |
| @@ -30,7 +27,7 @@ | @@ -30,7 +27,7 @@ | ||
| 30 | </template> | 27 | </template> |
| 31 | 28 | ||
| 32 | <script> | 29 | <script> |
| 33 | -import { saveContractTypeTemplate, updateContractTypeTemplate, queryContractTypeTemplate,printContractTemplate } from '@/api/contract/contractTypeManageApi' | 30 | +import { saveContractTypeTemplate, updateContractTypeTemplate, queryContractTypeTemplate, printContractTemplate } from '@/api/contract/contractTypeManageApi' |
| 34 | 31 | ||
| 35 | export default { | 32 | export default { |
| 36 | name: 'AddTemplateView', | 33 | name: 'AddTemplateView', |
| @@ -41,7 +38,7 @@ export default { | @@ -41,7 +38,7 @@ export default { | ||
| 41 | context: '', | 38 | context: '', |
| 42 | templateId: '', | 39 | templateId: '', |
| 43 | contractTypeAttrs: [], | 40 | contractTypeAttrs: [], |
| 44 | - contractTypeSpec:[] | 41 | + contractTypeSpec: [] |
| 45 | } | 42 | } |
| 46 | }, | 43 | }, |
| 47 | methods: { | 44 | methods: { |
src/i18n/contractI18n.js
| @@ -9,6 +9,7 @@ import { messages as contractChangeManageMessages } from '../views/contract/cont | @@ -9,6 +9,7 @@ import { messages as contractChangeManageMessages } from '../views/contract/cont | ||
| 9 | import { messages as contractChangeDetailMessages } from '../views/contract/contractChangeDetailLang' | 9 | import { messages as contractChangeDetailMessages } from '../views/contract/contractChangeDetailLang' |
| 10 | import { messages as expirationContractManageMessages } from '../views/contract/expirationContractManageLang' | 10 | import { messages as expirationContractManageMessages } from '../views/contract/expirationContractManageLang' |
| 11 | import { messages as contractDetailMessages } from '../views/contract/contractDetailLang.js' | 11 | import { messages as contractDetailMessages } from '../views/contract/contractDetailLang.js' |
| 12 | +import { messages as contractChangeDetailsMessages } from '../views/contract/contractChangeDetailsLang' | ||
| 12 | 13 | ||
| 13 | export const messages ={ | 14 | export const messages ={ |
| 14 | en:{ | 15 | en:{ |
| @@ -23,6 +24,7 @@ export const messages ={ | @@ -23,6 +24,7 @@ export const messages ={ | ||
| 23 | ...contractChangeDetailMessages.en, | 24 | ...contractChangeDetailMessages.en, |
| 24 | ...expirationContractManageMessages.en, | 25 | ...expirationContractManageMessages.en, |
| 25 | ...contractDetailMessages.en, | 26 | ...contractDetailMessages.en, |
| 27 | + ...contractChangeDetailsMessages.en, | ||
| 26 | }, | 28 | }, |
| 27 | zh:{ | 29 | zh:{ |
| 28 | ...contractTypeManageMessages.zh, | 30 | ...contractTypeManageMessages.zh, |
| @@ -36,5 +38,6 @@ export const messages ={ | @@ -36,5 +38,6 @@ export const messages ={ | ||
| 36 | ...contractChangeDetailMessages.zh, | 38 | ...contractChangeDetailMessages.zh, |
| 37 | ...expirationContractManageMessages.zh, | 39 | ...expirationContractManageMessages.zh, |
| 38 | ...contractDetailMessages.zh, | 40 | ...contractDetailMessages.zh, |
| 41 | + ...contractChangeDetailsMessages.zh, | ||
| 39 | } | 42 | } |
| 40 | } | 43 | } |
| 41 | \ No newline at end of file | 44 | \ No newline at end of file |
src/router/contractRouter.js
| @@ -49,4 +49,9 @@ export default [ | @@ -49,4 +49,9 @@ export default [ | ||
| 49 | name: '/views/contract/contractDetail', | 49 | name: '/views/contract/contractDetail', |
| 50 | component: () => import('@/views/contract/contractDetail.vue') | 50 | component: () => import('@/views/contract/contractDetail.vue') |
| 51 | }, | 51 | }, |
| 52 | + { | ||
| 53 | + path: '/views/contract/contractChangeDetails', | ||
| 54 | + name: '/views/contract/contractChangeDetails', | ||
| 55 | + component: () => import('@/views/contract/contractChangeDetailsList.vue') | ||
| 56 | + }, | ||
| 52 | ] | 57 | ] |
| 53 | \ No newline at end of file | 58 | \ No newline at end of file |
src/views/contract/contractChangeDetailList.vue
| @@ -113,11 +113,11 @@ | @@ -113,11 +113,11 @@ | ||
| 113 | 113 | ||
| 114 | <!-- 租期调整 --> | 114 | <!-- 租期调整 --> |
| 115 | <contract-change-lease v-show="contractChangeDetailInfo.param === 'contractChangeLease'" ref="contractChangeLease" | 115 | <contract-change-lease v-show="contractChangeDetailInfo.param === 'contractChangeLease'" ref="contractChangeLease" |
| 116 | - @changeNotify="handlerMainBody" /> | 116 | + @changeNotify="handlerMainBody" /> |
| 117 | 117 | ||
| 118 | <!-- 资产调整 --> | 118 | <!-- 资产调整 --> |
| 119 | - <contract-change-assets v-show="contractChangeDetailInfo.param === 'contractChangeAssets'" ref="contractChangeAssets" | ||
| 120 | - @changeNotify="handlerMainBody" /> | 119 | + <contract-change-assets v-show="contractChangeDetailInfo.param === 'contractChangeAssets'" |
| 120 | + ref="contractChangeAssets" @changeNotify="handlerMainBody" /> | ||
| 121 | 121 | ||
| 122 | <el-card class="box-card"> | 122 | <el-card class="box-card"> |
| 123 | <div slot="header" class="flex justify-between"> | 123 | <div slot="header" class="flex justify-between"> |
| @@ -243,9 +243,9 @@ export default { | @@ -243,9 +243,9 @@ export default { | ||
| 243 | this.$router.go(-1) | 243 | this.$router.go(-1) |
| 244 | }, | 244 | }, |
| 245 | handlerMainBody(item) { | 245 | handlerMainBody(item) { |
| 246 | - const changeRemark = this.newContract.changeRemark | 246 | + // const changeRemark = this.newContract.changeRemark |
| 247 | this.newContract = JSON.parse(JSON.stringify(this.contractChangeDetailInfo)) | 247 | this.newContract = JSON.parse(JSON.stringify(this.contractChangeDetailInfo)) |
| 248 | - this.newContract.changeRemark = changeRemark | 248 | + // this.newContract.changeRemark = changeRemark |
| 249 | if (item['rooms']) { | 249 | if (item['rooms']) { |
| 250 | this.newContract.rooms = item.rooms | 250 | this.newContract.rooms = item.rooms |
| 251 | } | 251 | } |
src/views/contract/contractChangeDetailsLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + contractChangeDetails: { | ||
| 4 | + contract: 'Contract', | ||
| 5 | + afterChange: 'After Change', | ||
| 6 | + beforeChange: 'Before Change', | ||
| 7 | + contractName: 'Contract Name', | ||
| 8 | + contractCode: 'Contract Code', | ||
| 9 | + contractType: 'Contract Type', | ||
| 10 | + partyA: 'Party A', | ||
| 11 | + partyAContacts: 'Party A Contacts', | ||
| 12 | + partyALink: 'Party A Phone', | ||
| 13 | + partyB: 'Party B', | ||
| 14 | + partyBContacts: 'Party B Contacts', | ||
| 15 | + partyBLink: 'Party B Phone', | ||
| 16 | + operator: 'Operator', | ||
| 17 | + operatorLink: 'Operator Phone', | ||
| 18 | + amount: 'Amount', | ||
| 19 | + startTime: 'Start Time', | ||
| 20 | + endTime: 'End Time', | ||
| 21 | + signingTime: 'Signing Time', | ||
| 22 | + workflow: 'Workflow', | ||
| 23 | + serialNumber: 'No.', | ||
| 24 | + handler: 'Handler', | ||
| 25 | + status: 'Status', | ||
| 26 | + processTime: 'Process Time', | ||
| 27 | + timeConsuming: 'Time Consuming', | ||
| 28 | + opinion: 'Opinion' | ||
| 29 | + } | ||
| 30 | + }, | ||
| 31 | + zh: { | ||
| 32 | + contractChangeDetails: { | ||
| 33 | + contract: '合同', | ||
| 34 | + afterChange: '变更后', | ||
| 35 | + beforeChange: '变更前', | ||
| 36 | + contractName: '合同名称', | ||
| 37 | + contractCode: '合同编号', | ||
| 38 | + contractType: '合同类型', | ||
| 39 | + partyA: '甲方', | ||
| 40 | + partyAContacts: '甲方联系人', | ||
| 41 | + partyALink: '甲方联系电话', | ||
| 42 | + partyB: '乙方', | ||
| 43 | + partyBContacts: '乙方联系人', | ||
| 44 | + partyBLink: '乙方联系电话', | ||
| 45 | + operator: '经办人', | ||
| 46 | + operatorLink: '联系电话', | ||
| 47 | + amount: '合同金额', | ||
| 48 | + startTime: '开始时间', | ||
| 49 | + endTime: '结束时间', | ||
| 50 | + signingTime: '签订时间', | ||
| 51 | + workflow: '工单流转', | ||
| 52 | + serialNumber: '序号', | ||
| 53 | + handler: '处理人', | ||
| 54 | + status: '状态', | ||
| 55 | + processTime: '处理时间', | ||
| 56 | + timeConsuming: '耗时', | ||
| 57 | + opinion: '意见' | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | +} | ||
| 0 | \ No newline at end of file | 61 | \ No newline at end of file |
src/views/contract/contractChangeDetailsList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="contract-change-details-container"> | ||
| 3 | + <el-row v-for="(contractChangeDetailInfo,index) in contractChangeDetailsInfo.contractDetails" :key="index" class="mb-20"> | ||
| 4 | + <el-col :span="24"> | ||
| 5 | + <el-card class="box-card"> | ||
| 6 | + <div slot="header" class="flex justify-between"> | ||
| 7 | + <span> | ||
| 8 | + <span>{{ $t('contractChangeDetails.contract') }}</span> | ||
| 9 | + {{contractChangeDetailInfo.operate == 'ADD'?$t('contractChangeDetails.afterChange'):$t('contractChangeDetails.beforeChange')}} | ||
| 10 | + {{contractChangeDetailInfo.operate == 'ADD'?'('+contractChangeDetailInfo.planTypeName+')':''}} | ||
| 11 | + </span> | ||
| 12 | + <div class="card-header-right" v-if="index == 0"> | ||
| 13 | + <el-button type="primary" size="small" style="margin-right:10px;" @click="_goBack()"> | ||
| 14 | + <i class="el-icon-close"></i>{{ $t('common.back') }} | ||
| 15 | + </el-button> | ||
| 16 | + </div> | ||
| 17 | + </div> | ||
| 18 | + <div class="text item"> | ||
| 19 | + <el-row :gutter="20"> | ||
| 20 | + <el-col :span="8"> | ||
| 21 | + <div class="form-group"> | ||
| 22 | + <label class="el-form-item__label"> | ||
| 23 | + <span>{{ $t('contractChangeDetails.contractName') }}</span>: | ||
| 24 | + </label> | ||
| 25 | + <label class="el-form-item__content">{{contractChangeDetailInfo.contractName}}</label> | ||
| 26 | + </div> | ||
| 27 | + </el-col> | ||
| 28 | + <el-col :span="8"> | ||
| 29 | + <div class="form-group"> | ||
| 30 | + <label class="el-form-item__label"> | ||
| 31 | + <span>{{ $t('contractChangeDetails.contractCode') }}</span>: | ||
| 32 | + </label> | ||
| 33 | + <label class="el-form-item__content">{{contractChangeDetailInfo.contractCode}}</label> | ||
| 34 | + </div> | ||
| 35 | + </el-col> | ||
| 36 | + <el-col :span="8"> | ||
| 37 | + <div class="form-group"> | ||
| 38 | + <label class="el-form-item__label"> | ||
| 39 | + <span>{{ $t('contractChangeDetails.contractType') }}</span>: | ||
| 40 | + </label> | ||
| 41 | + <label class="el-form-item__content">{{contractChangeDetailInfo.contractType}}</label> | ||
| 42 | + </div> | ||
| 43 | + </el-col> | ||
| 44 | + </el-row> | ||
| 45 | + <el-row :gutter="20"> | ||
| 46 | + <el-col :span="8"> | ||
| 47 | + <div class="form-group"> | ||
| 48 | + <label class="el-form-item__label"> | ||
| 49 | + <span>{{ $t('contractChangeDetails.partyA') }}</span>: | ||
| 50 | + </label> | ||
| 51 | + <label class="el-form-item__content">{{contractChangeDetailInfo.partyA}}</label> | ||
| 52 | + </div> | ||
| 53 | + </el-col> | ||
| 54 | + <el-col :span="8"> | ||
| 55 | + <div class="form-group"> | ||
| 56 | + <label class="el-form-item__label"> | ||
| 57 | + <span>{{ $t('contractChangeDetails.partyAContacts') }}</span>: | ||
| 58 | + </label> | ||
| 59 | + <label class="el-form-item__content">{{contractChangeDetailInfo.aContacts}}</label> | ||
| 60 | + </div> | ||
| 61 | + </el-col> | ||
| 62 | + <el-col :span="8"> | ||
| 63 | + <div class="form-group"> | ||
| 64 | + <label class="el-form-item__label"> | ||
| 65 | + <span>{{ $t('contractChangeDetails.partyALink') }}</span>: | ||
| 66 | + </label> | ||
| 67 | + <label class="el-form-item__content">{{contractChangeDetailInfo.aLink}}</label> | ||
| 68 | + </div> | ||
| 69 | + </el-col> | ||
| 70 | + </el-row> | ||
| 71 | + <el-row :gutter="20"> | ||
| 72 | + <el-col :span="8"> | ||
| 73 | + <div class="form-group"> | ||
| 74 | + <label class="el-form-item__label"> | ||
| 75 | + <span>{{ $t('contractChangeDetails.partyB') }}</span>: | ||
| 76 | + </label> | ||
| 77 | + <label class="el-form-item__content">{{contractChangeDetailInfo.partyB}}</label> | ||
| 78 | + </div> | ||
| 79 | + </el-col> | ||
| 80 | + <el-col :span="8"> | ||
| 81 | + <div class="form-group"> | ||
| 82 | + <label class="el-form-item__label"> | ||
| 83 | + <span>{{ $t('contractChangeDetails.partyBContacts') }}</span>: | ||
| 84 | + </label> | ||
| 85 | + <label class="el-form-item__content">{{contractChangeDetailInfo.bContacts}}</label> | ||
| 86 | + </div> | ||
| 87 | + </el-col> | ||
| 88 | + <el-col :span="8"> | ||
| 89 | + <div class="form-group"> | ||
| 90 | + <label class="el-form-item__label"> | ||
| 91 | + <span>{{ $t('contractChangeDetails.partyBLink') }}</span>: | ||
| 92 | + </label> | ||
| 93 | + <label class="el-form-item__content">{{contractChangeDetailInfo.bLink}}</label> | ||
| 94 | + </div> | ||
| 95 | + </el-col> | ||
| 96 | + </el-row> | ||
| 97 | + <el-row :gutter="20"> | ||
| 98 | + <el-col :span="8"> | ||
| 99 | + <div class="form-group"> | ||
| 100 | + <label class="el-form-item__label"> | ||
| 101 | + <span>{{ $t('contractChangeDetails.operator') }}</span>: | ||
| 102 | + </label> | ||
| 103 | + <label class="el-form-item__content">{{contractChangeDetailInfo.operator}}</label> | ||
| 104 | + </div> | ||
| 105 | + </el-col> | ||
| 106 | + <el-col :span="8"> | ||
| 107 | + <div class="form-group"> | ||
| 108 | + <label class="el-form-item__label"> | ||
| 109 | + <span>{{ $t('contractChangeDetails.operatorLink') }}</span>: | ||
| 110 | + </label> | ||
| 111 | + <label class="el-form-item__content">{{contractChangeDetailInfo.operatorLink}}</label> | ||
| 112 | + </div> | ||
| 113 | + </el-col> | ||
| 114 | + <el-col :span="8"> | ||
| 115 | + <div class="form-group"> | ||
| 116 | + <label class="el-form-item__label"> | ||
| 117 | + <span>{{ $t('contractChangeDetails.amount') }}</span>: | ||
| 118 | + </label> | ||
| 119 | + <label class="el-form-item__content">{{contractChangeDetailInfo.amount}}</label> | ||
| 120 | + </div> | ||
| 121 | + </el-col> | ||
| 122 | + </el-row> | ||
| 123 | + <el-row :gutter="20"> | ||
| 124 | + <el-col :span="8"> | ||
| 125 | + <div class="form-group"> | ||
| 126 | + <label class="el-form-item__label"> | ||
| 127 | + <span>{{ $t('contractChangeDetails.startTime') }}</span>: | ||
| 128 | + </label> | ||
| 129 | + <label class="el-form-item__content">{{contractChangeDetailInfo.startTime}}</label> | ||
| 130 | + </div> | ||
| 131 | + </el-col> | ||
| 132 | + <el-col :span="8"> | ||
| 133 | + <div class="form-group"> | ||
| 134 | + <label class="el-form-item__label"> | ||
| 135 | + <span>{{ $t('contractChangeDetails.endTime') }}</span>: | ||
| 136 | + </label> | ||
| 137 | + <label class="el-form-item__content">{{contractChangeDetailInfo.endTime}}</label> | ||
| 138 | + </div> | ||
| 139 | + </el-col> | ||
| 140 | + <el-col :span="8"> | ||
| 141 | + <div class="form-group"> | ||
| 142 | + <label class="el-form-item__label"> | ||
| 143 | + <span>{{ $t('contractChangeDetails.signingTime') }}</span>: | ||
| 144 | + </label> | ||
| 145 | + <label class="el-form-item__content">{{contractChangeDetailInfo.signingTime}}</label> | ||
| 146 | + </div> | ||
| 147 | + </el-col> | ||
| 148 | + </el-row> | ||
| 149 | + </div> | ||
| 150 | + </el-card> | ||
| 151 | + </el-col> | ||
| 152 | + </el-row> | ||
| 153 | + | ||
| 154 | + <el-row class="mb-20"> | ||
| 155 | + <el-col :span="24"> | ||
| 156 | + <el-card class="box-card"> | ||
| 157 | + <div slot="header" class="clearfix"> | ||
| 158 | + <h5> | ||
| 159 | + <span>{{ $t('contractChangeDetails.workflow') }}</span> | ||
| 160 | + </h5> | ||
| 161 | + </div> | ||
| 162 | + <div class="text item"> | ||
| 163 | + <el-table :data="contractChangeDetailsInfo.auditUsers" border style="width: 100%"> | ||
| 164 | + <el-table-column prop="index" :label="$t('contractChangeDetails.serialNumber')" width="80" align="center"> | ||
| 165 | + <template slot-scope="scope"> | ||
| 166 | + {{scope.$index + 1}} | ||
| 167 | + </template> | ||
| 168 | + </el-table-column> | ||
| 169 | + <el-table-column prop="userName" :label="$t('contractChangeDetails.handler')" align="center"> | ||
| 170 | + <template slot-scope="scope"> | ||
| 171 | + {{scope.row.userName || scope.row.auditName}} | ||
| 172 | + </template> | ||
| 173 | + </el-table-column> | ||
| 174 | + <el-table-column prop="stateName" :label="$t('contractChangeDetails.status')" align="center"></el-table-column> | ||
| 175 | + <el-table-column prop="auditTime" :label="$t('contractChangeDetails.processTime')" align="center"></el-table-column> | ||
| 176 | + <el-table-column prop="duration" :label="$t('contractChangeDetails.timeConsuming')" align="center"></el-table-column> | ||
| 177 | + <el-table-column prop="message" :label="$t('contractChangeDetails.opinion')" align="center"></el-table-column> | ||
| 178 | + </el-table> | ||
| 179 | + </div> | ||
| 180 | + </el-card> | ||
| 181 | + </el-col> | ||
| 182 | + </el-row> | ||
| 183 | + </div> | ||
| 184 | +</template> | ||
| 185 | + | ||
| 186 | +<script> | ||
| 187 | +import { getContractChangeDetails, getAuditUsers } from '@/api/resource/contractChangeDetailsApi' | ||
| 188 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 189 | + | ||
| 190 | +export default { | ||
| 191 | + name: 'ContractChangeDetailsList', | ||
| 192 | + data() { | ||
| 193 | + return { | ||
| 194 | + contractChangeDetailsInfo: { | ||
| 195 | + contractDetails: [], | ||
| 196 | + auditUsers: [], | ||
| 197 | + planId: '' | ||
| 198 | + }, | ||
| 199 | + communityId: '' | ||
| 200 | + } | ||
| 201 | + }, | ||
| 202 | + created() { | ||
| 203 | + this.communityId = getCommunityId() | ||
| 204 | + this.contractChangeDetailsInfo.planId = this.$route.query.planId | ||
| 205 | + this._listContractDetails() | ||
| 206 | + this._loadAuditUser() | ||
| 207 | + }, | ||
| 208 | + methods: { | ||
| 209 | + async _listContractDetails() { | ||
| 210 | + try { | ||
| 211 | + const param = { | ||
| 212 | + page: 1, | ||
| 213 | + row: 10, | ||
| 214 | + planId: this.contractChangeDetailsInfo.planId | ||
| 215 | + } | ||
| 216 | + const { data } = await getContractChangeDetails(param) | ||
| 217 | + data.sort((_child, _newChild) => { | ||
| 218 | + return _newChild.operate.charCodeAt(0) - _child.operate.charCodeAt(0) | ||
| 219 | + }) | ||
| 220 | + this.contractChangeDetailsInfo.contractDetails = data | ||
| 221 | + } catch (error) { | ||
| 222 | + console.error('请求合同详情失败:', error) | ||
| 223 | + } | ||
| 224 | + }, | ||
| 225 | + async _loadAuditUser() { | ||
| 226 | + try { | ||
| 227 | + const param = { | ||
| 228 | + businessKey: this.contractChangeDetailsInfo.planId, | ||
| 229 | + communityId: this.communityId | ||
| 230 | + } | ||
| 231 | + const { data } = await getAuditUsers(param) | ||
| 232 | + this.contractChangeDetailsInfo.auditUsers = data | ||
| 233 | + } catch (error) { | ||
| 234 | + console.error('请求审核用户失败:', error) | ||
| 235 | + } | ||
| 236 | + }, | ||
| 237 | + _goBack() { | ||
| 238 | + this.$router.go(-1) | ||
| 239 | + } | ||
| 240 | + } | ||
| 241 | +} | ||
| 242 | +</script> | ||
| 243 | + | ||
| 244 | +<style lang="scss" scoped> | ||
| 245 | +.contract-change-details-container { | ||
| 246 | + padding: 20px; | ||
| 247 | + | ||
| 248 | + | ||
| 249 | + | ||
| 250 | + .el-card { | ||
| 251 | + margin-bottom: 20px; | ||
| 252 | + | ||
| 253 | + .clearfix { | ||
| 254 | + display: flex; | ||
| 255 | + justify-content: space-between; | ||
| 256 | + align-items: center; | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + .card-header-right { | ||
| 260 | + display: flex; | ||
| 261 | + align-items: center; | ||
| 262 | + } | ||
| 263 | + } | ||
| 264 | + | ||
| 265 | + .form-group { | ||
| 266 | + margin-bottom: 15px; | ||
| 267 | + text-align: left; | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + .el-table { | ||
| 271 | + margin-top: 20px; | ||
| 272 | + } | ||
| 273 | +} | ||
| 274 | +</style> | ||
| 0 | \ No newline at end of file | 275 | \ No newline at end of file |
src/views/contract/contractChangeManageList.vue
| @@ -166,7 +166,7 @@ export default { | @@ -166,7 +166,7 @@ export default { | ||
| 166 | this.$router.push(`/views/contract/contractChangeDetail?param=${type}`) | 166 | this.$router.push(`/views/contract/contractChangeDetail?param=${type}`) |
| 167 | }, | 167 | }, |
| 168 | handleToDetails(row) { | 168 | handleToDetails(row) { |
| 169 | - this.$router.push(`/views/contract/contractChangeDetail?planId=${row.planId}`) | 169 | + this.$router.push(`/views/contract/contractChangeDetails?planId=${row.planId}`) |
| 170 | }, | 170 | }, |
| 171 | handleOpenDeleteDialog(row) { | 171 | handleOpenDeleteDialog(row) { |
| 172 | this.$refs.deleteDialog.open(row) | 172 | this.$refs.deleteDialog.open(row) |
src/views/contract/contractTypeManageList.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="contract-type-manage-container"> | 2 | <div class="contract-type-manage-container"> |
| 3 | <!-- 查询条件 --> | 3 | <!-- 查询条件 --> |
| 4 | - <el-card class="search-card"> | 4 | + <el-card class="search-card"> |
| 5 | <div slot="header" class="flex justify-between"> | 5 | <div slot="header" class="flex justify-between"> |
| 6 | <span>{{ $t('contractTypeManage.search.title') }}</span> | 6 | <span>{{ $t('contractTypeManage.search.title') }}</span> |
| 7 | </div> | 7 | </div> |
| @@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
| 30 | </el-card> | 30 | </el-card> |
| 31 | 31 | ||
| 32 | <!-- 合同类型列表 --> | 32 | <!-- 合同类型列表 --> |
| 33 | - <el-card class="list-card"> | 33 | + <el-card class="list-card"> |
| 34 | <div slot="header" class="flex justify-between"> | 34 | <div slot="header" class="flex justify-between"> |
| 35 | <span>{{ $t('contractTypeManage.list.title') }}</span> | 35 | <span>{{ $t('contractTypeManage.list.title') }}</span> |
| 36 | <div style="float: right;"> | 36 | <div style="float: right;"> |
| @@ -87,7 +87,7 @@ import { getCommunityId } from '@/api/community/communityApi' | @@ -87,7 +87,7 @@ import { getCommunityId } from '@/api/community/communityApi' | ||
| 87 | import { | 87 | import { |
| 88 | queryContractType, | 88 | queryContractType, |
| 89 | //queryContractTypeTemplate, | 89 | //queryContractTypeTemplate, |
| 90 | - | 90 | + |
| 91 | } from '@/api/contract/contractTypeManageApi' | 91 | } from '@/api/contract/contractTypeManageApi' |
| 92 | import AddTemplateView from '@/components/contract/addTemplateView' | 92 | import AddTemplateView from '@/components/contract/addTemplateView' |
| 93 | import AddContractType from '@/components/contract/addContractType' | 93 | import AddContractType from '@/components/contract/addContractType' |
| @@ -181,10 +181,10 @@ export default { | @@ -181,10 +181,10 @@ export default { | ||
| 181 | _toAuditPage() { | 181 | _toAuditPage() { |
| 182 | this.$router.push('/pages/property/workflowManage?tab=流程管理') | 182 | this.$router.push('/pages/property/workflowManage?tab=流程管理') |
| 183 | }, | 183 | }, |
| 184 | - | 184 | + |
| 185 | _openContractTemplate(row) { | 185 | _openContractTemplate(row) { |
| 186 | this.componentShow = '' | 186 | this.componentShow = '' |
| 187 | - this.$refs.addTemplateView.open(row) | 187 | + this.$refs.addTemplateView.open(row) |
| 188 | 188 | ||
| 189 | }, | 189 | }, |
| 190 | handleSizeChange(val) { | 190 | handleSizeChange(val) { |
src/views/fee/contractCreateFeeList.vue
| @@ -163,13 +163,13 @@ export default { | @@ -163,13 +163,13 @@ export default { | ||
| 163 | }, | 163 | }, |
| 164 | handleViewDetail(row) { | 164 | handleViewDetail(row) { |
| 165 | this.$router.push({ | 165 | this.$router.push({ |
| 166 | - path: '/common/contractApplyDetail', | 166 | + path: '/views/contract/contractChangeDetail', |
| 167 | query: { contractId: row.contractId } | 167 | query: { contractId: row.contractId } |
| 168 | }) | 168 | }) |
| 169 | }, | 169 | }, |
| 170 | handleViewFee(row) { | 170 | handleViewFee(row) { |
| 171 | this.$router.push({ | 171 | this.$router.push({ |
| 172 | - path: '/contract/contractDetail', | 172 | + path: '/views/contract/contractDetail', |
| 173 | query: { | 173 | query: { |
| 174 | contractId: row.contractId, | 174 | contractId: row.contractId, |
| 175 | contractCode: row.contractCode | 175 | contractCode: row.contractCode |