''
liukangdong
2024-07-04 5a85dcab83e969d6b21c599b512a15117e9b8651
admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
@@ -13,15 +13,19 @@
    <div class="content-style">
      <div class="item">
        <div class="item-title">参会人员</div>
        <div>{{ form.sysList.map(item => `${item.realName}`).join(',') }}</div>
        <div>
          {{ form.sysList.map((item) => `${item.realName}`).join(",") }}
        </div>
      </div>
      <div class="item">
        <div class="item-title">会议内容</div>
        <div class="item-value">{{ form.content || '无' }}</div>
        <div class="item-value">{{ form.content || "无" }}</div>
      </div>
      <div v-if="form.projectList.length" class="item">
        <div class="">服务项</div>
        <div class="item-value">{{ form.projectList.map(item => item.projectName).join(' | ') }}</div>
        <div class="item-value">
          {{ form.projectList.map((item) => item.projectName).join(" | ") }}
        </div>
      </div>
      <div class="item" v-if="form.fileList.length">
        <div class="item-title">附件</div>
@@ -43,8 +47,33 @@
      <div class="item-value">{{ form.managerInfo }}</div>
    </div>
    <div slot="footer">
      <el-button @click="visible=false">取消</el-button>
      <el-button type="primary" v-if="form.meetingStatus == 1" @click="openCancel('0')">撤销</el-button>
      <el-button v-if="form.meetingStatus == 2" type="primary" @click="openCancel('1')">结束</el-button>
      <el-button @click="visible = false">取消</el-button>
    </div>
    <!-- 取消/结束 -->
    <el-dialog
      :title="cancelParam.falg == '1' ? '结束会议' : '撤销会议'"
      :visible.sync="isShowCancel"
      append-to-body
      width="500px"
    >
      <el-form style="padding: 30px">
        <el-form-item label="撤回说明">
          <el-input
            type="textarea"
            :rows="4"
            placeholder="请输入说明。"
            v-model="cancelParam.businessRemark"
          >
          </el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="isShowCancel = false">取消</el-button>
        <el-button type="primary" @click="onSubCancel()">确定</el-button>
      </span>
    </el-dialog>
  </GlobalAlertWindow>
</template>
@@ -52,6 +81,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import FileLink from '@/views/meeting/components/common/FileLink'
import { cancelById, overBookById } from '@/api/meeting/bookings'
export default {
  name: 'OperaBookingsDetailWindow',
  extends: BaseOpera,
@@ -69,6 +99,7 @@
        projectList: [],
        remark: '',
        roomId: '',
        meetingStatus: '',
        startTime: '',
        endTime: '',
        times: [],
@@ -81,6 +112,11 @@
      sysList: [],
      projectList: [],
      timelist: [],
      isShowCancel: false,
      cancelParam: {
        flag: '0'
      },
      // 验证规则
      rules: {
@@ -92,9 +128,22 @@
      api: '/meeting/bookings',
      'field.id': 'id'
    })
  },
  methods: {
    openCancel (flag) {
      this.isShowCancel = true
      this.cancelParam.flag = flag
    },
    onSubCancel () {
      const { id } = this.form
      const fn = this.cancelParam.flag === '0' ? cancelById : overBookById
      fn({ id, businessRemark: this.cancelParam.businessRemark }).then(res => {
        this.$tip.success('提交成功')
        this.visible = false
        this.isShowCancel = false
        this.$emit('success')
      })
    }
    /**
     * 打开窗口
     * @title 窗口标题
@@ -124,7 +173,7 @@
    //   })
    // },
  },
  }
}
</script>
@@ -160,5 +209,4 @@
.bottom-style {
  padding: 20px;
}
</style>