newlyAddedCase.vue 38KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  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. // affiliate: {
  243. // roleType:1,
  244. // respondentSex: 0,
  245. // },
  246. affiliate:{
  247. applicant:[{
  248. applicant:{
  249. roleType: 1,
  250. name: "",
  251. idCard: "",
  252. code: "",
  253. phone: "",
  254. compLegalPerson: "",
  255. email: "",
  256. home: "",
  257. address: "",
  258. idType: 0,
  259. nationality: 0,
  260. birth: "",
  261. sex: "",
  262. group_order: 1,
  263. operatorFlag:1
  264. },
  265. applicantAgent:{
  266. roleType:2,
  267. name:"",
  268. idCard:"",
  269. code:"",
  270. phone:"",
  271. compLegalPerson:"",
  272. email:"",
  273. home:"",
  274. address:"",
  275. idType:0,
  276. nationality:1,
  277. birth:"",
  278. sex:"",
  279. operatorFlag:1
  280. }
  281. }],
  282. res:[{
  283. res:{
  284. roleType: 1,
  285. name: "",
  286. idCard: "",
  287. code: "",
  288. phone: "",
  289. compLegalPerson: "",
  290. email: "",
  291. home: "",
  292. address: "",
  293. idType: 0,
  294. nationality: 0,
  295. birth: "",
  296. sex: "",
  297. group_order: 1,
  298. operatorFlag:1
  299. },
  300. resAgent:{
  301. roleType: 1,
  302. name: "",
  303. idCard: "",
  304. code: "",
  305. phone: "",
  306. compLegalPerson: "",
  307. email: "",
  308. home: "",
  309. address: "",
  310. idType: 0,
  311. nationality: 0,
  312. birth: "",
  313. sex: "",
  314. group_order: 1,
  315. operatorFlag:1
  316. }
  317. }]
  318. },
  319. columnValueList: [],
  320. caseAttachList: [],
  321. },
  322. testVerify:true,
  323. getUserInfoList: {},
  324. ids: null,
  325. tempFilePaths: null,
  326. tempFilePathsZip: null,
  327. templateList: [],
  328. objectiJurisArr: [{
  329. text: '自然人',
  330. value: 0
  331. }, {
  332. text: '机构',
  333. value: 1
  334. }],
  335. respondentSexy: [{
  336. text: '女',
  337. value: 1
  338. }, {
  339. text: '男',
  340. value: 0
  341. }],
  342. fileList: {},
  343. fileListZip: {},
  344. rules: {},
  345. rulesRespondentPhone:[
  346. {required:true ,errorMessage: '被申请人联系电话不能为空'},
  347. {pattern:'^[1][3,4,5,6,7,8,9][0-9]{9}$',errorMessage:'被申请人联系电话格式不正确'}
  348. ],
  349. rulesPersonName:[{'required': true,errorMessage: '不能为空'}],
  350. rulesappNo: [{
  351. required: true,
  352. errorMessage: '输入信息不能为空',
  353. }, {
  354. validateFunction: (rule, value, data, callback) => {
  355. //判断手机号格
  356. if (this.formData.organizeFlag == 0) {
  357. let pNoReg =
  358. /^[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]$/
  359. if (!pNoReg.test(value)) {
  360. callback('请输入正确的身份证号码')
  361. }
  362. } else {
  363. if (!value) {
  364. callback('请输入正确的机构信息')
  365. }
  366. }
  367. return true
  368. }
  369. }]
  370. }
  371. },
  372. methods: {
  373. submitReasont() {
  374. this.$refs.form.validate().then(res => {
  375. console.log("pppppppppppp")
  376. if (this.ids) {
  377. this.modifyData(this.formData)
  378. } else {
  379. this.insertFn(this.formData)
  380. }
  381. }).catch(err => {
  382. console.log(err)
  383. })
  384. },
  385. // 获取新增默认值
  386. getUserInfoNumber() {
  387. let indexs = ""
  388. this.formData.affiliate.applicant.forEach((item,index)=>{
  389. indexs = index
  390. })
  391. getUserInfo().then(res => {
  392. this.getUserInfoList = res.data
  393. if (this.formData.organizeFlag == 0) {
  394. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', res.data.nickName)
  395. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', res.data.idCard)
  396. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', res.data.email)
  397. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', res.data.phonenumber)
  398. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idType', res.data.idType)
  399. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'nationality', res.data.nationality)
  400. if(res.data.nationality == 0){
  401. this.testVerify = true
  402. this.rulesRespondentPhone[0].required = true;
  403. }else if(res.data.nationality == 1){
  404. this.testVerify = false
  405. this.rulesRespondentPhone[0].required = false;
  406. }
  407. } else if (this.formData.organizeFlag == 1) {
  408. console.log(this.formData.organizeFlag)
  409. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', res.data.nickName)
  410. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', res.data.email)
  411. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', res.data.phonenumber)
  412. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'nationality', res.data.nationality)
  413. }
  414. })
  415. },
  416. clearValidate(val) {
  417. let indexs = ""
  418. this.formData.affiliate.applicant.forEach((item,index)=>{
  419. indexs = index
  420. })
  421. if (this.formData.organizeFlag == 0) {
  422. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', this.getUserInfoList.nickName)
  423. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', this.getUserInfoList.idCard)
  424. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', this.getUserInfoList.email)
  425. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', this.getUserInfoList.phonenumber)
  426. if (this.formZipData.affiliate) {
  427. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  428. this.$set(this.formData, 'facts', this.formZipData.facts);
  429. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  430. .applicant.home);
  431. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  432. .applicant.address);
  433. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'phone', this.formZipData
  434. .affiliate.applicant[0].applicantAgent.phone);
  435. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'name', this.formZipData.affiliate.applicant[0]
  436. .applicantAgent.name);
  437. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'email', this.formZipData.affiliate.applicant[0]
  438. .applicantAgent.email);
  439. this.$set(this.formData.affiliate.applicant[0].res, 'name', this.formZipData.affiliate.applicant[0]
  440. .res.name);
  441. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  442. .res.phone);
  443. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  444. .affiliate.res[0].res.idCard);
  445. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  446. .affiliate.res[0].res.sex));
  447. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  448. .res.birth);
  449. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  450. .res.home);
  451. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  452. .res.email);
  453. } else {
  454. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', null)
  455. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', null)
  456. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', null)
  457. }
  458. } else if (this.formData.organizeFlag == 1) {
  459. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'name', this.getUserInfoList.nickName)
  460. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'email', this.getUserInfoList.email)
  461. this.$set(this.formData.affiliate.applicant[indexs].applicantAgent, 'phone', this.getUserInfoList.phonenumber)
  462. if (this.formZipData.affiliate) {
  463. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  464. this.$set(this.formData, 'facts', this.formZipData.facts);
  465. this.$set(this.formData.affiliate.applicant[0].applicant, 'name', this.formZipData.affiliate[0]
  466. .applicant.name);
  467. this.$set(this.formData.affiliate.applicant[0].applicant, 'code', this.formZipData.affiliate[0].applicant.code);
  468. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate[0]
  469. .applicant.home);
  470. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate[0]
  471. .applicant.address);
  472. this.$set(this.formData.affiliate.applicant[0].applicant, 'compLegalPerson', this.formZipData.affiliate[0]
  473. .applicant.compLegalPerson);
  474. this.$set(this.formData.affiliate.applicant[0].applicant, 'email', this.formZipData.affiliate[0]
  475. .applicant.email);
  476. this.$set(this.formData.affiliate.applicant[0].applicant, 'phone', this.formZipData.affiliate[0]
  477. .applicant.phone);
  478. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  479. .res.name);
  480. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  481. .res.phone);
  482. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  483. .affiliate.res[0].res.idCard);
  484. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  485. .affiliate.res[0].res.sex));
  486. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  487. .res.birth);
  488. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  489. .res.home);
  490. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  491. .res.email);
  492. } else {
  493. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'name', null)
  494. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'idCard', null)
  495. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'email', null)
  496. this.$set(this.formData.affiliate.applicant[indexs].applicant, 'phone', null)
  497. }
  498. }
  499. this.$refs["form"].clearValidate()
  500. },
  501. /** 获取裁决书模板 */
  502. getTemplateFn(data) {
  503. getTemplate(data).then((res) => {
  504. //this.templateList = res.rows;
  505. res.rows.forEach(item => {
  506. this.templateList.push({
  507. value: item.id,
  508. text: item.temName
  509. })
  510. })
  511. });
  512. },
  513. /** 根据案件id获取对应信息 */
  514. caseApplicationSelectByIdFn(data) {
  515. caseApplicationSelectById(data).then(res => {
  516. let data = res.data
  517. console.log( res.data)
  518. let indexs = ""
  519. data.affiliate.applicant.forEach((item,index) =>{
  520. if(!item.applicant){
  521. item.applicant = {}
  522. }
  523. if(!item.applicantAgent){
  524. item.applicantAgent = {}
  525. }
  526. })
  527. if(data.affiliate.res.length==0){
  528. data.affiliate.res.push({
  529. res:{},
  530. resAgent:{}
  531. })
  532. }else{
  533. data.affiliate.res.forEach((item,index) =>{
  534. indexs = index
  535. if(!item.res){
  536. item.res ={}
  537. }else{
  538. data.affiliate.res[indexs].res.sex = Number(data.affiliate.res[indexs].res.sex)
  539. }
  540. if(!item.resAgent){
  541. item.resAgent = {}
  542. }
  543. })
  544. }
  545. this.formData = data
  546. })
  547. },
  548. // 被申请人获取性别出生年月
  549. handleBlur(index) {
  550. let idCards = {
  551. idCard: this.formData.affiliate.res[index].res.idCard,
  552. };
  553. getInfoByIdCard(idCards).then(res => {
  554. this.formData.affiliate.res[index].res.sex = Number(res.respondentSex);
  555. this.formData.affiliate.res[index].res.birth= res.respondentBirth;
  556. })
  557. },
  558. // 新增案件
  559. insertFn(data) {
  560. caseApplicationInsert(data).then((res) => {
  561. uni.showToast({
  562. title: '新增成功',
  563. icon: 'none',
  564. duration: 1000
  565. })
  566. uni.navigateTo({
  567. url: '../index'
  568. })
  569. // this.$router.go(-1)
  570. });
  571. },
  572. //修改案件
  573. modifyData(data) {
  574. updateComfire(data).then((res) => {
  575. uni.showToast({
  576. title: '修改成功',
  577. icon: 'none',
  578. duration: 1000
  579. })
  580. uni.navigateBack({
  581. delta: 1
  582. })
  583. });
  584. },
  585. // 压缩包上传
  586. selectZip(e) {
  587. if (e.tempFiles[0].extname != 'zip') {
  588. uni.showToast({
  589. title: '上传类型为zip',
  590. icon: 'none',
  591. duration: 1000
  592. })
  593. return
  594. }
  595. // loading
  596. this.tempFilePathsZip = e.tempFilePaths;
  597. uni.showLoading({
  598. title: '上传中'
  599. });
  600. uni.uploadFile({
  601. url: config.baseUrlTJ + "/caseApplication/userIdentify",
  602. filePath: this.tempFilePathsZip[0],
  603. header: {
  604. Authorization: getToken() || '',
  605. },
  606. name: 'file',
  607. success: (res) => {
  608. console.log(res)
  609. let result = JSON.parse(res.data)
  610. uni.showToast({
  611. title: '上传成功',
  612. icon: 'none',
  613. duration: 1000
  614. })
  615. this.formZipData = result.data;
  616. if (this.formData.organizeFlag == 0) {
  617. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  618. this.$set(this.formData, 'facts', this.formZipData.facts);
  619. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  620. .applicant.home);
  621. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  622. .applicant.address);
  623. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'phone', this.formZipData
  624. .affiliate.applicant[0].applicantAgent.phone);
  625. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'name', this.formZipData.affiliate.applicant[0]
  626. .applicantAgent.name);
  627. this.$set(this.formData.affiliate.applicant[0].applicantAgent, 'email', this.formZipData.affiliate.applicant[0]
  628. .applicantAgent.email);
  629. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  630. .res.name);
  631. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  632. .res.phone);
  633. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  634. .affiliate.res[0].res.idCard);
  635. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  636. .affiliate.res[0].res.sex));
  637. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  638. .res.birth);
  639. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  640. .res.home);
  641. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  642. .res.email);
  643. // this.$set(this.formData.affiliate[0].resAgent, 'phone', this.formZipData
  644. // .affiliate[0].resAgent.phone);
  645. // this.$set(this.formData.affiliate[0].resAgent, 'name', this.formZipData.affiliate[0]
  646. // .resAgent.name);
  647. // this.$set(this.formData.affiliate[0].resAgent, 'email', this.formZipData.affiliate[0]
  648. // .resAgent.email);
  649. } else if (this.formData.organizeFlag == 1) {
  650. this.$set(this.formData, 'arbitratClaims', this.formZipData.arbitratClaims);
  651. this.$set(this.formData, 'facts', this.formZipData.facts);
  652. this.$set(this.formData.affiliate.applicant[0].applicant, 'name', this.formZipData.affiliate.applicant[0]
  653. .applicant.name);
  654. this.$set(this.formData.affiliate.applicant[0].applicant, 'code', this.formZipData.affiliate.applicant[0].applicant.code);
  655. this.$set(this.formData.affiliate.applicant[0].applicant, 'home', this.formZipData.affiliate.applicant[0]
  656. .applicant.home);
  657. this.$set(this.formData.affiliate.applicant[0].applicant, 'address', this.formZipData.affiliate.applicant[0]
  658. .applicant.address);
  659. this.$set(this.formData.affiliate.applicant[0].applicant, 'compLegalPerson', this.formZipData.affiliate.applicant[0]
  660. .applicant.compLegalPerson);
  661. this.$set(this.formData.affiliate.applicant[0].applicant, 'email', this.formZipData.affiliate.applicant[0]
  662. .applicant.email);
  663. this.$set(this.formData.affiliate.applicant[0].applicant, 'phone', this.formZipData.affiliate.applicant[0]
  664. .applicant.phone);
  665. this.$set(this.formData.affiliate.res[0].res, 'name', this.formZipData.affiliate.res[0]
  666. .res.name);
  667. this.$set(this.formData.affiliate.res[0].res, 'phone', this.formZipData.affiliate.res[0]
  668. .res.phone);
  669. this.$set(this.formData.affiliate.res[0].res, 'idCard', this.formZipData
  670. .affiliate.res[0].res.idCard);
  671. this.$set(this.formData.affiliate.res[0].res, 'sex', Number(this.formZipData
  672. .affiliate.res[0].res.sex));
  673. this.$set(this.formData.affiliate.res[0].res, 'birth', this.formZipData.affiliate.res[0]
  674. .res.birth);
  675. this.$set(this.formData.affiliate.res[0].res, 'home', this.formZipData.affiliate.res[0]
  676. .res.home);
  677. this.$set(this.formData.affiliate.res[0].res, 'email', this.formZipData.affiliate.res[0]
  678. .res.email);
  679. }
  680. uni.hideLoading();
  681. },
  682. fail: (err) => {
  683. uni.showToast({
  684. title: '上传失败',
  685. icon: 'none',
  686. duration: 1000
  687. })
  688. uni.hideLoading()
  689. }
  690. })
  691. },
  692. // 文件上传
  693. select(e) {
  694. this.tempFilePaths = e.tempFilePaths;
  695. // loading
  696. uni.showLoading({
  697. title: '上传中'
  698. });
  699. uni.uploadFile({
  700. url: config.baseUrlTJ + "/common/upload",
  701. filePath: this.tempFilePaths[0],
  702. header: {
  703. Authorization: getToken() || '',
  704. },
  705. formData: {
  706. annexType: 2,
  707. id: this.formData.id
  708. },
  709. name: 'file',
  710. success: (res) => {
  711. let result = JSON.parse(res.data)
  712. this.formData.caseAttachList.push({
  713. annexId: result.annexId,
  714. annexName: result.fileName
  715. });
  716. console.log(result.fileName)
  717. uni.showToast({
  718. title: '上传成功',
  719. icon: 'none',
  720. duration: 1000
  721. })
  722. uni.hideLoading();
  723. },
  724. fail: (err) => {
  725. uni.showToast({
  726. title: '上传失败',
  727. icon: 'none',
  728. duration: 1000
  729. })
  730. uni.hideLoading()
  731. }
  732. })
  733. },
  734. cencalBut() {
  735. uni.navigateBack({
  736. delta: 1
  737. })
  738. },
  739. // 改变证件类型
  740. changeDocment(e){
  741. console.log(e)
  742. },
  743. //改变地区类型
  744. changeArea(e){
  745. if(e==0){
  746. this.testVerify = true
  747. this.rulesRespondentPhone[0].required = true;
  748. }else if(e==1){
  749. this.testVerify = false
  750. this.rulesRespondentPhone[0].required = false;
  751. }
  752. },
  753. // 获取证件类型
  754. getIdType(){
  755. idType().then(res =>{
  756. console.log(res)
  757. res.data.forEach(item =>{
  758. this.certificate.push({value:item.dictSort,text:item.dictLabel})
  759. })
  760. })
  761. },
  762. // 新增多个申请代理人
  763. addMultiple(){
  764. this.delShow =true
  765. let idnexVal = ""
  766. this.formData.affiliate.forEach((item,index)=>{
  767. idnexVal = index
  768. })
  769. getUserInfo().then(res => {
  770. this.getUserInfoList = res.data
  771. if (this.formData.organizeFlag == 0) {
  772. this.$set(this.formData.affiliate[idnexVal].applicant, 'name', res.data.nickName)
  773. this.$set(this.formData.affiliate[idnexVal].applicant, 'idCard', res.data.idCard)
  774. this.$set(this.formData.affiliate[idnexVal].applicant, 'email', res.data.email)
  775. this.$set(this.formData.affiliate[idnexVal].applicant, 'phone', res.data.phonenumber)
  776. this.$set(this.formData.affiliate[idnexVal].applicant, 'idType', res.data.idType)
  777. this.$set(this.formData.affiliate[idnexVal].applicant, 'nationality', res.data.nationality)
  778. } else if (this.formData.organizeFlag == 1) {
  779. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'name', res.data.nickName)
  780. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'email', res.data.email)
  781. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'phone', res.data.phonenumber)
  782. this.$set(this.formData.affiliate[idnexVal].applicantAgent, 'nationality', res.data.nationality)
  783. }
  784. })
  785. },
  786. // 新增多个申请人和申请代理人
  787. addMultipleApplicants(){
  788. this.formData.affiliate.applicant.push({
  789. applicant:{
  790. roleType: 1,
  791. name: "",
  792. idCard: "",
  793. code: "",
  794. phone: "",
  795. compLegalPerson: "",
  796. email: "",
  797. home: "",
  798. address: "",
  799. idType: 0,
  800. nationality: 0,
  801. birth: "",
  802. sex: "",
  803. group_order: 1,
  804. operatorFlag:1
  805. },
  806. applicantAgent:{
  807. roleType:2,
  808. name:"",
  809. idCard:"",
  810. code:"",
  811. phone:"",
  812. compLegalPerson:"",
  813. email:"",
  814. home:"",
  815. address:"",
  816. idType:0,
  817. nationality:1,
  818. birth:"",
  819. sex:"",
  820. operatorFlag:1
  821. }
  822. })
  823. let idnexVal = ""
  824. this.formData.affiliate.applicant.forEach((item,index)=>{
  825. idnexVal = index
  826. })
  827. getUserInfo().then(res => {
  828. this.getUserInfoList = res.data
  829. if (this.formData.organizeFlag == 0) {
  830. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'name', res.data.nickName)
  831. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'idCard', res.data.idCard)
  832. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'email', res.data.email)
  833. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'phone', res.data.phonenumber)
  834. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'idType', res.data.idType)
  835. this.$set(this.formData.affiliate.applicant[idnexVal].applicant, 'nationality', res.data.nationality)
  836. } else if (this.formData.organizeFlag == 1) {
  837. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'name', res.data.nickName)
  838. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'email', res.data.email)
  839. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'phone', res.data.phonenumber)
  840. this.$set(this.formData.affiliate.applicant[idnexVal].applicantAgent, 'nationality', res.data.nationality)
  841. }
  842. })
  843. },
  844. // 新增多个被申请人和代理人
  845. addRespondent(){
  846. this.formData.affiliate.res.push({
  847. res:{
  848. roleType: 1,
  849. name: "",
  850. idCard: "",
  851. code: "",
  852. phone: "",
  853. compLegalPerson: "",
  854. email: "",
  855. home: "",
  856. address: "",
  857. idType: 0,
  858. nationality: 0,
  859. birth: "",
  860. sex: "",
  861. group_order: 1,
  862. operatorFlag:1
  863. },
  864. resAgent:{
  865. roleType: 1,
  866. name: "",
  867. idCard: "",
  868. code: "",
  869. phone: "",
  870. compLegalPerson: "",
  871. email: "",
  872. home: "",
  873. address: "",
  874. idType: 0,
  875. nationality: 0,
  876. birth: "",
  877. sex: "",
  878. group_order: 1,
  879. operatorFlag:1
  880. }
  881. })
  882. },
  883. //删除新增的多个申请代理人
  884. delValue(id){
  885. let index = this.formData.affiliate.applicant.findIndex(v => v.id === id)
  886. this.formData.affiliate.applicant.splice(index, 1)
  887. },
  888. //删除新增多个被申请代理人
  889. delRespondent(id){
  890. let index = this.formData.affiliate.res.findIndex(v => v.id === id)
  891. this.formData.affiliate.res.splice(index, 1)
  892. }
  893. },
  894. onLoad(data) {
  895. this.ids = data.id
  896. if (this.ids) {
  897. this.caseApplicationSelectByIdFn({
  898. id: data.id
  899. })
  900. uni.setNavigationBarTitle({
  901. title: "案件修改"
  902. })
  903. } else {
  904. uni.setNavigationBarTitle({
  905. title: "案件新增"
  906. })
  907. }
  908. if(this.formData.affiliate.nationality == 0){
  909. this.testVerify = true
  910. this.rulesRespondentPhone[0].required = true;
  911. }else if(this.formData.affiliate.idType==1){
  912. this.testVerify = false
  913. this.rulesRespondentPhone[0].required = false;
  914. }
  915. this.getTemplateFn()
  916. this.getUserInfoNumber()
  917. this.getIdType() //获取证件类型
  918. },
  919. onReady() {
  920. this.$refs.form.setRules(this.rules)
  921. }
  922. }
  923. </script>
  924. <style lang="scss">
  925. page {
  926. background-color: #ffffff;
  927. }
  928. .assignrbitrators {
  929. margin: 30rpx;
  930. }
  931. ::v-deep .uni-icons[data-v-a2e81f6e]{
  932. display: none;
  933. }
  934. </style>