|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <GlobalWindow | 
|---|
|  |  |  | :title="title" | 
|---|
|  |  |  | :visible.sync="visible" | 
|---|
|  |  |  | @confirm="confirm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <GlobalWindow :title="title" :visible.sync="visible" @confirm="confirm"> | 
|---|
|  |  |  | <div class="modal_wrap"> | 
|---|
|  |  |  | <div class="modal_content"> | 
|---|
|  |  |  | <div class="header"> | 
|---|
|  |  |  | <div class="left"> | 
|---|
|  |  |  | <div class="h1">公务车申请</div> | 
|---|
|  |  |  | <div class="time">提交时间:{{model.createDate}}</div> | 
|---|
|  |  |  | <div class="time">提交时间:{{ model.createDate }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span class="right"  v-if="model.status === 0">申请中</span> | 
|---|
|  |  |  | <span class="right"  v-if="model.status === 1">审批中</span> | 
|---|
|  |  |  | <span class="right" v-if="model.status === 0">申请中</span> | 
|---|
|  |  |  | <span class="right" v-if="model.status === 1">审批中</span> | 
|---|
|  |  |  | <span class="right" style="background:#53b76f " v-if="model.status === 2">审批通过</span> | 
|---|
|  |  |  | <span class="right" style="background:#dc362e " v-if="model.status === 3">审批不通过</span> | 
|---|
|  |  |  | <span class="right" style="background:#dc362e " v-if="model.status === 4">已取消</span> | 
|---|
|  |  |  | <span class="right" style="background:#B2B2B2; " v-if="model.status === 4">已撤销</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="info"> | 
|---|
|  |  |  | <div class="title">公务车申请信息</div> | 
|---|
|  |  |  | <div class="list"> | 
|---|
|  |  |  | <div class="item" style="width: 100%"> | 
|---|
|  |  |  | <div class="label">申请人</div> | 
|---|
|  |  |  | <div class="value">{{model.memberName || ''}} {{model.memberPhone || ''}} ({{model.companyName || ''}})</div> | 
|---|
|  |  |  | <div class="value">{{ model.memberName || '' }} {{ model.memberPhone || '' }} ({{ model.companyName || '' | 
|---|
|  |  |  | }}) | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">申请车辆</div> | 
|---|
|  |  |  | <div class="value">{{model.carCode || ''}}</div> | 
|---|
|  |  |  | <div class="value">{{ model.carCode || '' }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">司机信息</div> | 
|---|
|  |  |  | <div class="value" v-if="model.driverId !=null">{{model.driverName || ''}} {{model.driverPhone || ''}}</div> | 
|---|
|  |  |  | <div class="value" v-if="model.driverId ==null">未指派</div> | 
|---|
|  |  |  | <div class="value" v-if="model.driverId != null">{{ model.driverName || '' }} {{ model.driverPhone || '' | 
|---|
|  |  |  | }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="value" v-if="model.driverId == null">未指派</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"  > | 
|---|
|  |  |  | <div class="label">用车事由</div> | 
|---|
|  |  |  | <div class="value">{{model.content}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">用车事由</div> | 
|---|
|  |  |  | <div class="value">{{ model.content }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">乘车人员</div> | 
|---|
|  |  |  | <div class="value">{{model.memberNames || ''}}</div> | 
|---|
|  |  |  | <div class="value">{{ model.memberNames || '' }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">目的地类别</div> | 
|---|
|  |  |  | <div class="value status-green" v-if="model.type === 0">【市内用车】</div> | 
|---|
|  |  |  | <spdivan class="value status-red"   v-if="model.type === 1">【市内用车】</spdivan> | 
|---|
|  |  |  | <div class="value status-green" v-if="model.type == 0">【市内用车】</div> | 
|---|
|  |  |  | <div class="value status-red" v-if="model.type == 1">【市外用车】</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">目的地</div> | 
|---|
|  |  |  | <div class="value">{{model.addr || ''}}</div> | 
|---|
|  |  |  | <div class="value">{{ model.addr || '' }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">预计出发时间</div> | 
|---|
|  |  |  | <div class="value">{{model.planUseDate || ''}}</div> | 
|---|
|  |  |  | <div class="value" v-if="model.planUseDate">{{ model.planUseDate.slice(0,16) }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="item"> | 
|---|
|  |  |  | <div class="label">用车时段</div> | 
|---|
|  |  |  | <div class="value">始:{{model.startTime || ''}}<br>止:{{model.endTime || ''}}</div> | 
|---|
|  |  |  | <div class="value">始:<span v-if="model.startTime">{{ model.startTime.slice(0,16) }}</span><br>止:<span v-if="model.endTime">{{ model.endTime.slice(0,16) }}</span></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="side"> | 
|---|
|  |  |  | <div class="side_title">审批流程</div> | 
|---|
|  |  |  | <div class="list"  v-if="model.approveDateVO !=null && model.approveDateVO.approveList !=null"> | 
|---|
|  |  |  | <div class="item" v-for="(item,index) in model.approveDateVO.approveList" :key="item.id"> | 
|---|
|  |  |  | <div class="separate" v-if=" (index < model.approveDateVO.approveList.length-1)"></div> | 
|---|
|  |  |  | <div class="list" v-if=" | 
|---|
|  |  |  | model.approveDateVO != null && model.approveDateVO.approveList != null | 
|---|
|  |  |  | "> | 
|---|
|  |  |  | <div class="item" v-for="(item, index) in model.approveDateVO.approveList" :key="item.id"> | 
|---|
|  |  |  | <div class="separate" v-if="index < model.approveDateVO.approveList.length - 1"></div> | 
|---|
|  |  |  | <div class="info"> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_tongguo.png"   class="iconnew" v-if="( item.status ==2)"/> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_dangqian.png"   class="iconnew"  v-if="( item.status==1)"/> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_jujue.png"  class="iconnew"  v-if="( item.status==3)"/> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_grey.png"  class="iconnew" v-if=" (item.status==null || item.status==0 )"/> | 
|---|
|  |  |  | <div style="display: inline" v-if="item.approveType !=1"> | 
|---|
|  |  |  | <img v-if="item.faceImg!=null && item.faceImg !=''" :src="item.faceImg" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item.faceImg ==null ||item.faceImg ==''"  src="@/assets/avatar/man.png" class="avatar" alt="" /> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_tongguo.png" class="iconnew" v-if="item.status == 2" /> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_dangqian.png" class="iconnew" v-if="item.status == 1" /> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="item.status == 3" /> | 
|---|
|  |  |  | <img src="@/assets/icons/ic_grey.png" class="iconnew" v-if="item.status == null || item.status == 0" /> | 
|---|
|  |  |  | <div style="display: inline" v-if="item.approveType != 1"> | 
|---|
|  |  |  | <img v-if="item.faceImg != null && item.faceImg != ''" :src="item.faceImg" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item.faceImg == null || item.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" | 
|---|
|  |  |  | alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="display: inline" v-if="item.approveType  == 1"> | 
|---|
|  |  |  | <img  v-if="item.type !=1"  src="@/assets/icons/ic_duoren.png" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item.type == 1"  src="@/assets/icons/ic_chaosong.png" class="avatar" alt="" /> | 
|---|
|  |  |  | <div style="display: inline" v-if="item.approveType == 1"> | 
|---|
|  |  |  | <img v-if="item.type != 1" src="@/assets/icons/ic_duoren.png" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item.type == 1" src="@/assets/icons/ic_chaosong.png" class="avatar" alt="" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="content"> | 
|---|
|  |  |  | <div class="line"> | 
|---|
|  |  |  | <div class="name">{{ item.title}}</div> | 
|---|
|  |  |  | <div class="name">{{ item.title }}</div> | 
|---|
|  |  |  | <div class="time">{{ item.checkDate }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="line"> | 
|---|
|  |  |  | <div class="company"> | 
|---|
|  |  |  | {{ item.memberName }} | 
|---|
|  |  |  | <div style="display: inline" v-if="item.statusInfo!=null && item.statusInfo!=''"> | 
|---|
|  |  |  | (<span class="status-green">{{item.statusInfo ||''}}</span>) | 
|---|
|  |  |  | <div style="display: inline" v-if="item.statusInfo != null && item.statusInfo != ''"> | 
|---|
|  |  |  | (<span :class="{ padding: item.statusInfo == '处理中' || item.status == '1' }">{{ | 
|---|
|  |  |  | item.statusInfo || "" | 
|---|
|  |  |  | }}</span>) | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="item.approveType != 1 && item.checkInfo !=null && item.checkInfo !=''" class="remark"> | 
|---|
|  |  |  | {{ item.checkInfo || '' }} | 
|---|
|  |  |  | <div v-if=" | 
|---|
|  |  |  | item.approveType != 1 && | 
|---|
|  |  |  | item.checkInfo != null && | 
|---|
|  |  |  | item.checkInfo != '' | 
|---|
|  |  |  | " class="remark"> | 
|---|
|  |  |  | {{ item.checkInfo || "" }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="item.approveType == 1 "  class="childList"> | 
|---|
|  |  |  | <div v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="childList"> | 
|---|
|  |  |  | <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id"> | 
|---|
|  |  |  | <img v-if="item1.faceImg!=null && item1.faceImg !=''" :src="item1.faceImg" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item1.faceImg ==null ||item1.faceImg ==''"  src="@/assets/avatar/man.png" class="avatar" alt="" /> | 
|---|
|  |  |  | <span > {{item1.memberName}}</span> | 
|---|
|  |  |  | <img v-if="item1.faceImg != null && item1.faceImg != ''" :src="item1.faceImg" class="avatar" alt="" /> | 
|---|
|  |  |  | <img v-if="item1.faceImg == null || item1.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" | 
|---|
|  |  |  | alt="" /> | 
|---|
|  |  |  | <span> {{ item1.memberName }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | <template   v-slot:footer> | 
|---|
|  |  |  | <el-button @click="isShowProblem = true"  type="primary"  v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 "  class="status-red">同意</el-button> | 
|---|
|  |  |  | <el-button @click="isBackProblem=true"  type="danger"  v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 "  >拒绝</el-button> | 
|---|
|  |  |  | <el-button @click="visible=false">返回</el-button> | 
|---|
|  |  |  | <template v-slot:footer> | 
|---|
|  |  |  | <el-button @click="agreeOpen" type="primary" | 
|---|
|  |  |  | v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1" | 
|---|
|  |  |  | class="status-red">同意</el-button> | 
|---|
|  |  |  | <el-button @click="jectOpen" type="danger" | 
|---|
|  |  |  | v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1">拒绝</el-button> | 
|---|
|  |  |  | <el-button @click="visible = false">返回</el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | append-to-body | 
|---|
|  |  |  | title="同意申请" | 
|---|
|  |  |  | style="text-align: center" | 
|---|
|  |  |  | class="dialogCl" | 
|---|
|  |  |  | :visible.sync="isShowProblem" | 
|---|
|  |  |  | width="480px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="dealForm" ref="dealForm" > | 
|---|
|  |  |  | <el-form-item label="派车司机" prop="driverId" required v-if="model.approveDateVO!=null && model.approveDateVO.drvierParam ===1"> | 
|---|
|  |  |  | <el-select v-model="transForm.driverId" style="width: 300px"  filterable clearable placeholder="请选择派遣司机"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in memberList" | 
|---|
|  |  |  | :key="item.id" | 
|---|
|  |  |  | :label="item.name+'-'+item.phone" | 
|---|
|  |  |  | :value="item.id"> | 
|---|
|  |  |  | <el-dialog append-to-body title="同意申请" style="text-align: center" class="dialogCl" :visible.sync="isShowProblem" | 
|---|
|  |  |  | width="480px"> | 
|---|
|  |  |  | <el-form :model="dealForm" :rules="rules" ref="dealForm"> | 
|---|
|  |  |  | <!-- <el-form-item label="派车司机" prop="driverId" required v-if="model.approveDateVO!=null && model.approveDateVO.driverParam === 1"> --> | 
|---|
|  |  |  | <el-form-item label="派车司机" prop="driverId" | 
|---|
|  |  |  | v-if="model.approveDateVO != null && model.approveDateVO.driverParam == 1"> | 
|---|
|  |  |  | <el-select v-model="dealForm.driverId" style="width: 300px" filterable clearable placeholder="请选择派遣司机"> | 
|---|
|  |  |  | <el-option v-for="item in memberList" :key="item.id" :label="item.name + '-' + item.phone" :value="item.id"> | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="同意说明"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | placeholder="请填写说明" | 
|---|
|  |  |  | :rows="4" | 
|---|
|  |  |  | v-model="backForm.checkInfo" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-input type="textarea" placeholder="请填写说明" :rows="4" v-model="dealForm.checkInfo" /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-button type="primary" :loading="dealing" @click="dealDo">确定</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | append-to-body | 
|---|
|  |  |  | title="拒绝申请" | 
|---|
|  |  |  | style="text-align: center" | 
|---|
|  |  |  | class="dialogCl" | 
|---|
|  |  |  | :visible.sync="isBackProblem" | 
|---|
|  |  |  | width="600px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="backForm"  ref="backForm" label-width="100px"> | 
|---|
|  |  |  | <el-dialog append-to-body title="拒绝申请" style="text-align: center" class="dialogCl" :visible.sync="isBackProblem" | 
|---|
|  |  |  | width="600px"> | 
|---|
|  |  |  | <el-form :model="backForm" ref="backForm" label-width="100px"> | 
|---|
|  |  |  | <el-form-item label="拒绝说明"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | placeholder="请填写说明" | 
|---|
|  |  |  | :rows="4" | 
|---|
|  |  |  | v-model="backForm.checkInfo" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-input type="textarea" placeholder="请填写说明" :rows="4" v-model="backForm.checkInfo" /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="isBackProblem= false">取消</el-button> | 
|---|
|  |  |  | <el-button @click="isBackProblem = false">取消</el-button> | 
|---|
|  |  |  | <el-button type="primary" :loading="dealing" @click="backDo">确定</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | 
|---|
|  |  |  | import { driveList } from '@/api/business/member' | 
|---|
|  |  |  | import { approveDo } from '@/api/business/approve' | 
|---|
|  |  |  | import { mapState } from 'vuex' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'OperaCarUseBookWindow', | 
|---|
|  |  |  | components: { GlobalWindow }, | 
|---|
|  |  |  | extends: BaseOpera, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | title: '公务车申请', | 
|---|
|  |  |  | visible: false, | 
|---|
|  |  |  | dataId: null, | 
|---|
|  |  |  | model: { }, | 
|---|
|  |  |  | model: {}, | 
|---|
|  |  |  | dealing: false, | 
|---|
|  |  |  | isShowProblem: false, | 
|---|
|  |  |  | isBackProblem: false, | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | backForm: { | 
|---|
|  |  |  | checkInfo: null | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | driverId: [{ required: true, message: '请选择派遣司机', trigger: 'blur' }] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | ...mapState(['userInfo']) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created () { | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.config({ | 
|---|
|  |  |  | api: '/business/carUseBook', | 
|---|
|  |  |  | 'field.id': 'id' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | dealDo () { | 
|---|
|  |  |  | dealDo() { | 
|---|
|  |  |  | this.$refs.dealForm.validate((valid) => { | 
|---|
|  |  |  | if (!valid) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | 
|---|
|  |  |  | this.dealing = true | 
|---|
|  |  |  | approveDo({ | 
|---|
|  |  |  | objId: this.dataId, | 
|---|
|  |  |  | objType: this.model.type == 1?4:3, | 
|---|
|  |  |  | objType: this.model.type == 1 ? 4 : 3, | 
|---|
|  |  |  | status: 2, | 
|---|
|  |  |  | driverId: this.dealForm.driveId, | 
|---|
|  |  |  | driverId: this.dealForm.driverId, | 
|---|
|  |  |  | checkInfo: this.dealForm.checkInfo | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | backDo () { | 
|---|
|  |  |  | agreeOpen() { | 
|---|
|  |  |  | this.isShowProblem = true | 
|---|
|  |  |  | this.$set(this.dealForm, 'driverId', this.model.driverId) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.$set(this.dealForm, 'checkInfo', '') | 
|---|
|  |  |  | this.loadMemberList() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | jectOpen() { | 
|---|
|  |  |  | this.isBackProblem = true | 
|---|
|  |  |  | this.backForm = { | 
|---|
|  |  |  | checkInfo: null | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | backDo() { | 
|---|
|  |  |  | this.$refs.backForm.validate((valid) => { | 
|---|
|  |  |  | if (!valid) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | approveDo({ | 
|---|
|  |  |  | objId: this.dataId, | 
|---|
|  |  |  | objType: this.model.type == 1?4:3, | 
|---|
|  |  |  | status: 3, | 
|---|
|  |  |  | checkInfo: this.dealForm.checkInfo | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.$tip.apiSuccess('退回成功') | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | this.isBackProblem = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(e => { | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | this.dealing = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | objId: this.dataId, | 
|---|
|  |  |  | objType: this.model.type == 1 ? 4 : 3, | 
|---|
|  |  |  | status: 3, | 
|---|
|  |  |  | checkInfo: this.backForm.checkInfo | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.$tip.apiSuccess('退回成功') | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | this.isBackProblem = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(e => { | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | this.dealing = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | open (title, target) { | 
|---|
|  |  |  | open(title, target) { | 
|---|
|  |  |  | this.title = title | 
|---|
|  |  |  | this.visible = true | 
|---|
|  |  |  | this.model = {} | 
|---|
|  |  |  | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail () { | 
|---|
|  |  |  | getDetail() { | 
|---|
|  |  |  | this.api.detail(this.dataId) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | this.model = res | 
|---|
|  |  |  | if (this.model.approveDateVO && this.model.approveDateVO.approveList.length > 0) { | 
|---|
|  |  |  | this.model.approveDateVO.approveList.forEach(item => { | 
|---|
|  |  |  | if (item.approveList && item.approveList.length == 1 && item.type !== 1) { | 
|---|
|  |  |  | item.title = item.approveList[0].title | 
|---|
|  |  |  | item.faceImg = item.approveList[0].faceImg | 
|---|
|  |  |  | item.memberName = item.approveList[0].memberName | 
|---|
|  |  |  | item.statusInfo = item.approveList[0].statusInfo | 
|---|
|  |  |  | item.status = item.approveList[0].status | 
|---|
|  |  |  | item.approveList = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.dealForm.driveId = res.driveId | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleTransfer () { | 
|---|
|  |  |  | this.isShowTransfer = true | 
|---|
|  |  |  | this.loadMemberList() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | loadMemberList () { | 
|---|
|  |  |  | loadMemberList() { | 
|---|
|  |  |  | driveList({}).then(res => { | 
|---|
|  |  |  | this.memberList = res | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .side_title{ | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | color: #111111; | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  | margin-left: 20px; | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @import "@/assets/style/variables.scss"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .upload_box { | 
|---|
|  |  |  | width: 84px; | 
|---|
|  |  |  | height: 84px; | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | border: 1px solid #e4e4e4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .icon { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .text { | 
|---|
|  |  |  | font-size: 12px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .side_title { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | color: #111111; | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  | margin-left: 20px; | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .modal_wrap { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .modal_content { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | padding: 0px 30px; | 
|---|
|  |  |  | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  | margin-top: 30px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .info { | 
|---|
|  |  |  | .list { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | width: 40%; | 
|---|
|  |  |  | margin-bottom: 20px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:nth-of-type(2n) { | 
|---|
|  |  |  | width: 60%; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .value { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | color: #111111; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | border-radius: 16px 0px 16px 0px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .table_info { | 
|---|
|  |  |  | .name_wrap { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | width: 40px; | 
|---|
|  |  |  | height: 40px; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | margin-right: 12px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | .line { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .tag { | 
|---|
|  |  |  | color: #b2cbf9; | 
|---|
|  |  |  | border: 1px solid #b2cbf9; | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 420px; | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  | border-left: 20px solid #f7f7f7; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list { | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | padding: 8px 0; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .separate { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | border-left: 2px dashed #cccccc; | 
|---|
|  |  |  | left: 31px; | 
|---|
|  |  |  | height: calc(100% - 36px); | 
|---|
|  |  |  | height: calc(100% - 30px); | 
|---|
|  |  |  | top: 49px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | width: 40px; | 
|---|
|  |  |  | height: 40px; | 
|---|
|  |  |  | 
|---|
|  |  |  | margin: 0 12px 0 16px; | 
|---|
|  |  |  | //border: 1px solid; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .childList{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .childList { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-wrap: wrap; | 
|---|
|  |  |  | margin-left: 100px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .company { | 
|---|
|  |  |  | font-size: 13px; | 
|---|
|  |  |  | color: #888888; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: #00ba67; | 
|---|
|  |  |  | color: $primaryColor; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .m_content{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .m_content { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | margin-bottom: 4px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .info { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | margin-left: 20px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .icon { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 11; | 
|---|
|  |  |  | color: #53b76f; | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .icon1 { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 11; | 
|---|
|  |  |  | color: deepskyblue; | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .icon2 { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 11; | 
|---|
|  |  |  | color: #dc362e; | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .iconnew{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .iconnew { | 
|---|
|  |  |  | width: 24px; | 
|---|
|  |  |  | height: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .icon3 { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | z-index: 11; | 
|---|
|  |  |  | color:gray; | 
|---|
|  |  |  | color: gray; | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .line { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | align-content: center; | 
|---|
|  |  |  | margin-bottom: 6px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: #888888; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .padding { | 
|---|
|  |  |  | color: $primaryColor; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 16px; | 
|---|
|  |  |  | color: #111111; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .time { | 
|---|
|  |  |  | color: #888888; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .remark { | 
|---|
|  |  |  | background: #f7f7f7; | 
|---|
|  |  |  | border-radius: 4px; | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | margin-left: 100px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|