jiangping
2024-05-28 a58ce000b2f84a998e91c8c77b290319c3de6996
admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -58,7 +58,7 @@
                </div>
              </div>
            </div>
            <div class="item" v-if="model.status==1" style="width: 100%">
            <div class="item" v-if="model.status==1||model.status==2" style="width: 100%">
              <div class="label">处理前</div>
              <div class="value" v-if="model.dealBeforeFileList !=null && model.dealBeforeFileList.length">
                <div v-for="item in model.dealBeforeFileList" :key="item.id" style="display: inline;margin-right: 20px">
@@ -103,7 +103,8 @@
              </div>
            </div>
            <div class="item" v-if="model.status==1 || model.status==2">
              <div class="label">处理说明</div>
              <div class="label" v-if="model.status==1">处理说明</div>
              <div class="label" v-if="model.status==2">退回说明</div>
              <div class="value">{{model.checkInfo}}</div>
            </div>
          </div>
@@ -143,9 +144,9 @@
    </div>
    <!--  -->
    <template   v-slot:footer>
      <el-button @click="dealDo"  type="primary"  v-if="model.status==0"  class="status-red">处理</el-button>
      <el-button type="primary" plain v-if="model.status==0" @click="handleTransfer">转交</el-button>
      <el-button @click="backDo"  v-if="model.status==0" type="danger"  >退回</el-button>
      <el-button @click="dealDo"  type="primary"  v-if="model.status==0&& model.checkUserId == userInfo.memberId"  class="status-red">处理</el-button>
      <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">转交</el-button>
      <el-button @click="backDo"  v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger"  >退回</el-button>
      <el-button @click="visible=false">返回</el-button>
    </template>
    <!--  同意/拒绝 -->
@@ -164,6 +165,30 @@
      <span slot="footer" class="dialog-footer">
        <el-button @click="isShowAppr = false">取消</el-button>
        <el-button type="primary" @click="isShowAppr = false">确定</el-button>
      </span>
    </el-dialog>
    <el-dialog
        append-to-body
        title="转交"
        style="text-align: center"
        :visible.sync="isShowTransfer"
        width="480px"
    >
      <el-form :model="transForm" ref="transForm" :rules="rulesTrans">
        <el-form-item label="隐患转交人" prop="memberId">
          <el-select v-model="transForm.memberId" style="width: 300px"  filterable clearable placeholder="请选择转交安全员">
            <el-option
                v-for="item in memberList"
                :key="item.id"
                :label="item.name"
                :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="isShowTransfer = false">取消</el-button>
        <el-button type="primary" @click="transferSubmit">确定</el-button>
      </span>
    </el-dialog>
    <!-- 隐患 -->
@@ -212,7 +237,7 @@
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="isShowProblem = false">取消</el-button>
        <el-button type="primary" @click="isShowProblem = false"
        <el-button type="primary" :loading="transfering" @click="isShowProblem = false"
        >确定</el-button
        >
      </span>
@@ -223,22 +248,34 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import {findLogList} from "@/api/business/hiddenDanger";
import { memberList } from '@/api/business/hiddenDangerParam'
import {mapMutations} from "vuex";
export default {
  components: { GlobalWindow },
  extends: BaseOpera,
  data() {
  data () {
    return {
      title: '访客预约详情',
      visible: false,
      dataId:null,
      transfering: false,
      dataId: null,
      model: { },
      logList:[],
      logList: [],
      isShowAppr: false,
      apprTitle: '同意',
      param: {},
      isShowProblem: false,
      rules: {}
      isShowTransfer: false,
      rules: {},
      rulesTrans: {
        memberId: [
          { required: true, message: '请选择' }
        ]
      },
      memberList: [],
      transForm: {
        memberId: null
      }
    }
  },
  created () {
@@ -248,38 +285,71 @@
    })
  },
  methods: {
    dealDo(){},
    backDo(){},
    open(title,target){
      this.title =title
      this.visible=true
    ...mapMutations(['userInfo']),
    dealDo () { this.isShowProblem = true },
    backDo () { this.isShowProblem = true },
    open (title, target) {
      this.title = title
      this.visible = true
      this.model = {}
      this.dataId =target.id
      this.dataId = target.id
      this.getDetail()
      this.getLogList()
    },
    getLogList(){
      this.api.findLogList({hiddenDangerId:this.dataId})
          .then(res =>{
            this.logList =  res
    transferSubmit () {
      this.$refs.transForm.validate((valid) => {
        // debugger
        if (!valid) {
          return
        }
        this.$dialog.actionConfirm('操作确认', '您确认转交该隐患提报吗?')
          .then(() => {
            this.transfering = true
            this.api.transferHiddenDanger({
              id: this.dataId,
              checkUserId: this.transForm.memberId
            })
              .then(res => {
                this.$tip.apiSuccess('转交成功')
                this.getDetail()
                this.getLogList()
              })
              .catch(e => {
              })
              .finally(() => {
                this.transfering = false
              })
          })
          .catch(() => {})
      })
    },
    getDetail(){
    getLogList () {
      this.api.findLogList({ hiddenDangerId: this.dataId })
        .then(res => {
          this.logList = res
        })
    },
    getDetail () {
      this.api.detail(this.dataId)
          .then(res =>{
            this.model =  res
          })
        .then(res => {
          this.model = res
        })
    },
    confirm() {
    confirm () {
      console.log('--')
    },
    handleTransfer() {
      this.isShowProblem = true
    handleTransfer () {
      this.isShowTransfer = true
      this.loadMemberList()
    },
    reject() { },
    handleAvatarSuccess() { },
    beforeAvatarUpload() { }
    loadMemberList () {
      memberList({}).then(res => {
        this.memberList = res
      })
    },
    reject () { },
    handleAvatarSuccess () { },
    beforeAvatarUpload () { }
  }
}
</script>
@@ -444,6 +514,12 @@
            color: deepskyblue;
            font-size: 24px;
          }
          .icon2 {
            position: relative;
            z-index: 11;
            color: red;
            font-size: 24px;
          }
          .avatar {
            width: 40px;
            height: 40px;