123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. <template>
  2. <view class="list">
  3. <view class="listItem">
  4. <view class="lable">
  5. 案件编号:
  6. </view>
  7. <view class="main">
  8. {{defalutVal.caseNum}}
  9. </view>
  10. </view>
  11. <view class="listItem" v-if="sysType == 1">
  12. <view class="lable">
  13. 申请人:
  14. </view>
  15. <view class="main">
  16. {{defalutVal.applicantName}}
  17. </view>
  18. </view>
  19. <view class="listItem" v-if="sysType == 2">
  20. <view class="lable">
  21. 申请人:
  22. </view>
  23. <view class="main">
  24. {{defalutVal.applicationName}}
  25. </view>
  26. </view>
  27. <view class="listItem" style="margin-top:22rpx">
  28. <view class="lable">
  29. 被申请人:
  30. </view>
  31. <view class="main">
  32. {{defalutVal.respondentName}}
  33. </view>
  34. </view>
  35. <view class="listItem">
  36. <view class="lable">
  37. 案件状态:
  38. </view>
  39. <view class="main">
  40. {{defalutVal.caseStatusName}}
  41. </view>
  42. </view>
  43. <view class="btn" v-if="sysType == 2">
  44. <button class="btnItem" type="primary" size="mini" @tap="modify"
  45. v-if="checkPermi(['caseManagement:list:edit']) && defalutVal.caseFlowId <= 1">修改</button>
  46. <button class="btnItem" type="primary" size="mini" @tap="deleteCase"
  47. v-if="checkPermi(['caseManagement:list:delete']) && defalutVal.caseFlowId <= 1">删除</button>
  48. <!-- <button class="btnItem" type="primary" size="mini" @tap="clickPay">申请人缴费</button>
  49. <button class="btnItem" type="primary" size="mini" @tap="caseDetail">选择调解员</button> -->
  50. <button class="btnItem" type="primary" @tap="clickType(item.id)" size="mini" v-for="(item) in buttonList"
  51. :key="item.id"
  52. v-if="item.id == defalutVal.caseFlowId && checkPermi([item.buttonAuthFlag])">{{ item.nodeName }}</button>
  53. <!-- <button class="btnItem" type="primary" size="mini" @tap="confirmationEvidence">确认证据</button>
  54. <button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
  55. <button class="btnItem" type="primary" size="mini" @tap="isAssignrbitrators">是否指派仲裁员</button>
  56. <button class="btnItem" type="primary" size="mini" @tap="chooseMethod">选择仲裁方式</button> -->
  57. </view>
  58. </view>
  59. </template>
  60. <script>
  61. import {
  62. queryCaseFlowInfo,
  63. caseAppSubmit,
  64. caseDelete,
  65. msCaseSign
  66. } from '@/api/handlecase/index.js'
  67. export default {
  68. data() {
  69. return {
  70. }
  71. },
  72. props: {
  73. defalutVal: {
  74. type: Object,
  75. default: () => {}
  76. },
  77. sysType: {
  78. type: Number,
  79. default: () => {}
  80. },
  81. buttonList: {
  82. type: Array,
  83. default: () => {}
  84. }
  85. },
  86. methods: {
  87. /**点击列表按钮*/
  88. clickType(type) {
  89. if (type == 1) {
  90. // 提交案件
  91. this.onsubmitRow()
  92. } else if (type == 2) {
  93. // 缴费
  94. this.clickPay(4)
  95. } else if (type == 3 || type == 45) {
  96. this.confirmPayments()
  97. // 确认缴费
  98. } else if (type == 4) {
  99. // 受理分配
  100. } else if (type == 5) {
  101. // 选择调解员
  102. this.caseDetail()
  103. } else if (type == 6) {
  104. // 核实调解员
  105. } else if (type == 7) {
  106. // 确认调解员
  107. } else if (type == 8) {
  108. // 确定调解时间
  109. } else if (type == 9) {
  110. // 调解
  111. } else if (type == 10) {
  112. // 确认调解书
  113. } else if (type == 11) {
  114. // 签名
  115. } else if (type == 12) {
  116. // 用印申请
  117. } else if (type == 13) {
  118. // 用印
  119. } else if (type == 14) {
  120. // 归档
  121. } else if (type == 15) {
  122. // 申请人签收
  123. this.signMediation();
  124. } else if (type == 16) {
  125. // 被申请人签收
  126. this.receivedMediation();
  127. } else if (type == 17) {
  128. //结束
  129. } else if (type == 44) {
  130. // 被申请人缴费
  131. this.clickPay(9)
  132. }
  133. },
  134. // 案件详情以及操作
  135. caseDetail() {
  136. uni.navigateTo({
  137. url: `/pages/handlecase/component/uploadEvidence?id=${this.defalutVal.id}`
  138. })
  139. },
  140. // 缴费
  141. clickPay(type) {
  142. uni.navigateTo({
  143. url: `/pages/handlecase/component/payList?id=${this.defalutVal.id}&type=${type}`
  144. })
  145. },
  146. // 确认缴费
  147. confirmPayments() {
  148. uni.navigateTo({
  149. url: `/pages/handlecase/component/confirmPayment?id=${this.defalutVal.id}&caseFlowId=${this.defalutVal.caseFlowId}`
  150. })
  151. },
  152. /**提交案件*/
  153. onsubmitRow() {
  154. let onsubmitVal = {
  155. id: this.defalutVal.id,
  156. batchNumber: "",
  157. caseFlowId: this.defalutVal.caseFlowId
  158. }
  159. uni.showModal({
  160. title: '提示',
  161. content: '您确定要提交案件',
  162. success: function(res) {
  163. if (res.confirm) {
  164. // console.log('用户点击确定');
  165. caseAppSubmit(onsubmitVal).then(res => {
  166. uni.showToast({
  167. title: '提交成功',
  168. icon: 'none',
  169. duration: 1000
  170. })
  171. uni.navigateTo({
  172. url: '/pages/handlecase/index'
  173. })
  174. })
  175. } else if (res.cancel) {
  176. // console.log('用户点击取消');
  177. }
  178. }
  179. });
  180. },
  181. // 修改
  182. modify() {
  183. uni.navigateTo({
  184. url: `/pages/handlecase/component/newlyAddedCase?id=${this.defalutVal.id}`,
  185. })
  186. },
  187. /*删除*/
  188. deleteCase() {
  189. let objValue = {
  190. id: this.defalutVal.id,
  191. batchNumber: "",
  192. caseFlowId: this.defalutVal.caseFlowId
  193. }
  194. uni.showModal({
  195. title: '提示',
  196. content: '您确定要删除案件',
  197. success: function(res) {
  198. if (res.confirm) {
  199. // console.log('用户点击确定');
  200. caseDelete(objValue).then(res => {
  201. uni.showToast({
  202. title: '删除成功',
  203. icon: 'none',
  204. duration: 1000
  205. })
  206. uni.navigateTo({
  207. url: '/pages/handlecase/index'
  208. })
  209. })
  210. } else if (res.cancel) {
  211. // console.log('用户点击取消');
  212. }
  213. }
  214. });
  215. },
  216. /**申请人签收*/
  217. signMediation() {
  218. let that = this;
  219. let objValue = {
  220. caseId: this.defalutVal.id,
  221. isSignApply: 1
  222. }
  223. uni.showModal({
  224. title: '提示',
  225. content: '您确定要签收',
  226. success: function(res) {
  227. if (res.confirm) {
  228. that.signingMediationAgreement(objValue)
  229. } else if (res.cancel) {
  230. // console.log('用户点击取消');
  231. }
  232. }
  233. });
  234. },
  235. /**被申请人签收*/
  236. receivedMediation() {
  237. let that = this;
  238. let objValue = {
  239. caseId: this.defalutVal.id,
  240. isSignRespon: 1
  241. }
  242. uni.showModal({
  243. title: '提示',
  244. content: '您确定要签收',
  245. success: function(res) {
  246. if (res.confirm) {
  247. that.signingMediationAgreement(objValue)
  248. } else if (res.cancel) {
  249. // console.log('用户点击取消');
  250. }
  251. }
  252. });
  253. },
  254. /**申请人和被申请人签收调解书接口*/
  255. signingMediationAgreement(val) {
  256. msCaseSign(val).then((res) => {
  257. uni.showToast({
  258. title: '签收成功',
  259. icon: 'none',
  260. duration: 1000
  261. })
  262. uni.navigateTo({
  263. url: '/pages/handlecase/index'
  264. })
  265. });
  266. },
  267. },
  268. created() {}
  269. }
  270. </script>
  271. <style lang="scss" scoped>
  272. .list {
  273. padding: 15rpx;
  274. display: flex;
  275. flex-direction: column;
  276. background-color: #ffffff;
  277. border-radius: 30rpx;
  278. margin-top: 20rpx;
  279. .listItem {
  280. width: 100%;
  281. display: flex;
  282. height: 50rpx;
  283. .lable {
  284. width: 30%;
  285. }
  286. .main {
  287. width: 60%;
  288. }
  289. }
  290. .btn {
  291. margin-top: 20rpx;
  292. width: 100%;
  293. display: flex;
  294. justify-content: space-between;
  295. flex-wrap: wrap;
  296. .btnItem {
  297. height: 50rpx;
  298. background-color: #5395ff;
  299. border-radius: 10rpx;
  300. text-align: center;
  301. line-height: 50rpx;
  302. }
  303. }
  304. }
  305. </style>