ewjcj.vue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <template>
  2. <view>
  3. <view class="boxt" v-for="(ite,idx) in wjcjlist" :key="idx">
  4. <view class="txt">
  5. <view class="flex1 flexc">{{ite.label}}
  6. <!-- 有文件出具的权限 -->
  7. <!-- 风险报告只能有风险修改删除 -->
  8. <template v-if="checkPermi(['system:fj:add'])&&datainfo.loanApplicationType!=4&&pfrom!='vote'&&datainfo.loanApplicationType!=3">
  9. <template v-if="ite.val=='fxbg'||ite.val=='fkhgb'">
  10. <view class="editf" v-if="userId==datainfo.fUserId" @click="getfjEdit(ite.val)">
  11. <image :src="editf"></image>
  12. <view>上传</view>
  13. </view>
  14. </template>
  15. <view class="editf" v-else @click="getfjEdit(ite.val)">
  16. <image :src="editf"></image>
  17. <view>上传</view>
  18. </view>
  19. </template>
  20. </view>
  21. <!-- v-if="ite.qflag" -->
  22. <!-- <view class="edit" v-if="ite.val=='psyjqpb'||ite.val=='gdhyjy'||ite.val=='wtdbht'" @click="getQmFn">
  23. <image :src="edit"></image>
  24. <view>在线签名</view>
  25. </view> -->
  26. <!-- <view class="flex1"></view>
  27. <text class="txta" @click="getDown(ite.val)">预览</text> -->
  28. </view>
  29. <!-- <text class="txta" @click="getDown(fite.url)">预览</text> -->
  30. <view class="mt18" v-if="fileFj&&fileFj[ite.val]&&fileFj[ite.val].length">
  31. <view class="fjlists" v-for="(fite,fidx) in fileFj[ite.val]" :key='fidx'>
  32. <view class="flext" @click="getDown(fite.url)">
  33. <view class="imgl"><image :src="filico" ></image></view>
  34. <view class="tit">{{fite.name}}</view>
  35. </view>
  36. <!-- ||ite.val=='wtdbht' -->
  37. <template v-if="pfrom!='vote'&&datainfo.loanApplicationType!=3&&datainfo.loanApplicationType!=4">
  38. <!-- 放款合规表 -->
  39. <template v-if="ite.val=='fxbg'||ite.val=='fkhgb'">
  40. <template v-if="userId==datainfo.fUserId">
  41. <view class="edit" v-if="(ite.val=='gdhyjy')&&checkPermi(['word:wordFilePath:wordFilePath'])" @click="getQmFn(fite.url)">
  42. <image :src="edit"></image>
  43. <view>在线签名</view>
  44. </view>
  45. <view class="delimg flex0" v-if="checkPermi(['system:fj:remove'])" @click.stop="getDelwjFj(fite.fjId)">
  46. <image :src="fdelimg"></image>
  47. </view>
  48. </template>
  49. </template>
  50. <template v-else>
  51. <view class="edit" v-if="(ite.val=='gdhyjy')&&checkPermi(['word:wordFilePath:wordFilePath'])" @click="getQmFn(fite.url)">
  52. <image :src="edit"></image>
  53. <view>在线签名</view>
  54. </view>
  55. <view class="delimg flex0" v-if="checkPermi(['system:fj:remove'])" @click.stop="getDelwjFj(fite.fjId)">
  56. <image :src="fdelimg"></image>
  57. </view>
  58. </template>
  59. </template>
  60. <text class="txta" @click="getDown(fite.url)">预览</text>
  61. </view>
  62. </view>
  63. </view>
  64. <!-- 其他附件 -->
  65. <view class="boxt" >
  66. <view class="txt">
  67. <view class="flex1 flexc">其他附件
  68. </view>
  69. </view>
  70. <!-- <text class="txta" @click="getDown(fite.url)">预览</text> -->
  71. <!-- <view class="delimg flex0" @click.stop="getDelFj(idx)">
  72. <image :src="fdelimg"></image>
  73. </view> -->
  74. <view class="mt18" v-if="qtfileFj&&qtfileFj.qtfj&&qtfileFj.qtfj.length">
  75. <view class="fjlists" v-for="(fite,fidx) in qtfileFj.qtfj" :key='fidx'>
  76. <view class="flext" @click="getDown(fite.url)">
  77. <view class="imgl"><image :src="filico" ></image></view>
  78. <view class="tit">{{fite.name}}</view>
  79. </view>
  80. <view class="delimg flex0" @click.stop="getDelwjFj(fite.fjId)">
  81. <image :src="fdelimg"></image>
  82. </view>
  83. <text class="txta" @click="getDown(fite.url)">预览</text>
  84. </view>
  85. </view>
  86. </view>
  87. </view>
  88. </template>
  89. <script>
  90. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  91. import { selectValue } from '@/utils/common.js';
  92. import noData from "@/components/nodata/nodata.vue"
  93. export default {
  94. props:{
  95. datainfo: {
  96. type: Object,
  97. default () {
  98. return {}
  99. }
  100. },
  101. fileFj:{
  102. type: Object,
  103. default () {
  104. return {}
  105. }
  106. },
  107. qtfileFj:{
  108. type: Object,
  109. default () {
  110. return {}
  111. }
  112. },
  113. wjcjlist:{
  114. type: Array,
  115. default () {
  116. return []
  117. }
  118. },
  119. pfrom:{
  120. type: String,
  121. default () {
  122. return ''
  123. }
  124. }
  125. },
  126. components:{
  127. noData
  128. },
  129. data(){
  130. return{
  131. upimg: require('@/work/static/images/up.png'),
  132. fupimg:require('@/work/static/images/fup.png'),
  133. filico:require('@/work/static/images/filico.png'),
  134. edit:require('@/work/static/images/edit.png'),
  135. editf:require('@/work/static/images/editfile.png'),
  136. fdelimg:require('@/work/static/images/del.png'),
  137. gdfilelist:[],
  138. zheList:[],
  139. userId:this.$store.state.user.userId,
  140. fileList:[
  141. // {tit:'担保意向函',files:[{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'}]},
  142. // {tit:'材料合规表',files:[]},
  143. // {tit:'尽职调查报告',files:[]},
  144. // {tit:'担保项目合法合规表',files:[]},
  145. // {tit:'评审意见签批表',qflag:true,files:[]},
  146. // {tit:'股东会决议',qflag:true,files:[]},
  147. // {tit:'委托保证合同',qflag:true,files:[]},
  148. // {tit:'其他附件',files:[{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'},{url:"",name:'安徽嘉欣医疗用品有限公司0403担保意向函.doc'}]},
  149. ]
  150. }
  151. },
  152. onLoad: function() {
  153. },
  154. methods:{
  155. checkPermi, checkRole,
  156. kaType(ite){
  157. return selectValue(this.tajdlist, ite);
  158. },
  159. getZheFn(idx){
  160. this.zheList[idx].zheflag=!this.zheList[idx].zheflag
  161. },
  162. getfjEdit(val){
  163. this.$emit('getfjEdit',val)
  164. },
  165. getDown(url){
  166. this.$emit('getDown',url)
  167. },
  168. getPreview(url){
  169. this.$emit('getPreview',url)
  170. },
  171. getDelwjFj(id){
  172. this.$emit('getDelwjFj',id)
  173. },
  174. getQmFn(url){
  175. this.$emit('getQmFn',url)
  176. },
  177. },
  178. }
  179. </script>
  180. <style lang="scss" scoped>
  181. .boxt{padding:44rpx 36rpx 40rpx;border-top: 2rpx solid #E6E6E6;}
  182. .txt{display: flex;align-items: flex-start;
  183. view{font-weight: bold;font-size: 30rpx;color: #222327;}
  184. text{color: #28C529;font-weight: 500;line-height: 40rpx;flex: 0 0 auto;margin-left: 46rpx;padding: 0 6rpx;}
  185. .upimg{width:40rpx;height: 40rpx;margin-left: 18rpx;display: flex;align-items: center;justify-content: center;
  186. image{width: 30rpx;height: 28rpx;}
  187. }
  188. }
  189. .fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 20rpx;
  190. &:last-child{margin-bottom: 0;}
  191. .imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;flex: 0 0 auto;
  192. image{width: 26rpx;height: 24rpx;}
  193. }
  194. .tit{font-size: 26rpx;color: #222327;font-weight: 500;margin-top: 4rpx;}
  195. .delimg{width: 40rpx;height:40rpx;margin-left: 16rpx;display: flex;align-items: center;justify-content: center;flex: 0 0 auto;
  196. image{width: 24rpx;height: 24rpx;}
  197. }
  198. .txta{color: #28C529;font-weight: 500;line-height: 40rpx;flex: 0 0 auto;margin-left: 18rpx;padding: 0 6rpx;}
  199. }
  200. .upbox{display: flex;flex-direction: column;align-items: center;padding: 56rpx 0 40rpx;border-top: 2rpx solid #E6E6E6;
  201. image{width: 30rpx;height: 26rpx;margin-bottom: 18rpx;transform: rotate(180deg);}
  202. view{font-weight: 500;font-size: 26rpx;color: #666666;}
  203. }
  204. .editf{flex:0 0 auto;display: flex;align-items: center;margin-left: 24rpx;
  205. view{font-weight: 500;font-size: 26rpx;color: #00A9F0;}
  206. image{width: 22rpx;height: 24rpx;margin-right:8rpx;}
  207. }
  208. .edit{flex:0 0 auto;display: flex;align-items: center;
  209. view{font-weight: 500;font-size: 26rpx;color: #00A9F0;}
  210. image{width: 20rpx;height: 24rpx;margin-right: 2rpx;}
  211. }
  212. </style>