| | |
| | | > |
| | | <a-card :bordered="false"> |
| | | <div> |
| | | <b>{{ selectShenpiData.title }}</b> |
| | | <b>{{ selectShenpiData.description }}</b> |
| | | <br> |
| | | <br> |
| | | <a-tag color="blue"> |
| | |
| | | </a-row> |
| | | <a-row> |
| | | <a-col :span='span'> |
| | | <a-form-model-item label='设备类名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'> |
| | | <a-form-model-item label='数控系统类别' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'> |
| | | <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementCode'></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span='span'> |
| | | <a-form-model-item label='设备类名称' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'> |
| | | <a-form-model-item label='数控系统类别' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'> |
| | | <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementName'></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | |
| | | <a-timeline style="padding:0 1% 0 12%" > |
| | | <a-timeline-item color='white' v-for="(item,index1) in hitaskDataSource" :key="index1"> |
| | | <div class="bottom"> |
| | | <p>开始时间:{{item.startTime}}</p> |
| | | <p>结束时间:{{item.endTime}}</p> |
| | | <p>处理人:{{item.assignee}}</p> |
| | | <p>办理类型:{{item.bllx_dictText}}</p> |
| | | <p v-if="item.name == '提交申请'">指派原因:{{item.cause}}</p> |
| | | <p v-else >处理意见:{{item.cause}}</p> |
| | | <div class="left_qiu"><span>{{item.name}}</span></div> |
| | | <p>处理人:{{item.assignee_dictText}}</p> |
| | | <p v-if="index1 !==0">处理时长:{{item.duration}}</p> |
| | | <p v-if="item.name !== '提交申请'">处理类型:{{item.sequenceFlowName}}</p> |
| | | <p v-if="item.description != null">处理意见:{{item.description}}</p> |
| | | <div class="left_qiu"><span>{{item.taskName}}</span></div> |
| | | </div> |
| | | </a-timeline-item> |
| | | </a-timeline> |
| | |
| | | <a-input :disabled='coldisabled' v-model='tableRowRecord.applyTime'></a-input> |
| | | </a-form-model-item > |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-item label="密级为" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-dict-select-tag type='list' v-model='assignFileStream.secretLevel' dictCode='dnc_secret_level' placeholder="请选择密级" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- <a-col :span="24">--> |
| | | <!-- <a-form-item label="密级为" :labelCol="labelCol" :wrapperCol="wrapperCol">--> |
| | | <!-- <j-dict-select-tag type='list' v-model='assignFileStream.secretLevel' dictCode='dnc_secret_level' placeholder="请选择密级" />--> |
| | | <!-- </a-form-item>--> |
| | | <!-- </a-col>--> |
| | | <a-col :span="24" class="btxx"> |
| | | <a-form-item label="审批状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <j-dict-select-tag type='list' v-model='assignFileStream.status' dictCode='dnc_assign_stream_status' placeholder="请选择审批状态" /> |
| | |
| | | </a-col> |
| | | </a-row> |
| | | <div class="table-operator" style="text-align: right;"> |
| | | <a-button @click="handleQueXiaoTask" type="primary" icon="close">取消</a-button> |
| | | <a-button @click="submitForm">提 交</a-button> |
| | | <a-button |
| | | @click="handleQueXiaoTask" |
| | | icon="close" |
| | | :disabled="isSubmitting" |
| | | :class="{'disabled-btn': isSubmitting}" |
| | | >取消</a-button> |
| | | <a-button |
| | | @click="submitForm" |
| | | type="primary" |
| | | :disabled="isSubmitting" |
| | | :loading="isSubmitting" |
| | | > |
| | | 提 交 |
| | | </a-button> |
| | | </div> |
| | | </a-form-model> |
| | | </div> |
| | |
| | | url: { |
| | | queryBomDataById: '/nc/activit/selectVoById', |
| | | diagramView: '/assign/flow/diagramView', |
| | | queryHisTaskList:'/assign/flow/queryHisTaskList', |
| | | approve:"/activit/assign/file/approve", |
| | | queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList', |
| | | approve:"/nc/activit/assign/file/approve", |
| | | }, |
| | | dictOptions: {}, |
| | | superFieldList: [], |
| | | workflowSource: [] |
| | | workflowSource: [], |
| | | isSubmitting: false, |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | alert('无法加载图片,请稍后再试。') |
| | | } |
| | | }, |
| | | handleQueXiaoTask(){ |
| | | this.visible = false |
| | | this.routeReload() |
| | | handleQueXiaoTask() { |
| | | // 如果正在提交,阻止取消操作 |
| | | if (this.isSubmitting) return; |
| | | this.visible = false; |
| | | this.routeReload(); |
| | | }, |
| | | submitForm () { |
| | | // 如果正在提交,阻止重复点击 |
| | | if (this.isSubmitting) return; |
| | | |
| | | // 开启全局禁选 |
| | | this.isSubmitting = true; |
| | | document.body.classList.add('submitting'); |
| | | |
| | | const that = this; |
| | | |
| | | // 定义一个恢复状态的函数 |
| | | const resetState = () => { |
| | | that.isSubmitting = false; |
| | | document.body.classList.remove('submitting'); |
| | | }; |
| | | |
| | | if (!that.assignFileStream.status==null || that.assignFileStream.status===undefined){ |
| | | this.$message.warning('请选择审批状态!') |
| | | return false; |
| | |
| | | } |
| | | // 触发表单验证 |
| | | this.form.validateFields((err, values) => { |
| | | if (err) { |
| | | resetState(); // 验证失败,恢复状态 |
| | | return; |
| | | } |
| | | if (!err) { |
| | | that.confirmLoading = true; |
| | | let url=this.url.approve |
| | |
| | | httpAction(url,flowTaskVo,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | that.visible = false |
| | | //刷新表格 |
| | | that.$emit('searchReset') |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | }).catch((error) => { |
| | | console.error(error); |
| | | that.$message.error('提交失败'); |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = false; |
| | | resetState(); // 请求结束,恢复状态 |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | getAllApproveData(item) { |
| | |
| | | 'id': item.dataId |
| | | } |
| | | let parmhis={ |
| | | 'procInstId': item.dataId |
| | | 'procInstId': item.procInstId |
| | | } |
| | | getAction(this.url.queryHisTaskList,parmhis).then(res=>{ |
| | | this.hitaskDataSource=res.result |
| | |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | /* 全局禁选样式 - 作用于整个页面 */ |
| | | html.submitting, |
| | | html.submitting body { |
| | | pointer-events: none !important; |
| | | cursor: wait !important; |
| | | } |
| | | |
| | | /* 蒙层效果增强 */ |
| | | html.submitting::before { |
| | | content: ''; |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(255, 255, 255, 0.5); |
| | | z-index: 9998; |
| | | } |
| | | |
| | | /* 加载指示器 - 更明显的视觉反馈 */ |
| | | html.submitting::after { |
| | | content: '提交中...'; |
| | | position: fixed; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | background: #1890ff; |
| | | color: white; |
| | | padding: 10px 20px; |
| | | border-radius: 4px; |
| | | z-index: 9999; |
| | | } |
| | | |
| | | /* 禁用状态按钮样式 */ |
| | | .disabled-btn { |
| | | opacity: 0.6; |
| | | cursor: not-allowed !important; |
| | | } |
| | | |
| | | .shallow-hr { |
| | | border: 0; |
| | | height: 1px; /* 分界线的高度 */ |