ewjcj.vue 7.2 KB

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