infoPage.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <div class="page-container workExecute-infoPage">
  3. <div class="page-top-title-box">
  4. <p class="page-top-title-name-p">工作执行</p>
  5. <p class="page-top-title-out-p" @click="backPage">返回</p>
  6. <p class="page-top-title-add-p" v-if="!newData.status" @click="openDialog">完成</p>
  7. </div>
  8. <div class="content-box scrollbar-box">
  9. <el-form class="add-form-box">
  10. <div class="text-max-box">
  11. <p>管控名称:</p>
  12. <p>{{newData.name}}</p>
  13. </div>
  14. <div class="text-max-box">
  15. <p>管控描述:</p>
  16. <p>{{newData.manageDes}}</p>
  17. </div>
  18. <div class="text-max-box">
  19. <p>二级单位:</p>
  20. <p>{{newData.deptName}}</p>
  21. </div>
  22. <div class="text-max-box">
  23. <p>安全分类:</p>
  24. <p>{{newData.typeName}}</p>
  25. </div>
  26. <div class="text-max-box">
  27. <p>安全分级:</p>
  28. <p>{{newData.levelName}}</p>
  29. </div>
  30. <div class="text-max-box">
  31. <p>状态:</p>
  32. <p :class="newData.status == 1?'colorA':'colorB'">{{newData.status == 1?'已执行':'未执行'}}</p>
  33. </div>
  34. <div class="text-max-box" v-if="newData.status == 1">
  35. <p>执行人:</p>
  36. <p>{{newData.executionUser}}</p>
  37. </div>
  38. <div class="text-max-box" v-if="newData.status == 1">
  39. <p>执行时间:</p>
  40. <p>{{parseTime(newData.executionTime,"{y}-{m}-{d} {h}:{i}")}}</p>
  41. </div>
  42. <div class="text-max-box" v-if="newData.status == 1">
  43. <p>执行备注:</p>
  44. <p>{{newData.remark}}</p>
  45. </div>
  46. </el-form>
  47. </div>
  48. <el-dialog class="conditionsSettings-dialog" title='执行完成' width="760px" append-to-body
  49. :visible.sync="shadeType" v-if="shadeType" @close="dialogOff()"
  50. :close-on-click-modal="false" :close-on-press-escape="false">
  51. <div>
  52. <el-form :model="addForm" ref="addForm" :inline="true" :rules="rules">
  53. <el-form-item label="执行描述" prop="remark">
  54. <el-input type="textarea" resize="none" style="width:630px;" show-word-limit
  55. :rows="4"
  56. v-model="addForm.remark" placeholder="请输入执行描述" maxlength="100"/>
  57. </el-form-item>
  58. </el-form>
  59. </div>
  60. <div slot="footer" class="dialog-footer dialog-footer-box">
  61. <p class="dialog-footer-button-null"></p>
  62. <p class="dialog-footer-button-info" @click="dialogOff()">取消</p>
  63. <p class="dialog-footer-button-primary" @click="submitForm">提交</p>
  64. <p class="dialog-footer-button-null"></p>
  65. </div>
  66. </el-dialog>
  67. </div>
  68. </template>
  69. <script>
  70. import { laboratoryGradeManageExecute } from "@/api/hierarchicalControl/index";
  71. export default {
  72. name: 'infoPage',
  73. props:{
  74. propsData:{},
  75. },
  76. data(){
  77. return{
  78. newData:{},
  79. addForm:{
  80. remark:'',
  81. },
  82. rules: {
  83. remark: [
  84. { required: true, message: "请输入执行描述", trigger: "blur" },
  85. { required: true, message: "请输入执行描述", validator: this.spaceJudgment, trigger: "blur" }
  86. ],
  87. },
  88. shadeType:false,
  89. }
  90. },
  91. created(){
  92. },
  93. mounted(){
  94. if(this.propsData.id){
  95. this.$set(this,'newData',this.propsData);
  96. }
  97. },
  98. methods:{
  99. // 返回按钮
  100. backPage(){
  101. this.$parent.tableButton(6);
  102. },
  103. /** 提交按钮 */
  104. submitForm() {
  105. this.$refs["addForm"].validate(valid => {
  106. if (valid) {
  107. let obj = {
  108. id:this.newData.id,
  109. remark:this.addForm.remark,
  110. status:1,
  111. }
  112. laboratoryGradeManageExecute(obj).then(response => {
  113. this.msgSuccess(response.message)
  114. this.backPage();
  115. })
  116. }
  117. })
  118. },
  119. openDialog(){
  120. this.$set(this,'shadeType',true);
  121. },
  122. dialogOff(){
  123. this.$set(this,'shadeType',false);
  124. this.$set(this.addForm,'executeDescribe','');
  125. },
  126. },
  127. }
  128. </script>
  129. <style scoped lang="scss">
  130. .workExecute-infoPage{
  131. .content-box{
  132. flex:1;
  133. display: flex;
  134. padding:20px;
  135. .text-max-box{
  136. display: flex;
  137. p{
  138. font-size: 16px;
  139. line-height:40px;
  140. }
  141. p:nth-child(1){
  142. width:120px;
  143. text-align: right;
  144. }
  145. p:nth-child(2){
  146. width:1200px;
  147. line-height:20px;
  148. padding:10px 0;
  149. }
  150. .colorA{
  151. color:#0183FA;
  152. }
  153. .colorB{
  154. color: #c88400;
  155. }
  156. }
  157. .add-execute-describe-box{
  158. margin-top:10px;
  159. padding-top:20px;
  160. border-top:1px solid #dedede;
  161. }
  162. }
  163. }
  164. </style>