| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :withFooter="false" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="info" v-if="info"> |
| | | <div class="info_label"> |
| | | <span>åå详æ
</span> |
| | | </div> |
| | | <div class="info_list"> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">åååç§°ï¼</div> |
| | | <div class="info_list_item_val">{{info.name}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">ååæ¶é´ï¼</div> |
| | | <div class="info_list_item_val">{{info.startTime}} - {{info.endTime}}</div> |
| | | </div> |
| | | <div class="info_list_item" v-if="userInfo.type === 0 || info.type === 2"> |
| | | <div class="info_list_item_label">ååç±»åï¼</div> |
| | | <div class="info_list_item_val"> |
| | | <template v-if="info.signType === 0">å¹³å°-åæ·</template> |
| | | <template v-if="info.signType === 1">å¹³å°-ä¼ä¸</template> |
| | | <template v-if="info.signType === 2">åæ·-ä¼ä¸</template> |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">ä¼ä¸åç§°ï¼</div> |
| | | <div class="info_list_item_val">{{info.companyName}}</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;" v-if="userInfo.type === 0 || info.type === 2"> |
| | | <div class="info_list_item_label">ç¾ç½²æ¹å¼ï¼</div> |
| | | <div class="info_list_item_val"> |
| | | <template v-if="info.type === 0">åæ¹ç¾ç« </template> |
| | | <template v-if="info.type === 1">ä»
ææ¹ç¾ç« </template> |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">åå§éä»¶ï¼</div> |
| | | <div class="info_list_item_val" v-if="info.multifile"> |
| | | <u @click.stop="openPDF(info.multifile.name, info.multifile.fileurlFull)">{{info.multifile.name}}</u> |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">夿³¨ï¼</div> |
| | | <div class="info_list_item_val">{{info.remark}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="info" v-if="info && info.status !== 0"> |
| | | <div class="info_label"> |
| | | <span>ååç¾ç½²æ
åµ</span> |
| | | </div> |
| | | <div class="info_list"> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">{{info.signType === 2 ? 'åæ·' : [0, 1].includes(info.signType) ? 'å¹³å°' : ''}}ç¾ç½²äººï¼</div> |
| | | <div class="info_list_item_val">{{info.firstSignUserName}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">{{info.signType === 2 ? 'åæ·' : [0, 1].includes(info.signType) ? 'å¹³å°' : ''}}ç¾ç½²æ¶é´ï¼</div> |
| | | <div class="info_list_item_val">{{info.signDate}}</div> |
| | | </div> |
| | | <div class="info_list_item" v-if="info.type !== 1"> |
| | | <div class="info_list_item_label">{{info.signType === 0 ? 'åæ·' : [1, 2].includes(info.signType) ? 'ä¼ä¸' : ''}}ç¾ç½²äººï¼</div> |
| | | <div class="info_list_item_val">{{info.doneSignUserName}}</div> |
| | | </div> |
| | | <div class="info_list_item" v-if="info.type !== 1"> |
| | | <div class="info_list_item_label">{{info.signType === 0 ? 'åæ·' : [1, 2].includes(info.signType) ? 'ä¼ä¸' : ''}}ç¾ç½²æ¶é´ï¼</div> |
| | | <div class="info_list_item_val">{{info.comSignDate}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">ç¾ç½²ä»¶ï¼</div> |
| | | <div class="info_list_item_val"> |
| | | <u v-if="info.multiDoneFile" @click.stop="openPDF(info.multiDoneFile.name, info.multiDoneFile.fileurlFull)">{{info.multiDoneFile.name}}</u> |
| | | <u v-else-if="info.multiFirstFile" @click.stop="openPDF(info.multiFirstFile.name, info.multiFirstFile.fileurlFull)">{{info.multiFirstFile.name}}</u> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- é¢è§pdf --> |
| | | <OperaPdfViewerWindow ref="OperaPdfViewerWindow" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow' |
| | | import { contractId } from '@/api/business/contract' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'OperaContractDescWindow', |
| | | extends: BaseOpera, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | components: { GlobalWindow, OperaPdfViewerWindow }, |
| | | data () { |
| | | return { |
| | | info: null |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | this.info = null |
| | | this.visible = true |
| | | console.log(this.userInfo) |
| | | contractId(id) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.info = res |
| | | }) |
| | | }, |
| | | openPDF(name, url) { |
| | | this.$refs.OperaPdfViewerWindow.open(name, url) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .info { |
| | | width: 100%; |
| | | .info_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | | color: #000000; |
| | | } |
| | | } |
| | | .info_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | flex-wrap: wrap; |
| | | .info_list_item { |
| | | width: 50%; |
| | | display: flex; |
| | | align-items: start; |
| | | margin-bottom: 20px; |
| | | .info_list_item_label { |
| | | flex-shrink: 0; |
| | | font-size: 16px; |
| | | } |
| | | .info_list_item_val { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | | u { |
| | | font-size: 16px; |
| | | color: #2E68EC; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |