|
@@ -0,0 +1,197 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <ele-modal
|
|
|
|
|
+ :visible="detailFlag"
|
|
|
|
|
+ :width="modelWidth"
|
|
|
|
|
+ :centered="true"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ append-to-body
|
|
|
|
|
+ :before-close="cancel"
|
|
|
|
|
+ :maxable="true"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="title">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <span style="margin-right: 5px">{{ form.name }}</span>
|
|
|
|
|
+ <span style="color: #a6a7ab">发起人:</span>
|
|
|
|
|
+ <span style="margin-right: 10px; color: #a6a7ab">{{
|
|
|
|
|
+ form.startUserName
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ <el-tag
|
|
|
|
|
+ size="medium"
|
|
|
|
|
+ :type="
|
|
|
|
|
+ getTimelineItemType(getDictValue('流程实例的结果', form.result))
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ getDictValue('流程实例的结果', form.result) }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <div style="display: flex; height: 100%; justify-content: space-between">
|
|
|
|
|
+ <div class="form-box">
|
|
|
|
|
+ <fm-generate-form
|
|
|
|
|
+ v-if="Object.keys(form?.formJson || {}).length !== 0"
|
|
|
|
|
+ :data="jsonData"
|
|
|
|
|
+ :value="form.valueJson"
|
|
|
|
|
+ :edit="false"
|
|
|
|
|
+ ref="generateForm"
|
|
|
|
|
+ >
|
|
|
|
|
+ <!-- 客户名称 -->
|
|
|
|
|
+ <template v-slot:eom_contact="scope">
|
|
|
|
|
+ <div class="eom_contact">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="scope.model.eom_contact.name"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ </fm-generate-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div
|
|
|
|
|
+ style="
|
|
|
|
|
+ align-self: center;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ color: #1890ff;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ width: 15px;
|
|
|
|
|
+ "
|
|
|
|
|
+ @click="() => (isRight = !isRight)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <span
|
|
|
|
|
+ style="
|
|
|
|
|
+ align-self: center;
|
|
|
|
|
+
|
|
|
|
|
+ transform: scale(1.5);
|
|
|
|
|
+ "
|
|
|
|
|
+ :class="isRight ? 'el-icon-caret-left' : 'el-icon-caret-right'"
|
|
|
|
|
+ >
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span style="writing-mode: vertical-rl">选择流程</span>
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ <!-- <div style="flex: 1" v-if="isRight">
|
|
|
|
|
+ <Detail
|
|
|
|
|
+ :view="true"
|
|
|
|
|
+ :id="form.id"
|
|
|
|
|
+ ref="formDetailDialogRef"
|
|
|
|
|
+ ></Detail>
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <outgoingDetails
|
|
|
|
|
+ v-if="outgoingData.id"
|
|
|
|
|
+ :business-id="outgoingData.id"
|
|
|
|
|
+ :isInterior="true"
|
|
|
|
|
+ ></outgoingDetails> -->
|
|
|
|
|
+ <div slot="footer" class="footer">
|
|
|
|
|
+ <el-button @click="cancel">返回</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </ele-modal>
|
|
|
|
|
+</template>
|
|
|
|
|
+<script>
|
|
|
|
|
+ import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
+ import { getToken } from '@/utils/token-util';
|
|
|
|
|
+ // import outgoingDetails from '@/views/bpm/outgoingManagement/details.vue';
|
|
|
|
|
+ // import storageApi from '@/api/warehouseManagement';
|
|
|
|
|
+ // import Detail from '@/views/bpm/processInstance/detailNew.vue';
|
|
|
|
|
+
|
|
|
|
|
+ export default {
|
|
|
|
|
+ name: 'formDetailDialog',
|
|
|
|
|
+ // components: {outgoingDetails, businessComponent, useSealComponent, useQualificationComponent, productSpecificationComponent, eventComponent, reissueComponent, Detail},
|
|
|
|
|
+ props: {
|
|
|
|
|
+ detailFlag: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: false
|
|
|
|
|
+ },
|
|
|
|
|
+ view: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: false
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ mixins: [dictMixins],
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ form: {},
|
|
|
|
|
+ jsonData: {},
|
|
|
|
|
+ outgoingData:{},
|
|
|
|
|
+ isRight: false,
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ // modelWidth() {
|
|
|
|
|
+ // return (this.outgoingData?.id || this.jsonData.config?.platform && this.jsonData.config.platform === 'pc') ? '80%' : '400px';
|
|
|
|
|
+ // }
|
|
|
|
|
+ modelWidth() {
|
|
|
|
|
+ let width = this.jsonData.config?.platform && this.jsonData.config.platform === 'pc' ? 1100 : 450;
|
|
|
|
|
+ if(this.isRight) {
|
|
|
|
|
+ return width + 750 + 'px'
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return width + 'px'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ open(row) {
|
|
|
|
|
+ this.form = _.cloneDeep(row);
|
|
|
|
|
+ // if(this.form.id){
|
|
|
|
|
+ // storageApi.getInfoBySourceBizNo(this.form.id).then(res=>{
|
|
|
|
|
+ // this.outgoingData=res
|
|
|
|
|
+ // })
|
|
|
|
|
+ // }
|
|
|
|
|
+ this.jsonData = JSON.parse(this.form.formJson.makingJson);
|
|
|
|
|
+ this.jsonData.config.dataSource &&
|
|
|
|
|
+ this.jsonData.config.dataSource.forEach((item) => {
|
|
|
|
|
+ item.headers = {
|
|
|
|
|
+ Authorization: getToken()
|
|
|
|
|
+ };
|
|
|
|
|
+ // item.url = item.url && item.url.replace('/api', this.APIUrl);
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ getTimelineItemType(result) {
|
|
|
|
|
+ if (result === '通过') {
|
|
|
|
|
+ return 'success';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '不通过') {
|
|
|
|
|
+ return 'danger';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '取消') {
|
|
|
|
|
+ return 'info';
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result === '处理中') {
|
|
|
|
|
+ return 'warning';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return '';
|
|
|
|
|
+ },
|
|
|
|
|
+ cancel() {
|
|
|
|
|
+ this.$emit('update:detailFlag', false);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+</script>
|
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
|
+ .eleModalBox {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ min-width: 300px;
|
|
|
|
|
+ overflow: auto;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .form-box {
|
|
|
|
|
+ // max-height: 500px;
|
|
|
|
|
+ min-width: 400px;
|
|
|
|
|
+ overflow: auto;
|
|
|
|
|
+ background: #4298fd0d;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ ::v-deep .el-dialog__header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ }
|
|
|
|
|
+ .blank_adopzrdd {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ > span {
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ width: 80px;
|
|
|
|
|
+ }
|
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+</style>
|