newlyAddedCase.vue 38KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  1. <template>
  2. <view class="conent">
  3. <view class="assignrbitrators">
  4. <uni-forms ref="form" :modelValue="formData" :rules="rules">
  5. <uni-section title="案件信息" type="line" padding></uni-section>
  6. <uni-forms-item label="案件压缩包:" name="headZip" label-width="120px">
  7. <uni-file-picker ref="files" file-mediatype="all" return-type='object' v-model="fileListZip"
  8. :auto-upload="false" @select="selectZip" :limit='1' />
  9. </uni-forms-item>
  10. <uni-forms-item label="申请人调解请求:" name="arbitratClaims" label-width="120px" required
  11. :rules="[{required: true,errorMessage: '申请人调解请求不能为空'}]">
  12. <uni-easyinput v-model="formData.arbitratClaims" type="textarea" placeholder="请输入申请人调解请求" />
  13. </uni-forms-item>
  14. <uni-forms-item label="事实和理由:" name="facts" label-width="120px" required
  15. :rules="[{required: true,errorMessage: '事实和理由不能为空'}]">
  16. <uni-easyinput v-model="formData.facts" type="textarea" placeholder="请输入事实和理由" />
  17. </uni-forms-item>
  18. <uni-forms-item label="申请人案件证据资料上传:" name="headImage" label-width="120px">
  19. <uni-file-picker ref="files" file-mediatype="all" return-type='object' v-model="fileList"
  20. :auto-upload="false" @select="select" :limit='1' />
  21. </uni-forms-item>
  22. <uni-forms-item label="证据:" label-width="120px" v-if="ids">
  23. <view class="" v-for="item in formData.caseAttachList">
  24. <uni-link v-if="item.annexType==2" :href="baseUrl+item.annexPath" color="#007BFF"
  25. :text="item.annexName"></uni-link>
  26. </view>
  27. </uni-forms-item>
  28. <uni-forms-item label="调解申请书:" label-width="120px" v-if="ids">
  29. <view class="" v-for="item in formData.caseAttachList">
  30. <uni-link v-if="item.annexType==3" :href="baseUrl+item.annexPath" color="#007BFF"
  31. :text="item.annexName"></uni-link>
  32. </view>
  33. </uni-forms-item>
  34. <uni-forms-item label="选择机构或自然人" label-width="120px" name="objectiJuris">
  35. <uni-data-checkbox class='checkbox' :disabled="ids?true:false" :localdata="objectiJurisArr"
  36. v-model="formData.organizeFlag" @change='clearValidate'></uni-data-checkbox>
  37. </uni-forms-item>
  38. <!-- 新增多个申请人 -->
  39. <button type="primary" @click="addMultipleApplicants" size="mini" style="margin-bottom: 20px;">新增多个申请人</button>
  40. <view class="" v-for="(item,index) in formData.affiliate.applicant">
  41. <button class="mini-btn" type="primary" size="mini" @tap="delValue(index)" v-if="index>=1?true:false">删除</button>
  42. <uni-section :title="'申请人信息' + (index + 1)" type="line" padding></uni-section>
  43. <uni-forms-item label="是否操作人" label-width="120px">
  44. <uni-data-checkbox
  45. v-model="formData.affiliate.applicant[index].applicant.operatorFlag"
  46. :localdata="isOperate"
  47. ></uni-data-checkbox>
  48. </uni-forms-item>
  49. <uni-forms-item :label="formData.organizeFlag==0 ? '申请人':'申请机构'" :rules="rulesPersonName"
  50. :name="['affiliate','applicant',index,'applicant','name']" label-width="120px" required>
  51. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.name" type="text"
  52. :placeholder="formData.organizeFlag==0 ? '请输入申请人姓名':'请输入申请机构名称'" />
  53. </uni-forms-item>
  54. <uni-forms-item label="证件类型" label-width="120px" v-if="formData.organizeFlag==0">
  55. <uni-data-select
  56. v-model="formData.affiliate.applicant[index].applicant.idType"
  57. :localdata="certificate"
  58. @change="changeDocment"
  59. ></uni-data-select>
  60. </uni-forms-item>
  61. <uni-forms-item label="地区" label-width="120px">
  62. <uni-data-select
  63. v-model="formData.affiliate.applicant[index].applicant.nationality"
  64. :localdata="nationality"
  65. @change="changeArea"
  66. ></uni-data-select>
  67. </uni-forms-item>
  68. <uni-forms-item key = 'code' v-if="formData.organizeFlag==1" label="机构代码" required label-width="120px" :name="['affiliate','applicant',index,'applicant','code']" :rules="[{required: true,errorMessage: '机构代码不能为空'}]">
  69. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.code" type="text"
  70. placeholder="请输入统一社会代码" />
  71. </uni-forms-item>
  72. <uni-forms-item label="证件号码" key = 'idCard' v-if="formData.organizeFlag==0" :name="['affiliate','applicant',index,'applicant','idCard']"
  73. label-width="120px" required :rules="[
  74. {required: true,errorMessage: '申请人身份证号不能为空'},
  75. {pattern:'^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$',errorMessage:'申请人身份证格式错误'}]">
  76. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.idCard" type="text"
  77. placeholder="请输入证件号码" />
  78. </uni-forms-item>
  79. <uni-forms-item label="申请人邮箱:" key="email" v-if="formData.organizeFlag==0"
  80. :name="['affiliate','applicant',index,'applicant','email']" label-width="120px" required :rules="[
  81. {required: true,errorMessage: '被申请人邮箱不能为空'},
  82. {pattern:'^\\S+?@\\S+?\\.\\S+?$',errorMessage:'邮箱格式不正确'}
  83. ]">
  84. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.email"
  85. type="text" placeholder="请输入申请人邮箱" />
  86. </uni-forms-item>
  87. <uni-forms-item label="申请人电话:" key="phone" v-if="formData.organizeFlag==0"
  88. :name="['affiliate','applicant',index,'applicant','phone']" label-width="120px" :required="testVerify" :rules="rulesRespondentPhone">
  89. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.phone"
  90. type="text" placeholder="请输入申请人电话" />
  91. </uni-forms-item>
  92. <uni-forms-item label="法定代表人:" v-if="formData.organizeFlag==1"
  93. :name="['affiliate','applicant',index,'applicant','compLegalPerson']" key="compLegalPerson" label-width="120px" required :rules="[{required: true,errorMessage: '法定代表人不能为空'}]">
  94. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.compLegalPerson" type="text" placeholder="请输入法定代表人" />
  95. </uni-forms-item>
  96. <uni-forms-item label="申请人住所:" :name="['affiliate','applicant',index,'applicant','home']" label-width="120px" required
  97. :rules="[{required: true,errorMessage: '申请人住所不能为空'}]">
  98. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.home" type="text" placeholder="请输入申请人住所" />
  99. </uni-forms-item>
  100. <uni-forms-item label="申请人联系地址:" :name="['affiliate','applicant',index,'applicant','address']" label-width="120px" required
  101. :rules="[{required: true,errorMessage: '申请人联系地址不能为空'}]">
  102. <uni-easyinput v-model="formData.affiliate.applicant[index].applicant.address" type="text" placeholder="请输入申请人联系地址" />
  103. </uni-forms-item>
  104. <uni-section title="申请代理人" type="line" padding></uni-section>
  105. <uni-forms-item label="是否操作人" label-width="120px">
  106. <uni-data-checkbox
  107. v-model="formData.affiliate.applicant[index].applicantAgent.operatorFlag"
  108. :localdata="isProxyApplicant"
  109. ></uni-data-checkbox>
  110. </uni-forms-item>
  111. <uni-forms-item label="代理人联系电话:" label-width="120px">
  112. <uni-easyinput v-model="formData.affiliate.applicant[index].applicantAgent.phone" type="text"
  113. placeholder="请输入代理人联系电话" />
  114. </uni-forms-item>
  115. <uni-forms-item label="代理人姓名:" label-width="120px">
  116. <uni-easyinput v-model="formData.affiliate.applicant[index].applicantAgent.name" type="text"
  117. placeholder="请输入委托代理人姓名" />
  118. </uni-forms-item>
  119. <uni-forms-item label="代理人邮箱:" label-width="120px">
  120. <uni-easyinput v-model="formData.affiliate.applicant[index].applicantAgent.email" type="text"
  121. placeholder="请输入代理人邮箱" />
  122. </uni-forms-item>
  123. </view>
  124. <!-- 新增多个被申请人 -->
  125. <button type="primary" @click="addRespondent" size="mini" style="margin-bottom: 20px;">新增多个被申请人</button>
  126. <view class="" v-for="(item,index) in formData.affiliate.res">
  127. <button class="mini-btn" type="primary" size="mini" @tap="delRespondent(index)" v-if="index>=1?true:false">删除</button>
  128. <uni-section :title="'被申请人信息'+(index+1)" type="line" padding></uni-section>
  129. <uni-forms-item label="是否操作人" label-width="120px">
  130. <uni-data-checkbox
  131. v-model="formData.affiliate.res[index].res.operatorFlag"
  132. :localdata="isRespondent"
  133. ></uni-data-checkbox>
  134. </uni-forms-item>
  135. <uni-forms-item label="被申请人姓名:" :name="['affiliate','res',index,'res','name']" label-width="120px" required
  136. :rules="[{required: true,errorMessage: '被申请人姓名不能为空'}]">
  137. <uni-easyinput v-model="formData.affiliate.res[index].res.name" type="text" placeholder="请输入被申请人姓名" />
  138. </uni-forms-item>
  139. <uni-forms-item label="被申请人联系电话:" :name="['affiliate','res',index,'res','phone']" label-width="120px" :required="testVerify" :rules="rulesRespondentPhone">
  140. <uni-easyinput v-model="formData.affiliate.res[index].res.phone" type="text" placeholder="请输入被申请人联系电话" />
  141. </uni-forms-item>
  142. <uni-forms-item label="被申请人身份证号:" :name="['affiliate','res',index,'res','idCard']" label-width="120px" required
  143. :rules="[
  144. {required: true,errorMessage: '被申请人身份证号不能为空'},
  145. {pattern:'^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$',errorMessage:'被申请人身份证格式错误'}
  146. ]">
  147. <uni-easyinput v-model="formData.affiliate.res[index].res.idCard" @blur="handleBlur(index)" type="text"
  148. placeholder="请输入被申请人身份证号" />
  149. </uni-forms-item>
  150. <uni-forms-item label="被申请人性别" label-width="120px" required>
  151. <uni-data-checkbox class='checkbox' :disabled='true' v-model="formData.affiliate.res[index].res.sex"
  152. :localdata="respondentSexy"></uni-data-checkbox>
  153. </uni-forms-item>
  154. <uni-forms-item label="被申请人出生年月日" label-width="120px">
  155. <uni-datetime-picker v-model="formData.affiliate.res[index].res.birth" :disabled='true' type="date"
  156. :clear-icon="false" />
  157. </uni-forms-item>
  158. <uni-forms-item label="被申请人住所:" :name="['affiliate','res',index,'res','home']" label-width="120px" required
  159. :rules="[{required: true,errorMessage: '被申请人住所不能为空'}]">
  160. <uni-easyinput v-model="formData.affiliate.res[index].res.home" type="text" placeholder="请输入被申请人住所" />
  161. </uni-forms-item>
  162. <uni-forms-item label="被申请人邮箱:" :name="['affiliate','res',index,'res','email']" label-width="120px" required :rules="[
  163. {required: true,errorMessage: '被申请人邮箱不能为空'},
  164. {pattern:'^\\S+?@\\S+?\\.\\S+?$',errorMessage:'邮箱格式不正确'}
  165. ]">
  166. <uni-easyinput v-model="formData.affiliate.res[index].res.email" type="text" placeholder="请输入被申请人邮箱" />
  167. </uni-forms-item>
  168. <uni-section title="被申请代理人" type="line" padding></uni-section>
  169. <uni-forms-item label="是否操作人" label-width="120px">
  170. <uni-data-checkbox
  171. v-model="formData.affiliate.res[index].resAgent.operatorFlag"
  172. :localdata="isResApplicant"
  173. ></uni-data-checkbox>
  174. </uni-forms-item>
  175. <uni-forms-item label="代理人联系电话:" label-width="120px">
  176. <uni-easyinput v-model="formData.affiliate.res[index].resAgent.phone" type="text"
  177. placeholder="请输入代理人联系电话" />
  178. </uni-forms-item>
  179. <uni-forms-item label="代理人姓名:" label-width="120px">
  180. <uni-easyinput v-model="formData.affiliate.res[index].resAgent.name" type="text"
  181. placeholder="请输入委托代理人姓名" />
  182. </uni-forms-item>
  183. <uni-forms-item label="代理人邮箱:" label-width="120px">
  184. <uni-easyinput v-model="formData.affiliate.res[index].resAgent.email" type="text"
  185. placeholder="请输入代理人邮箱" />
  186. </uni-forms-item>
  187. </view>
  188. </uni-forms>
  189. <view class="determine" style="text-align: center;">
  190. <button class="mini-btn" type="primary" size="mini" @tap="submitReasont">确定</button>
  191. <button style="margin-left:30rpx;" class="mini-btn" type="default" size="mini"
  192. @tap="cencalBut">取消</button>
  193. </view>
  194. </view>
  195. </view>
  196. </template>
  197. <script>
  198. import {
  199. getTemplate,
  200. getInfoByIdCard,
  201. caseApplicationInsert,
  202. updateComfire,
  203. caseApplicationSelectById,
  204. getUserInfo,
  205. idType
  206. } from '../../../api/handlecase/index.js'
  207. import {
  208. getToken
  209. } from '@/utils/auth'
  210. import config from '@/config'
  211. import constant from '../../../utils/constant.js'
  212. export default {
  213. data() {
  214. return {
  215. baseUrl: config.baseUrlTJ,
  216. certificate: [],
  217. dynamicLists: [],
  218. nationality: [
  219. { value: 0, text: "境内" },
  220. { value: 1, text: "境外" },
  221. ],
  222. isOperate:[
  223. { value: 1, text: "是" },
  224. { value: 0, text: "否" },
  225. ],
  226. isProxyApplicant:[
  227. { value: 1, text: "是" },
  228. { value: 0, text: "否" },
  229. ],
  230. isRespondent:[
  231. { value: 1, text: "是" },
  232. { value: 0, text: "否" },
  233. ],
  234. isResApplicant:[
  235. { value: 1, text: "是" },
  236. { value: 0, text: "否" },
  237. ],
  238. delShow:false,
  239. formZipData: {},
  240. formData: {
  241. organizeFlag: 0,
  242. caseSource:"YC",
  243. // affiliate: {
  244. // roleType:1,
  245. // respondentSex: 0,
  246. // },
  247. affiliate:{
  248. applicant:[{
  249. applicant:{
  250. roleType: 1,
  251. name: "",
  252. idCard: "",
  253. code: "",
  254. phone: "",
  255. compLegalPerson: "",
  256. email: "",
  257. home: "",
  258. address: "",
  259. idType: 0,
  260. nationality: 0,
  261. birth: "",
  262. sex: "",
  263. group_order: 1,
  264. operatorFlag:1
  265. },
  266. applicantAgent:{
  267. roleType:2,
  268. name:"",
  269. idCard:"",
  270. code:"",
  271. phone:"",
  272. compLegalPerson:"",
  273. email:"",
  274. home:"",
  275. address:"",
  276. idType:0,
  277. nationality:1,
  278. birth:"",
  279. sex:"",
  280. operatorFlag:1
  281. }
  282. }],
  283. res:[{
  284. res:{
  285. roleType: 3,
  286. name: "",
  287. idCard: "",
  288. code: "",
  289. phone: "",
  290. compLegalPerson: "",
  291. email: "",
  292. home: "",
  293. address: "",
  294. idType: 0,
  295. nationality: 0,
  296. birth: "",
  297. sex: "",
  298. group_order: 1,
  299. operatorFlag:1
  300. },
  301. resAgent:{
  302. roleType: 4,
  303. name: "",
  304. idCard: "",
  305. code: "",
  306. phone: "",
  307. compLegalPerson: "",
  308. email: "",
  309. home: "",
  310. address: "",
  311. idType: 0,
  312. nationality: 0,
  313. birth: "",
  314. sex: "",
  315. group_order: 1,
  316. operatorFlag:1
  317. }
  318. }]
  319. },
  320. columnValueList: [],
  321. caseAttachList: [],
  322. },
  323. testVerify:true,
  324. getUserInfoList: {},
  325. ids: null,
  326. tempFilePaths: null,
  327. tempFilePathsZip: null,
  328. templateList: [],
  329. objectiJurisArr: [{
  330. text: '自然人',
  331. value: 0
  332. }, {
  333. text: '机构',
  334. value: 1
  335. }],
  336. respondentSexy: [{
  337. text: '女',
  338. value: 1
  339. }, {
  340. text: '男',
  341. value: 0
  342. }],
  343. fileList: {},
  344. fileListZip: {},
  345. rules: {},
  346. rulesRespondentPhone:[
  347. {required:true ,errorMessage: '被申请人联系电话不能为空'},
  348. {pattern:'^[1][3,4,5,6,7,8,9][0-9]{9}$',errorMessage:'被申请人联系电话格式不正确'}
  349. ],
  350. rulesPersonName:[{'required': true,errorMessage: '不能为空'}],
  351. rulesappNo: [{
  352. required: true,
  353. errorMessage: '输入信息不能为空',
  354. }, {
  355. validateFunction: (rule, value, data, callback) => {
  356. //判断手机号格
  357. if (this.formData.organizeFlag == 0) {
  358. let pNoReg =
  359. /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
  360. if (!pNoReg.test(value)) {
  361. callback('请输入正确的身份证号码')
  362. }
  363. } else {
  364. if (!value) {
  365. callback('请输入正确的机构信息')
  366. }
  367. }
  368. return true
  369. }
  370. }]
  371. }
  372. },
  373. methods: {
  374. submitReasont() {
  375. this.$refs.form.validate().then(res => {
  376. console.log("pppppppppppp")
  377. if (this.ids) {
  378. this.modifyData(this.formData)
  379. } else {
  380. this.insertFn(this.formData)
  381. }
  382. }).catch(err => {
  383. console.log(err)
  384. })
  385. },
  386. // 获取新增默认值
  387. getUserInfoNumber() {
  388. let indexs = ""
  389. this.formData.affiliate.applicant.forEach((item,index)=>{
  390. indexs = index
  391. })
  392. getUserInfo().then(res => {
  393. this.getUserInfoList = res.data
  394. if (this.formData.organizeFlag == 0) {
  395. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', res.data.nickName)
  396. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', res.data.idCard)
  397. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', res.data.email)
  398. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', res.data.phonenumber)
  399. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idType', res.data.idType)
  400. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'nationality', res.data.nationality)
  401. if(res.data.nationality == 0){
  402. this.testVerify = true
  403. this.rulesRespondentPhone[0].required = true;
  404. }else if(res.data.nationality == 1){
  405. this.testVerify = false
  406. this.rulesRespondentPhone[0].required = false;
  407. }
  408. } else if (this.formData.organizeFlag == 1) {
  409. console.log(this.formData.organizeFlag)
  410. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', res.data.nickName)
  411. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', res.data.email)
  412. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', res.data.phonenumber)
  413. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'nationality', res.data.nationality)
  414. }
  415. })
  416. },
  417. clearValidate(val) {
  418. let indexs = ""
  419. this.formData.affiliate.applicant.forEach((item,index)=>{
  420. indexs = index
  421. })
  422. if (this.formData.organizeFlag == 0) {
  423. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', this.getUserInfoList.nickName)
  424. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', this.getUserInfoList.idCard)
  425. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', this.getUserInfoList.email)
  426. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', this.getUserInfoList.phonenumber)
  427. if (this.formZipData.affiliate) {
  428. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  429. this.$set(this.formData, 'facts', this.formZipData.facts);
  430. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  431. .applicant.home);
  432. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  433. .applicant.address);
  434. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'phone', this.formZipData
  435. .affiliate.applicant[0].applicantAgent.phone);
  436. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'name', this.formZipData.affiliate.applicant[0]
  437. .applicantAgent.name);
  438. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'email', this.formZipData.affiliate.applicant[0]
  439. .applicantAgent.email);
  440. this.$set(this.formData.affiliate.applicant[0].res, 'name', this.formZipData.affiliate.applicant[0]
  441. .res.name);
  442. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  443. .res.phone);
  444. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  445. .affiliate.res[0].res.idCard);
  446. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  447. .affiliate.res[0].res.sex));
  448. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  449. .res.birth);
  450. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  451. .res.home);
  452. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  453. .res.email);
  454. } else {
  455. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', null)
  456. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', null)
  457. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', null)
  458. }
  459. } else if (this.formData.organizeFlag == 1) {
  460. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', this.getUserInfoList.nickName)
  461. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', this.getUserInfoList.email)
  462. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', this.getUserInfoList.phonenumber)
  463. if (this.formZipData.affiliate) {
  464. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  465. this.$set(this.formData, 'facts', this.formZipData.facts);
  466. this.$set(this.formData.affiliate.applicant[0].applicant, 'name', this.formZipData.affiliate[0]
  467. .applicant.name);
  468. this.$set(this.formData.affiliate.applicant[0].applicant, 'code', this.formZipData.affiliate[0].applicant.code);
  469. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate[0]
  470. .applicant.home);
  471. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate[0]
  472. .applicant.address);
  473. this.$set(this.formData.affiliate.applicant[0].applicant, 'compLegalPerson', this.formZipData.affiliate[0]
  474. .applicant.compLegalPerson);
  475. this.$set(this.formData.affiliate.applicant[0].applicant, 'email', this.formZipData.affiliate[0]
  476. .applicant.email);
  477. this.$set(this.formData.affiliate.applicant[0].applicant, 'phone', this.formZipData.affiliate[0]
  478. .applicant.phone);
  479. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  480. .res.name);
  481. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  482. .res.phone);
  483. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  484. .affiliate.res[0].res.idCard);
  485. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  486. .affiliate.res[0].res.sex));
  487. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  488. .res.birth);
  489. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  490. .res.home);
  491. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  492. .res.email);
  493. } else {
  494. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', null)
  495. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', null)
  496. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', null)
  497. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', null)
  498. }
  499. }
  500. this.$refs["form"].clearValidate()
  501. },
  502. /** 获取裁决书模板 */
  503. getTemplateFn(data) {
  504. getTemplate(data).then((res) => {
  505. //this.templateList = res.rows;
  506. res.rows.forEach(item => {
  507. this.templateList.push({
  508. value: item.id,
  509. text: item.temName
  510. })
  511. })
  512. });
  513. },
  514. /** 根据案件id获取对应信息 */
  515. caseApplicationSelectByIdFn(data) {
  516. caseApplicationSelectById(data).then(res => {
  517. let data = res.data
  518. console.log( res.data)
  519. let indexs = ""
  520. data.affiliate.applicant.forEach((item,index) =>{
  521. if(!item.applicant){
  522. item.applicant = {}
  523. }
  524. if(!item.applicantAgent){
  525. item.applicantAgent = {}
  526. }
  527. })
  528. if(data.affiliate.res.length==0){
  529. data.affiliate.res.push({
  530. res:{},
  531. resAgent:{}
  532. })
  533. }else{
  534. data.affiliate.res.forEach((item,index) =>{
  535. indexs = index
  536. if(!item.res){
  537. item.res ={}
  538. }else{
  539. data.affiliate.res[indexs].res.sex = Number(data.affiliate.res[indexs].res.sex)
  540. }
  541. if(!item.resAgent){
  542. item.resAgent = {}
  543. }
  544. })
  545. }
  546. this.formData = data
  547. })
  548. },
  549. // 被申请人获取性别出生年月
  550. handleBlur(index) {
  551. let idCards = {
  552. idCard: this.formData.affiliate.res[index].res.idCard,
  553. };
  554. getInfoByIdCard(idCards).then(res => {
  555. this.formData.affiliate.res[index].res.sex = Number(res.respondentSex);
  556. this.formData.affiliate.res[index].res.birth= res.respondentBirth;
  557. })
  558. },
  559. // 新增案件
  560. insertFn(data) {
  561. caseApplicationInsert(data).then((res) => {
  562. uni.showToast({
  563. title: '新增成功',
  564. icon: 'none',
  565. duration: 1000
  566. })
  567. uni.navigateTo({
  568. url: '../index'
  569. })
  570. // this.$router.go(-1)
  571. });
  572. },
  573. //修改案件
  574. modifyData(data) {
  575. updateComfire(data).then((res) => {
  576. uni.showToast({
  577. title: '修改成功',
  578. icon: 'none',
  579. duration: 1000
  580. })
  581. uni.navigateBack({
  582. delta: 1
  583. })
  584. });
  585. },
  586. // 压缩包上传
  587. selectZip(e) {
  588. if (e.tempFiles[0].extname != 'zip') {
  589. uni.showToast({
  590. title: '上传类型为zip',
  591. icon: 'none',
  592. duration: 1000
  593. })
  594. return
  595. }
  596. // loading
  597. this.tempFilePathsZip = e.tempFilePaths;
  598. uni.showLoading({
  599. title: '上传中'
  600. });
  601. uni.uploadFile({
  602. url: config.baseUrlTJ + "/caseApplication/userIdentify",
  603. filePath: this.tempFilePathsZip[0],
  604. header: {
  605. Authorization: getToken() || '',
  606. },
  607. name: 'file',
  608. success: (res) => {
  609. console.log(res)
  610. let result = JSON.parse(res.data)
  611. uni.showToast({
  612. title: '上传成功',
  613. icon: 'none',
  614. duration: 1000
  615. })
  616. this.formZipData = result.data;
  617. if (this.formData.organizeFlag == 0) {
  618. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  619. this.$set(this.formData, 'facts', this.formZipData.facts);
  620. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  621. .applicant.home);
  622. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  623. .applicant.address);
  624. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'phone', this.formZipData
  625. .affiliate.applicant[0].applicantAgent.phone);
  626. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'name', this.formZipData.affiliate.applicant[0]
  627. .applicantAgent.name);
  628. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'email', this.formZipData.affiliate.applicant[0]
  629. .applicantAgent.email);
  630. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  631. .res.name);
  632. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  633. .res.phone);
  634. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  635. .affiliate.res[0].res.idCard);
  636. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  637. .affiliate.res[0].res.sex));
  638. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  639. .res.birth);
  640. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  641. .res.home);
  642. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  643. .res.email);
  644. // this.$set(this.formData.affiliate[0].resAgent, 'phone', this.formZipData
  645. // .affiliate[0].resAgent.phone);
  646. // this.$set(this.formData.affiliate[0].resAgent, 'name', this.formZipData.affiliate[0]
  647. // .resAgent.name);
  648. // this.$set(this.formData.affiliate[0].resAgent, 'email', this.formZipData.affiliate[0]
  649. // .resAgent.email);
  650. } else if (this.formData.organizeFlag == 1) {
  651. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  652. this.$set(this.formData, 'facts', this.formZipData.facts);
  653. this.$set(this.formData.affiliate.applicant[0].applicant, 'name', this.formZipData.affiliate.applicant[0]
  654. .applicant.name);
  655. this.$set(this.formData.affiliate.applicant[0].applicant, 'code', this.formZipData.affiliate.applicant[0].applicant.code);
  656. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  657. .applicant.home);
  658. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  659. .applicant.address);
  660. this.$set(this.formData.affiliate.applicant[0].applicant, 'compLegalPerson', this.formZipData.affiliate.applicant[0]
  661. .applicant.compLegalPerson);
  662. this.$set(this.formData.affiliate.applicant[0].applicant, 'email', this.formZipData.affiliate.applicant[0]
  663. .applicant.email);
  664. this.$set(this.formData.affiliate.applicant[0].applicant, 'phone', this.formZipData.affiliate.applicant[0]
  665. .applicant.phone);
  666. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  667. .res.name);
  668. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  669. .res.phone);
  670. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  671. .affiliate.res[0].res.idCard);
  672. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  673. .affiliate.res[0].res.sex));
  674. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  675. .res.birth);
  676. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  677. .res.home);
  678. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  679. .res.email);
  680. }
  681. uni.hideLoading();
  682. },
  683. fail: (err) => {
  684. uni.showToast({
  685. title: '上传失败',
  686. icon: 'none',
  687. duration: 1000
  688. })
  689. uni.hideLoading()
  690. }
  691. })
  692. },
  693. // 文件上传
  694. select(e) {
  695. this.tempFilePaths = e.tempFilePaths;
  696. // loading
  697. uni.showLoading({
  698. title: '上传中'
  699. });
  700. uni.uploadFile({
  701. url: config.baseUrlTJ + "/common/upload",
  702. filePath: this.tempFilePaths[0],
  703. header: {
  704. Authorization: getToken() || '',
  705. },
  706. formData: {
  707. annexType: 2,
  708. id: this.formData.id
  709. },
  710. name: 'file',
  711. success: (res) => {
  712. let result = JSON.parse(res.data)
  713. this.formData.caseAttachList.push({
  714. annexId: result.annexId,
  715. annexName: result.fileName
  716. });
  717. console.log(result.fileName)
  718. uni.showToast({
  719. title: '上传成功',
  720. icon: 'none',
  721. duration: 1000
  722. })
  723. uni.hideLoading();
  724. },
  725. fail: (err) => {
  726. uni.showToast({
  727. title: '上传失败',
  728. icon: 'none',
  729. duration: 1000
  730. })
  731. uni.hideLoading()
  732. }
  733. })
  734. },
  735. cencalBut() {
  736. uni.navigateBack({
  737. delta: 1
  738. })
  739. },
  740. // 改变证件类型
  741. changeDocment(e){
  742. console.log(e)
  743. },
  744. //改变地区类型
  745. changeArea(e){
  746. if(e==0){
  747. this.testVerify = true
  748. this.rulesRespondentPhone[0].required = true;
  749. }else if(e==1){
  750. this.testVerify = false
  751. this.rulesRespondentPhone[0].required = false;
  752. }
  753. },
  754. // 获取证件类型
  755. getIdType(){
  756. idType().then(res =>{
  757. console.log(res)
  758. res.data.forEach(item =>{
  759. this.certificate.push({value:item.dictSort,text:item.dictLabel})
  760. })
  761. })
  762. },
  763. // 新增多个申请代理人
  764. addMultiple(){
  765. this.delShow =true
  766. let idnexVal = ""
  767. this.formData.affiliate.forEach((item,index)=>{
  768. idnexVal = index
  769. })
  770. getUserInfo().then(res => {
  771. this.getUserInfoList = res.data
  772. if (this.formData.organizeFlag == 0) {
  773. this.$set(this.formData.affiliate[idnexVal].applicant, 'name', res.data.nickName)
  774. this.$set(this.formData.affiliate[idnexVal].applicant, 'idCard', res.data.idCard)
  775. this.$set(this.formData.affiliate[idnexVal].applicant, 'email', res.data.email)
  776. this.$set(this.formData.affiliate[idnexVal].applicant, 'phone', res.data.phonenumber)
  777. this.$set(this.formData.affiliate[idnexVal].applicant, 'idType', res.data.idType)
  778. this.$set(this.formData.affiliate[idnexVal].applicant, 'nationality', res.data.nationality)
  779. } else if (this.formData.organizeFlag == 1) {
  780. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'name', res.data.nickName)
  781. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'email', res.data.email)
  782. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'phone', res.data.phonenumber)
  783. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'nationality', res.data.nationality)
  784. }
  785. })
  786. },
  787. // 新增多个申请人和申请代理人
  788. addMultipleApplicants(){
  789. this.formData.affiliate.applicant.push({
  790. applicant:{
  791. roleType: 1,
  792. name: "",
  793. idCard: "",
  794. code: "",
  795. phone: "",
  796. compLegalPerson: "",
  797. email: "",
  798. home: "",
  799. address: "",
  800. idType: 0,
  801. nationality: 0,
  802. birth: "",
  803. sex: "",
  804. group_order: 1,
  805. operatorFlag:1
  806. },
  807. applicantAgent:{
  808. roleType:2,
  809. name:"",
  810. idCard:"",
  811. code:"",
  812. phone:"",
  813. compLegalPerson:"",
  814. email:"",
  815. home:"",
  816. address:"",
  817. idType:0,
  818. nationality:1,
  819. birth:"",
  820. sex:"",
  821. operatorFlag:1
  822. }
  823. })
  824. let idnexVal = ""
  825. this.formData.affiliate.applicant.forEach((item,index)=>{
  826. idnexVal = index
  827. })
  828. getUserInfo().then(res => {
  829. this.getUserInfoList = res.data
  830. if (this.formData.organizeFlag == 0) {
  831. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'name', res.data.nickName)
  832. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'idCard', res.data.idCard)
  833. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'email', res.data.email)
  834. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'phone', res.data.phonenumber)
  835. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'idType', res.data.idType)
  836. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'nationality', res.data.nationality)
  837. } else if (this.formData.organizeFlag == 1) {
  838. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'name', res.data.nickName)
  839. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'email', res.data.email)
  840. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'phone', res.data.phonenumber)
  841. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'nationality', res.data.nationality)
  842. }
  843. })
  844. },
  845. // 新增多个被申请人和代理人
  846. addRespondent(){
  847. this.formData.affiliate.res.push({
  848. res:{
  849. roleType: 3,
  850. name: "",
  851. idCard: "",
  852. code: "",
  853. phone: "",
  854. compLegalPerson: "",
  855. email: "",
  856. home: "",
  857. address: "",
  858. idType: 0,
  859. nationality: 0,
  860. birth: "",
  861. sex: "",
  862. group_order: 1,
  863. operatorFlag:1
  864. },
  865. resAgent:{
  866. roleType: 4,
  867. name: "",
  868. idCard: "",
  869. code: "",
  870. phone: "",
  871. compLegalPerson: "",
  872. email: "",
  873. home: "",
  874. address: "",
  875. idType: 0,
  876. nationality: 0,
  877. birth: "",
  878. sex: "",
  879. group_order: 1,
  880. operatorFlag:1
  881. }
  882. })
  883. },
  884. //删除新增的多个申请代理人
  885. delValue(id){
  886. let index = this.formData.affiliate.applicant.findIndex(v => v.id === id)
  887. this.formData.affiliate.applicant.splice(index, 1)
  888. },
  889. //删除新增多个被申请代理人
  890. delRespondent(id){
  891. let index = this.formData.affiliate.res.findIndex(v => v.id === id)
  892. this.formData.affiliate.res.splice(index, 1)
  893. }
  894. },
  895. onLoad(data) {
  896. this.ids = data.id
  897. if (this.ids) {
  898. this.caseApplicationSelectByIdFn({
  899. id: data.id
  900. })
  901. uni.setNavigationBarTitle({
  902. title: "案件修改"
  903. })
  904. } else {
  905. uni.setNavigationBarTitle({
  906. title: "案件新增"
  907. })
  908. }
  909. if(this.formData.affiliate.nationality == 0){
  910. this.testVerify = true
  911. this.rulesRespondentPhone[0].required = true;
  912. }else if(this.formData.affiliate.idType==1){
  913. this.testVerify = false
  914. this.rulesRespondentPhone[0].required = false;
  915. }
  916. this.getTemplateFn()
  917. this.getUserInfoNumber()
  918. this.getIdType() //获取证件类型
  919. },
  920. onReady() {
  921. this.$refs.form.setRules(this.rules)
  922. }
  923. }
  924. </script>
  925. <style lang="scss">
  926. page {
  927. background-color: #ffffff;
  928. }
  929. .assignrbitrators {
  930. margin: 30rpx;
  931. }
  932. ::v-deep .uni-icons[data-v-a2e81f6e]{
  933. display: none;
  934. }
  935. </style>