dialog.letterview.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <template>
  2. <div class="edu-training-edit">
  3. <DialogCom :title="title" @close="onHide" :visible.sync="isShow" width="800px">
  4. <div class="page-body">
  5. <el-form ref="form" :model="formData" label-width="150px">
  6. <el-row>
  7. <el-col :span="24">
  8. <el-form-item label="介绍信名称:">
  9. {{formData.letterName}}
  10. </el-form-item>
  11. </el-col>
  12. <el-col :span="24">
  13. <el-form-item label="介绍信有效期限:">
  14. {{formData.startTimeStr}}~{{formData.endTimeStr}}
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="24">
  18. <el-form-item label="创建机构:">
  19. {{formData.orgName}}
  20. </el-form-item>
  21. </el-col>
  22. <el-col :span="24">
  23. <el-form-item label="接待机构:">
  24. {{formData.orgNames}}
  25. </el-form-item>
  26. </el-col>
  27. <el-form-item label="介绍信文件:" >
  28. <K-file-upload ref="upload" :defaultValue="formFileListDefualtValue" :disabled="true" :isShowUploadBtn="false" v-model="formData.letterFile"/>
  29. </el-form-item>
  30. <el-form-item label="备注:" >
  31. {{formData.description}}
  32. </el-form-item>
  33. </el-row>
  34. <el-table :data="formData.userInfos">
  35. <el-table-column label="人员姓名" align="center" prop="userName" />
  36. <el-table-column label="单位" align="center" prop="companyName" />
  37. <el-table-column label="证据号码" align="center" prop="idCard">
  38. </el-table-column>
  39. <el-table-column label="证件" align="center" prop="imgFile" >
  40. <template slot-scope="scope">
  41. <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,0)">
  42. <img width="50" height="50" :src="splitImgFilePath(scope.row.imgFile,1)">
  43. </template>
  44. </el-table-column>
  45. </el-table>
  46. <!-- <el-row v-if="!showAudit">
  47. <el-form-item label="审核:" prop="checkStatus">
  48. {{formData.checkStatus==null?"":formData.checkStatus===1?"通过":"不通过"}}
  49. </el-form-item>
  50. <el-form-item label="审核意见:" prop="checkRemark">
  51. {{formData.checkRemark}}
  52. </el-form-item>
  53. </el-row>-->
  54. <!-- <el-row v-if="showAudit">
  55. <el-form-item label="审核:" prop="checkStatus">
  56. <template>
  57. <el-radio-group v-model="formData.checkStatus">
  58. <el-radio :label="1">通过</el-radio>
  59. <el-radio :label="2">不通过</el-radio>
  60. </el-radio-group>
  61. </template>
  62. </el-form-item>
  63. <el-form-item label="审核意见:" prop="checkRemark">
  64. <el-input v-model="formData.checkRemark" type="textarea" placeholder="请输入内容" />
  65. </el-form-item>
  66. </el-row>-->
  67. </el-form>
  68. </div>
  69. <div slot="footer" class="dialog-footer">
  70. <el-button @click="onHide">取 消</el-button>
  71. <!-- <el-button type="primary" @click="submitForm" v-if="showAudit">确 定</el-button>-->
  72. </div>
  73. </DialogCom>
  74. </div>
  75. </template>
  76. <script>
  77. import {mapState, mapMutations} from "vuex";
  78. import { getLetter,auditLetter} from "@/api/core/letter";
  79. import OrgTreeSelect from "@/components/orgTreeSelect";
  80. import KFileUpload from "@/components/K-FileUpload";
  81. import dayjs from "dayjs";
  82. import imgUpload from "@/components/ImageUpload";
  83. export default {
  84. components: {KFileUpload},
  85. data() {
  86. const params = this.$route.params;
  87. return {
  88. id: params ? params.id : null,
  89. isShow: false,
  90. formData: this.reset(),
  91. formFileListDefualtValue: [],
  92. open: false,
  93. userInfo:this.resetUserInfo(),
  94. imageList:[],
  95. title:null,
  96. index:null,
  97. showAudit:false
  98. };
  99. },
  100. dicts: ['letter_status'],
  101. props: {},
  102. watch: {},
  103. created() {
  104. },
  105. computed: {
  106. ...mapState(["loginUser", "org",]),
  107. },
  108. methods: {
  109. ...mapMutations([]),
  110. reset(other = {}) {
  111. return {
  112. letterName:null,
  113. orgIds:null,
  114. startTime: null,
  115. endTime: null,
  116. checkRemark: null,
  117. fileList: [],
  118. userInfos:[],
  119. letterFile:null,
  120. startTimeStr:null,
  121. endTimeStr:null,
  122. orgName:null,
  123. orgNames:null,
  124. description:null,
  125. ...other,
  126. };
  127. },
  128. resetUserInfo(){
  129. return {
  130. userName: null,
  131. companyName:null,
  132. idCard:null,
  133. imgFile:null,
  134. }
  135. },
  136. async show(id,type, other = {}) {
  137. this.isShow = true;
  138. if(type===0){
  139. this.title = "介绍信详情";
  140. this.showAudit=false;
  141. }else{
  142. this.title = "介绍信审批";
  143. this.showAudit=true;
  144. }
  145. getLetter(id).then(response => {
  146. this.formData = response.data;
  147. this.userInfo = response.data.userInfos;
  148. this.orgIds = response.data.orgIds;
  149. this.formFileListDefualtValue = response.data.letterFile;
  150. console.log("-----------------",this.formFileListDefualtValue);
  151. });
  152. },
  153. splitImgFilePath(imgPaths,index){
  154. return imgPaths.split(',')[index];
  155. },
  156. onHide() {
  157. this.isShow = false;
  158. this.showAudit=false;
  159. this.formData = this.reset();
  160. this.$emit('closed')
  161. },
  162. submitForm(){
  163. if(this.formData.checkRemark==null){
  164. this.$message.error("请选择审核状态");
  165. return;
  166. }
  167. if(this.formData.checkStatus==2&&!this.formData.checkRemark){
  168. this.$message.error("请填写审批意见");
  169. return;
  170. }
  171. auditLetter(this.formData).then(response => {
  172. this.$modal.msgSuccess("审批成功");
  173. });
  174. this.onHide();
  175. },
  176. },
  177. mounted() {
  178. },
  179. };
  180. </script>