uploadEvidence.vue 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. <template>
  2. <view class="assignrbitrators">
  3. <view class="from">
  4. <uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
  5. <view class="title">案件详情</view>
  6. <view class="box">
  7. <uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
  8. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
  9. placeholder="" />
  10. </uni-forms-item>
  11. <uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
  12. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
  13. placeholder="" />
  14. </uni-forms-item>
  15. <uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
  16. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
  17. placeholder="" />
  18. </uni-forms-item>
  19. <uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
  20. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
  21. placeholder="" />
  22. </uni-forms-item>
  23. <uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
  24. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
  25. placeholder="" />
  26. </uni-forms-item>
  27. <uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
  28. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
  29. placeholder="" />
  30. </uni-forms-item>
  31. <uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
  32. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
  33. placeholder="" />
  34. </uni-forms-item>
  35. <uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
  36. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
  37. placeholder="" />
  38. </uni-forms-item>
  39. <uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
  40. <uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
  41. placeholder="" />
  42. </uni-forms-item>
  43. <!-- <uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
  44. <uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
  45. :localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
  46. </uni-forms-item> -->
  47. <!-- <uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
  48. <uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
  49. :localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
  50. </uni-forms-item> -->
  51. <!-- <uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
  52. <uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
  53. :localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
  54. </uni-forms-item> -->
  55. <uni-forms-item label="是否仲裁反请求" label-width="120px" name="objectiJuris" required>
  56. <uni-data-checkbox class='checkbox' v-model="subnitForm.objectiJuris"
  57. :localdata="objectiJurisArr" @change='objectiJurisChange'></uni-data-checkbox>
  58. </uni-forms-item>
  59. <!-- <uni-forms-item label="是否管辖异议申请" label-width="120px" name="adjudicaCounter" required>
  60. <uni-data-checkbox class='checkbox' v-model="subnitForm.adjudicaCounter"
  61. :localdata="adjudicaCounterArr"></uni-data-checkbox>
  62. </uni-forms-item> -->
  63. <!-- <uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
  64. <uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
  65. </uni-forms-item> -->
  66. <uni-forms-item label="证据清单" label-width="120px">
  67. <text @tap="evidenceList">证据清单</text>
  68. </uni-forms-item>
  69. <uni-forms-item label="仲裁申请书" label-width="120px">
  70. <text @tap="applicationArbitration">仲裁申请书</text>
  71. </uni-forms-item>
  72. <!-- <uni-forms-item label="权益告知书" label-width="120px">
  73. <text @tap="obligations">权力和义务告知书</text>
  74. </uni-forms-item> -->
  75. </view>
  76. </uni-forms>
  77. <!-- 自定义弹窗层组件 -->
  78. <uni-popup scroll-y="true" ref="popup" :is-mask-click="false" type="bottom">
  79. <view class="content_list">
  80. <uni-card>
  81. <view class="" style="text-align: center;font-size: 35rpx;font-weight: bold;">
  82. <text>权力和义务告知书</text>
  83. </view>
  84. 根据《中华人民共和国仲裁法》的规定,仲裁当事人在仲裁活动中依法享有权利并承担义务。
  85. <view class="">
  86. 一、当事人的权利
  87. 1.依据仲裁协议提请仲裁;撤回仲裁申请或者变更、放弃仲裁请求;承认或者反驳仲裁请求;提出仲裁反请求。
  88. 2.对仲裁协议效力提出异议。
  89. 3.委托代理人进行仲裁活动。
  90. 4.申请财产保全、证据保全。
  91. 5.约定、选定仲裁庭的组成方式;选定或者委托本会主任指定仲裁员;申请仲裁员、办案秘书、翻译人员、鉴定人员回避。
  92. 6.收集、提供证据。对证据进行质证,发表辩论意见,作最后陈述。
  93. 7.请求调解。自行和解的,可以请求仲裁庭根据和解协议作出裁决书。
  94. 8.认为开庭笔录对自己陈述的记录有遗漏或者差错的,申请补正。
  95. 9.对裁决书中的文字、计算错误或者仲裁庭已经裁决但在裁决书中遗漏的事项,请求补正或者作出补正裁决。
  96. 10.向人民法院申请撤销、执行或者不予执行仲裁裁决。
  97. </view>
  98. 二、当事人的义务
  99. 1.如实书写仲裁申请书和答辩书;在庭审中不得做虚假陈述。
  100. 2.对自己的主张按期提供证据,不得提供伪证。
  101. 3.遵守仲裁员回避制度。
  102. 4.按时参加开庭。
  103. 5.遵守开庭纪律和仲裁程序。
  104. 6.在庭审笔录上签字。
  105. 7.在仲裁文书的送达回证上签字盖章。
  106. 8.主动履行生效的仲裁裁决。
  107. 9.按规定交纳仲裁费用。
  108. 10.法律、法规和本会仲裁规则规定的其他义务。
  109. <view class="from" style="margin-top:30rpx;">
  110. <uni-forms ref="reasontFormData" >
  111. <uni-forms-item label="反意理由:" label-width="100px" required>
  112. <uni-easyinput v-model="reasontFormData.reasont"
  113. placeholder="请输入反意理由" />
  114. </uni-forms-item>
  115. </uni-forms>
  116. </view>
  117. <view class="determine">
  118. <button type="primary" @click="submitReasont">确定</button>
  119. </view>
  120. </uni-card>
  121. </view>
  122. </uni-popup>
  123. <view class="uni-list" v-if="selectFlag">
  124. <radio-group @change="checkboxChange" style="width: 100%;">
  125. <label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.userId">
  126. <view>
  127. <radio :value="item.userId + ''" />
  128. </view>
  129. <view class="main">
  130. <view class="">
  131. 仲裁员姓名:{{item.nickName}}
  132. </view>
  133. <view class="">
  134. 介绍:{{item.remark || ''}}
  135. </view>
  136. </view>
  137. </label>
  138. </radio-group>
  139. </view>
  140. <button type="primary" @click="submitImg">确认提交</button>
  141. </view>
  142. </view>
  143. </template>
  144. <script>
  145. import {
  146. respondentDetail,
  147. arbitratorList,
  148. evidenceCrossexami
  149. } from '../../../api/handlecase/index.js'
  150. import {
  151. uploadImage
  152. } from '../../../api/upload.js'
  153. import {
  154. getToken
  155. } from '@/utils/auth'
  156. import moment from 'moment'
  157. const app = getApp()
  158. export default {
  159. data() {
  160. return {
  161. reasontFormData:{
  162. reasont:''
  163. },
  164. isShowPopup:false,
  165. formData: {},
  166. subnitForm: {
  167. objectionAddEviden:0,
  168. pendingAppointArbotrar:0,
  169. objectiJuris:0,
  170. adjudicaCounter:0,
  171. adjudicaCounterReason:''
  172. },
  173. selectFlag: false,
  174. caseFlag: false,
  175. tempFilePaths: null,
  176. rules: {
  177. // 是否有异议需要举证
  178. objectionAddEviden: {
  179. rules: [{
  180. required: true,
  181. errorMessage: '请选择'
  182. }]
  183. },
  184. // 是否需要开庭审理
  185. openCourtHear: {
  186. rules: [{
  187. required: true,
  188. errorMessage: '请选择'
  189. }]
  190. },
  191. // 是否指派仲裁员
  192. pendingAppointArbotrar: {
  193. rules: [{
  194. required: true,
  195. errorMessage: '请选择'
  196. }]
  197. },
  198. },
  199. maintenancetypeArr: [{
  200. text: '是',
  201. value: 1
  202. }, {
  203. text: '否',
  204. value: 0
  205. }, ],
  206. arbitrationmethodArr: [{
  207. text: '是',
  208. value: 1
  209. }, {
  210. text: '否',
  211. value: 0
  212. }],
  213. uploadEvidence: [{
  214. text: '是',
  215. value: 1
  216. }, {
  217. text: '否',
  218. value: 0
  219. }],
  220. objectiJurisArr: [{
  221. text: '是',
  222. value: 1
  223. }, {
  224. text: '否',
  225. value: 0
  226. }],
  227. adjudicaCounterArr: [{
  228. text: '是',
  229. value: 1
  230. }, {
  231. text: '否',
  232. value: 0
  233. }],
  234. obligationsArr: [{
  235. text: '是',
  236. value: 1
  237. }, {
  238. text: '否',
  239. value: 0
  240. }],
  241. items: []
  242. }
  243. },
  244. methods: {
  245. submitReasont(){
  246. if(this.reasontFormData.reasont){
  247. this.subnitForm.adjudicaCounterReason = this.reasontFormData.reasont
  248. this.$refs.popup.close()
  249. }else{
  250. this.$modal.msgError("请输入反意理由")
  251. }
  252. },
  253. objectiJurisChange(value){
  254. let flag = value.detail.value;
  255. if(flag==1){
  256. this.$refs.popup.open('center')
  257. }
  258. },
  259. arbitrationmethod() {},
  260. uploadEvidenceChange(val) {
  261. console.log(val)
  262. let flag = val.detail.value;
  263. if (flag == 1) {
  264. this.caseFlag = true;
  265. } else if (flag == 0) {
  266. this.caseFlag = false;
  267. }
  268. },
  269. maintenancetypeChange(val) {
  270. let flag = val.detail.value;
  271. if (flag == 1) {
  272. this.selectFlag = true
  273. this.getArbitratorList()
  274. } else {
  275. this.selectFlag = false
  276. }
  277. },
  278. checkboxChange(e) {
  279. let params = parseInt(e.detail.value);
  280. console.log(params,"LLLLLLLLLL");
  281. let result = "";
  282. this.items.forEach(item=>{
  283. if(item.userId == params){
  284. result = item.nickName
  285. }
  286. })
  287. let arbitrators = [{id: params,arbitratorName: result}];
  288. console.log(result,"KKKKKKKKKKKKKKKK");
  289. // let idArr = e.detail.value;
  290. // let numberArray = idArr.map(str => parseInt(str));
  291. // const result = this.items.filter(item => numberArray.includes(item.userId));
  292. // result.forEach(item => {
  293. // arbitrators.push({
  294. // id: item.userId,
  295. // arbitratorName: item.nickName
  296. // })
  297. // })
  298. this.subnitForm.arbitrators = arbitrators;
  299. // console.log(this.subnitForm.arbitrators,"PPPPPPPPPPPPPP");
  300. },
  301. getData(parms) {
  302. respondentDetail(parms).then(res => {
  303. this.formData = res.data
  304. this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
  305. this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
  306. 'YYYY-MM-DD HH:mm:ss');
  307. this.formData.id = this.formData.id + ''
  308. })
  309. },
  310. // 文件上传
  311. select(e) {
  312. this.tempFilePaths = e.tempFilePaths;
  313. // loading
  314. uni.showLoading({
  315. title: '上传中'
  316. });
  317. uni.uploadFile({
  318. url: getApp().globalData.requestUrl + uploadImage,
  319. filePath: this.tempFilePaths[0],
  320. header: {
  321. Authorization: getToken() || '',
  322. },
  323. formData: {
  324. annexType: 6,
  325. id: this.formData.id
  326. },
  327. name: 'file',
  328. success: (res) => {
  329. let {
  330. data
  331. } = res
  332. uni.showToast({
  333. title: '上传成功',
  334. icon: 'none',
  335. duration: 1000
  336. })
  337. uni.hideLoading();
  338. },
  339. fail: (err) => {
  340. uni.showToast({
  341. title: '上传失败',
  342. icon: 'none',
  343. duration: 1000
  344. })
  345. uni.hideLoading()
  346. }
  347. })
  348. },
  349. // 获取仲裁员列表
  350. getArbitratorList() {
  351. arbitratorList().then(res => {
  352. this.items = res.rows;
  353. })
  354. },
  355. // 提交数据
  356. evidenceCrossexamiFn(parms) {
  357. evidenceCrossexami(parms).then(res => {
  358. uni.showToast({
  359. title: '提交成功',
  360. icon: 'none',
  361. duration: 1000
  362. })
  363. uni.navigateTo({
  364. url: '/pages/handlecase/index'
  365. })
  366. })
  367. },
  368. submitImg() {
  369. this.$refs.form.validate().then(res => {
  370. this.evidenceCrossexamiFn(this.subnitForm)
  371. }).catch(err => {
  372. console.log('表单错误信息:', err);
  373. })
  374. },
  375. // 证据清单
  376. evidenceList(){
  377. console.log(this.formData.evidenceMaterialList)
  378. this.$tab.navigateTo(`/pages/handlecase/component/evidenceList?title=证据清单&evidenceList=${encodeURIComponent(JSON.stringify(this.formData.evidenceMaterialList))}`)
  379. },
  380. // 仲裁申请书
  381. applicationArbitration(){
  382. }
  383. },
  384. onLoad(data) {
  385. this.getData(data.id);
  386. this.subnitForm.caseId = Number(data.id);
  387. // this.getArbitratorList()
  388. },
  389. }
  390. </script>
  391. <style lang="scss">
  392. .content_list {
  393. height: 1060rpx;
  394. overflow-x: hidden;
  395. .scroll_view_style{
  396. height: 100%;
  397. }
  398. }
  399. .assignrbitrators {
  400. // text-align: center;
  401. padding: 20rpx;
  402. .box {
  403. background-color: #fff;
  404. padding: 20rpx;
  405. border-radius: 20rpx;
  406. }
  407. .flexd {
  408. padding-top: 20rpx;
  409. .btn {
  410. width: 80%;
  411. font-size: 26rpx;
  412. border-radius: 60rpx;
  413. }
  414. }
  415. .btn {
  416. margin-top: 20rpx;
  417. }
  418. .select-picker {
  419. display: flex;
  420. box-sizing: border-box;
  421. flex-direction: row;
  422. align-items: center;
  423. border: 1px solid #DCDFE6;
  424. border-radius: 8rpx;
  425. width: 100%;
  426. height: 100%;
  427. padding: 0 24rpx;
  428. font-size: 28rpx;
  429. }
  430. .table-content {
  431. background-color: #fff;
  432. padding: 20rpx;
  433. border-radius: 20rpx;
  434. .none {
  435. font-size: 24rpx;
  436. height: 60rpx;
  437. line-height: 60rpx;
  438. }
  439. }
  440. .box {
  441. /deep/.title {
  442. font-size: 28rpx;
  443. height: 60rpx;
  444. line-height: 60rpx;
  445. }
  446. }
  447. .htmltitle {
  448. font-size: 30rpx;
  449. height: 80rpx;
  450. line-height: 80rpx;
  451. display: flex;
  452. justify-content: space-between;
  453. .look {
  454. color: #0D91F9;
  455. }
  456. }
  457. .title {
  458. font-size: 30rpx;
  459. height: 80rpx;
  460. line-height: 80rpx;
  461. }
  462. .adsTitle {
  463. font-size: 30rpx;
  464. }
  465. .multiple {
  466. width: 75%;
  467. height: 72rpx;
  468. line-height: 72rpx;
  469. font-size: 24rpx;
  470. // @include text-overflow($width: 100%)
  471. }
  472. .uni-list {
  473. width: 100%;
  474. margin-top: 20rpx;
  475. .uni-list-cell {
  476. border-radius: 30rpx;
  477. margin-bottom: 10rpx;
  478. display: flex;
  479. align-items: center;
  480. justify-content: flex-start;
  481. background-color: #fff;
  482. .main {
  483. height: 100%;
  484. margin-left: 20rpx;
  485. }
  486. }
  487. }
  488. }
  489. </style>