workInfo.vue 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453
  1. <template>
  2. <view style="background-color: #fff;" v-if="content != null">
  3. <view
  4. style="height: 90rpx;display: flex;align-items: center;justify-content: space-around;border-bottom: 1px solid #ceccca;background-color: #fff;"
  5. v-if="type == 0">
  6. <!-- <u-tabs :list="list1" :current="current" @click="click"></u-tabs> -->
  7. <view style="font-size: 28rpx;" class="tab" :class="current==0?'active':''" @click="current = 0">
  8. 基本信息
  9. </view>
  10. <view style="border-left: 1px solid #ceccca;height: 80%;">
  11. </view>
  12. <view style="font-size: 28rpx;" class="tab" :class="current==0?'':'active'" @click="current = 1">
  13. 流转记录
  14. </view>
  15. </view>
  16. <swiper style="background-color:#fff ;" :style="{height:type==0?'calc(100vh - 100rpx)':'100vh'}"
  17. :current="current" disable-touch>
  18. <swiper-item>
  19. <view style="height: 100%;overflow: auto;">
  20. <u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm"
  21. :labelStyle="{fontSize:'32rpx'}" labelWidth="130">
  22. <view v-if="fkFlow == '006'">
  23. <u-form-item label="出差处室:" borderBottom ref="item1">
  24. <view class="content">
  25. {{content.outWorkDept}}
  26. </view>
  27. </u-form-item>
  28. <u-form-item label="出差人:" borderBottom ref="item1">
  29. <view class="content">
  30. {{content.userName}}
  31. </view>
  32. </u-form-item>
  33. <u-form-item label="目的地:" borderBottom ref="item1">
  34. <view class="content">
  35. <view>
  36. {{content.provinceType=='0'?'省内':'省外'}}
  37. </view>
  38. <view style="margin-top: 10rpx;">
  39. {{content.destination}}
  40. </view>
  41. </view>
  42. </u-form-item>
  43. <u-form-item label="起止日期:" borderBottom ref="item1">
  44. <view class="content">
  45. {{content.startTime+' 至 '+content.endTime}}
  46. </view>
  47. </u-form-item>
  48. <u-form-item label="出差事由:" borderBottom ref="item1">
  49. <view class="content">
  50. {{content.reason}}
  51. </view>
  52. </u-form-item>
  53. </view>
  54. <view v-if="fkFlow == '007'">
  55. <u-form-item label="申请人:" borderBottom ref="item1">
  56. <view class="content">
  57. {{content.userName}}
  58. </view>
  59. </u-form-item>
  60. <u-form-item label="邀请单位:" borderBottom ref="item1">
  61. <view class="content">
  62. {{content.inviteUnit}}
  63. </view>
  64. </u-form-item>
  65. <u-form-item label="培训名称:" borderBottom ref="item1">
  66. <view class="content">
  67. {{content.trainName}}
  68. </view>
  69. </u-form-item>
  70. <u-form-item label="目的地:" borderBottom ref="item1">
  71. <view class="content">
  72. {{content.destination}}
  73. </view>
  74. </u-form-item>
  75. <u-form-item label="起止日期:" borderBottom ref="item1">
  76. <view class="content">
  77. {{content.startTime+' 至 '+content.endTime}}
  78. </view>
  79. </u-form-item>
  80. <u-form-item label="授课题目:" borderBottom ref="item1">
  81. <view class="content">
  82. {{content.teacherTitle}}
  83. </view>
  84. </u-form-item>
  85. <u-form-item label="参加人数:" borderBottom ref="item1">
  86. <view class="content">
  87. {{content.numberOfParticipants}}
  88. </view>
  89. </u-form-item>
  90. </view>
  91. <view v-if="fkFlow == '021'">
  92. <u-form-item label="姓名:" borderBottom ref="item1">
  93. <view class="content">
  94. {{content.name}}
  95. </view>
  96. </u-form-item>
  97. <u-form-item label="请(休)假类别:" borderBottom ref="item1">
  98. <uni-data-select v-model="content.leaveTpye" :clear="false" placeholder="请选择请(休)假类别"
  99. :localdata="statusList" :disabled="firstNode"></uni-data-select>
  100. </u-form-item>
  101. <u-form-item label="起止日期:" borderBottom prop="leaveStartTime">
  102. <view v-if="!firstNode" @click="qizhishow = true"
  103. :style="{color:content.leaveStartTime==null?'rgb(192, 196, 204)':''}">
  104. {{content.leaveStartTime == null?'请选择起止日期':content.leaveStartTime+' 至 '+content.leaveEndTime}}
  105. </view>
  106. <view v-else :style="{color:content.leaveStartTime==null?'rgb(192, 196, 204)':''}">
  107. <view class="content">
  108. {{content.leaveStartTime+' 至 '+content.leaveEndTime}}
  109. </view>
  110. </view>
  111. </u-form-item>
  112. <u-form-item label="请(休)假天数:" borderBottom ref="item1">
  113. <view class="content">
  114. {{content.leaveNumber}}
  115. </view>
  116. </u-form-item>
  117. <u-form-item label="请(休)假事由:" borderBottom ref="item1">
  118. <u--textarea :disabled="firstNode" v-model="content.leaveReason"
  119. placeholder="请填写请(休)假事由" border="none" height="100"></u--textarea>
  120. </u-form-item>
  121. <u-form-item v-if="type==0&&this.nodeId!='2101'&&this.nodeId!='2105'" label="是否同意:"
  122. borderBottom ref="item1">
  123. <uni-data-select v-model="content.sfty" :clear="false" placeholder="请选择是否同意"
  124. :localdata="sftyList"></uni-data-select>
  125. </u-form-item>
  126. <u-form-item v-if="xiaojia&&this.nodeId=='2105'" label="销假日期:"
  127. @click="typeChange('xiaojia')" borderBottom prop="doneTime">
  128. <view readonly>
  129. {{content.xjDate}}
  130. </view>
  131. </u-form-item>
  132. </view>
  133. <view v-if="fkFlow == '015'">
  134. <u-form-item label="申请人:" borderBottom ref="item1">
  135. <view class="content">
  136. {{content.createBy}}
  137. </view>
  138. </u-form-item>
  139. <u-form-item label="联系电话:" borderBottom ref="item1">
  140. <view class="content">
  141. {{content.phone}}
  142. </view>
  143. </u-form-item>
  144. <u-form-item label="起止日期:" borderBottom ref="item1">
  145. <view class="content">
  146. {{content.startUseTime+' 至 '+content.endUseTime}}
  147. </view>
  148. </u-form-item>
  149. <u-form-item label="用车天数:" borderBottom ref="item1">
  150. <view class="content">
  151. {{content.dayNum}}天
  152. </view>
  153. </u-form-item>
  154. <u-form-item label="乘车人数:" borderBottom ref="item1">
  155. <view class="content">
  156. {{content.carNum}}人
  157. </view>
  158. </u-form-item>
  159. <u-form-item label="目的地:" borderBottom ref="item1">
  160. <view class="content">
  161. {{content.addres}}
  162. </view>
  163. </u-form-item>
  164. <u-form-item label="用途:" borderBottom ref="item1">
  165. <view class="content">
  166. {{content.useMessage}}
  167. </view>
  168. </u-form-item>
  169. </view>
  170. <view v-if="fkFlow == '020'">
  171. <u-form-item label="申请人:" borderBottom ref="item1">
  172. <u--input v-model="content.userName" border="none" readonly></u--input>
  173. </u-form-item>
  174. <u-form-item label="所在处室:" borderBottom prop="deptName" ref="item1">
  175. <u--input v-model="content.deptName" placeholder="" border="none"></u--input>
  176. </u-form-item>
  177. <!-- <u-form-item label="值班日期:" borderBottom prop="srcDate" @click="typeChange('zhiban')">
  178. <view>
  179. {{content.srcDate}}
  180. </view>
  181. </u-form-item> -->
  182. <u-form-item label="调班日期:" prop="targetDate" @click="typeChange('tiaoban')" borderBottom
  183. ref="item1">
  184. <view>
  185. {{content.targetDate}}
  186. </view>
  187. </u-form-item>
  188. <u-form-item label="调班人:" @click='changePeople' borderBottom prop="user" ref="item1">
  189. <view class="">
  190. {{content.adjustUserStatus}}-{{content.adjustUserName}}
  191. </view>
  192. </u-form-item>
  193. <u-form-item label="替换人:" @click='changePeople' borderBottom prop="user" ref="item1">
  194. <view class="">
  195. {{content.replaceDeptName}}-{{content.replaceName}}
  196. </view>
  197. </u-form-item>
  198. </view>
  199. <view v-if="fkFlow == '017'">
  200. <u-form-item label="用章人:" borderBottom ref="item1">
  201. <u--input v-model="content.createBy" border="none" readonly></u--input>
  202. </u-form-item>
  203. <u-form-item label="用章处室:" borderBottom prop="useDept" ref="item1">
  204. <u--input v-model="content.useDept" placeholder="请输入用章处室" border="none"></u--input>
  205. </u-form-item>
  206. <u-form-item label="用章日期:" borderBottom prop="useTime" @click="typeChange('yongzhang')">
  207. <view>
  208. {{content.useTime}}
  209. </view>
  210. </u-form-item>
  211. <u-form-item label="印章类别:" borderBottom prop="signetType">
  212. <uni-data-select v-model="content.signetType" :clear="false" placeholder="请选择印章类别"
  213. :localdata="yongzhangList"></uni-data-select>
  214. </u-form-item>
  215. <u-form-item label="用章事由:" borderBottom prop="usingReason" ref="item1">
  216. <u--textarea disabled type="textarea" v-model="content.usingReason"
  217. placeholder="请输入用章事由" border="none"></u--textarea>
  218. </u-form-item>
  219. <u-form-item label="主送单位:" borderBottom prop="activeSend" ref="item1">
  220. <u--textarea disabled type="textarea" v-model="content.activeSend" placeholder="请输入主送单位"
  221. border="none"></u--textarea>
  222. </u-form-item>
  223. <u-form-item label="盖章份数:" borderBottom prop="signetCopies" ref="item1">
  224. <u--input readonly type="textarea" v-model="content.signetCopies" placeholder="请输入盖章份数"
  225. border="none"></u--input>
  226. </u-form-item>
  227. </view>
  228. <view v-if="fkFlow == '018'">
  229. <u-form-item label="用章人:" borderBottom ref="item1">
  230. <u--input v-model="content.createBy" border="none" readonly></u--input>
  231. </u-form-item>
  232. <u-form-item label="用章处室:" borderBottom prop="useDept" ref="item1">
  233. <u--input readonly v-model="content.useDept" placeholder="请输入用章处室"
  234. border="none"></u--input>
  235. </u-form-item>
  236. <u-form-item label="用章日期:" borderBottom prop="useTime" @click="typeChange('yongzhang')">
  237. <view readonly>
  238. {{content.useTime}}
  239. </view>
  240. </u-form-item>
  241. <u-form-item label="合同名称:" borderBottom prop="usingReason" ref="item1">
  242. <u--textarea type="textarea" v-model="content.usingReason" placeholder="请输入合同名称"
  243. border="none"></u--textarea>
  244. </u-form-item>
  245. <u-form-item label="主送单位:" borderBottom prop="activeSend" ref="item1">
  246. <u--textarea type="textarea" v-model="content.activeSend" placeholder="请输入主送单位"
  247. border="none"></u--textarea>
  248. </u-form-item>
  249. <u-form-item label="盖章份数:" borderBottom prop="signetCopies" ref="item1">
  250. <u--input type="textarea" v-model="content.signetCopies" placeholder="请输入盖章份数"
  251. border="none"></u--input>
  252. </u-form-item>
  253. </view>
  254. <view v-if="fkFlow == '016'">
  255. <u-form-item label="督办事项:" borderBottom prop="title">
  256. <u--input :readonly='isEdit' placeholder='请输入督办事项' v-model="content.title"
  257. border="none"></u--input>
  258. </u-form-item>
  259. <!-- <u-form-item label="处室及负责人:" borderBottom prop="departmentHead">
  260. <u--input readonly v-model="content.departmentHead" border="none"></u--input>
  261. </u-form-item> -->
  262. <!-- <u-form-item label="信息类别:" borderBottom prop="infoType">
  263. <u--textarea :disabled='isEdit' type="textarea" v-model="content.infoType"
  264. placeholder="请输入信息类别" border="none"></u--textarea>
  265. </u-form-item> -->
  266. <u-form-item label="督办来源:" borderBottom prop="infoSource">
  267. <uni-data-select :disabled='isEdit' @change="infoSourceChange"
  268. v-model="content.infoSource" :clear="false" placeholder="请选择督办来源"
  269. :localdata="InfoList"></uni-data-select>
  270. </u-form-item>
  271. <u-form-item label="督办内容:" borderBottom prop="infoSourceContent">
  272. <u--textarea :disabled='isEdit' type="textarea" v-model="content.infoSourceContent"
  273. :placeholder="infoSourceContent" border="none"></u--textarea>
  274. </u-form-item>
  275. <u-form-item label="完成时限:" @click="typeChange('shixian')" borderBottom prop="doneTime">
  276. <view readonly>
  277. {{content.doneTime}}
  278. </view>
  279. <!-- <u--input v-model="content.doneTime" border="none" readonly></u--input> -->
  280. </u-form-item>
  281. <!-- <u-form-item label="完成时限内容:" borderBottom prop="doneContent">
  282. <u--textarea :disabled='isEdit' type="textarea" v-model="content.doneContent"
  283. placeholder="**月**日
  284. ****要求/文件要求/部门确定" border="none"></u--textarea>
  285. </u-form-item>
  286. <u-form-item label="议定事项:" borderBottom prop="itemPostil">
  287. <u--textarea :disabled='isEdit' type="textarea" v-model="content.itemPostil"
  288. placeholder="请输入议定事项" border="none"></u--textarea>
  289. </u-form-item> -->
  290. <u-form-item label="责任处室:" borderBottom prop="prersonLiable">
  291. <u--textarea :disabled='isEdit' style="width: 200rpx;" type="textarea"
  292. v-model="content.prersonLiable" placeholder="请输入责任处室" border="none"></u--textarea>
  293. <u-button :disabled='isEdit' size="small" type="primary" text="选择" @click="handelSelect"
  294. style="margin-top: 40rpx;width: 50rpx;margin-right: 20rpx;"></u-button>
  295. </u-form-item>
  296. </view>
  297. <view v-if="type==0" style="padding-bottom: 40rpx;">
  298. <u-form-item label="下一节点:" borderBottom ref="item1" v-if="overType==false">
  299. <uni-data-select v-model="content.jdindex" :clear="false" placeholder="请选择下一节点"
  300. :localdata="list" @change="change"></uni-data-select>
  301. </u-form-item>
  302. <u-form-item label="下发人员:" borderBottom v-if="DeliveryWay==4" ref="item1"
  303. @click="choosePeo">
  304. <view :style="{color:content.users==null?'rgb(192, 196, 204)':''}">
  305. {{content.users==null?'请选择人员': content.userList}}
  306. </view>
  307. </u-form-item>
  308. <u-form-item label="进展情况:" borderBottom ref="item1" v-if="jinzhan">
  309. <u--textarea v-model="content.progress" placeholder="请输入进展情况"
  310. border="none"></u--textarea>
  311. </u-form-item>
  312. <u-form-item v-if="isEval && liucheng != false" label="进度评价:" borderBottom
  313. prop="progressEva">
  314. <uni-data-select v-model="content.progressEva" :clear="false" placeholder="请选择进度评价"
  315. :localdata="progress_eva"></uni-data-select>
  316. </u-form-item>
  317. <view v-if="!xiaojia&&this.nodeId!='2101'" class="">
  318. <view v-if='!jinzhan' class="">
  319. <u-form-item label="审批意见:" borderBottom ref="item1" v-if="gdType == false">
  320. <u--textarea v-model="content.reviewMsg" placeholder="请输入审批意见" autoHeight
  321. border="none"></u--textarea>
  322. </u-form-item>
  323. </view>
  324. </view>
  325. <view v-if="gdType == true">
  326. <u-form-item label="档案分类:" borderBottom ref="item1" @click="chooseGd">
  327. <view :style="{color:content.typeId==null?'rgb(192, 196, 204)':''}">
  328. {{content.typeId==null?'请选择档案分类': content.gdtype}}
  329. </view>
  330. </u-form-item>
  331. </view>
  332. <view v-if="!xiaojia" class="">
  333. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
  334. v-if="gdType == false">
  335. <u-button type="primary" text="提交" @click="submit"></u-button>
  336. </view>
  337. </view>
  338. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
  339. v-if="gdType == true">
  340. <u-button type="primary" text="归档" @click="save"></u-button>
  341. </view>
  342. <view v-if="!xiaojia&&this.nodeId!='2101'" class="">
  343. <u-button type="error" text="退回" @click="show = true"
  344. style="width: calc(100vw - 40rpx);margin-top: 40rpx;"
  345. v-if="backType == true"></u-button>
  346. </view>
  347. <view v-if="xiaojia" class="">
  348. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;">
  349. <u-button type="primary" text="销假" @click="submit"></u-button>
  350. </view>
  351. </view>
  352. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="showBack">
  353. <u-button type="warning" text="拒绝" @click="turnDown"></u-button>
  354. </view>
  355. </view>
  356. <view style="padding: 20rpx;box-sizing: border-box;" v-else>
  357. <u-steps :current="lzNum-1" direction="column" dot v-if="record != null">
  358. <view v-for="(v,i) in record" :key="i">
  359. <u-steps-item :error="v.ActionType==2?true:false"
  360. :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
  361. <view slot="desc" style="color: #606266">
  362. <view style="font-size: 28rpx;">
  363. 处理人:{{v.EmpFromT}}
  364. </view>
  365. <view style="font-size: 28rpx;">
  366. 到达时间:{{v.SDT}}
  367. </view>
  368. </view>
  369. </u-steps-item>
  370. <view v-else-if="v.ActionType22 != undefined">
  371. <u-steps-item :error="v.ActionType==2?true:false"
  372. v-for="(item,index) in v.ActionType22" :key="index"
  373. :title='item.NDFromT+"("+v.ActionTypeText+")"'>
  374. <view slot="desc" style="color:#606266;">
  375. <view style="font-size: 28rpx;">
  376. 处理部门:{{item.NodeData.split("DeptName=")[1]}}
  377. </view>
  378. <view style="font-size: 28rpx;">
  379. 处理人:{{item.Exer.split(',')[1]}}
  380. </view>
  381. <view style="font-size: 28rpx;">
  382. 处理时间:{{item.RDT}}
  383. </view>
  384. <view style="font-size: 28rpx;">
  385. 审核意见:{{item.Msg}}
  386. </view>
  387. </view>
  388. </u-steps-item>
  389. </view>
  390. <u-steps-item :error="v.ActionType==2?true:false"
  391. :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
  392. <view slot="desc" style="color: #606266">
  393. <view style="font-size: 28rpx;">
  394. 处理部门:{{v.NodeData.split("DeptName=")[1]}}
  395. </view>
  396. <view style="font-size: 28rpx;">
  397. 处理人:{{v.Exer.split(',')[1]}}
  398. </view>
  399. <view style="font-size: 28rpx;">
  400. 处理时间:{{v.RDT}}
  401. </view>
  402. </view>
  403. </u-steps-item>
  404. </view>
  405. </u-steps>
  406. </view>
  407. </u--form>
  408. </view>
  409. </swiper-item>
  410. <swiper-item>
  411. <view
  412. style="padding: 20rpx;box-sizing: border-box;width: 100%;box-sizing: border-box;height: 100%;overflow: auto;">
  413. <u-steps :current="lzNum-1" direction="column" dot v-if="record != null">
  414. <view v-for="(v,i) in record" :key="i">
  415. <u-steps-item :error="v.ActionType==2?true:false"
  416. :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType=='28'">
  417. <view slot="desc" style="color: #606266">
  418. <view style="font-size: 28rpx;">
  419. 处理人:{{v.EmpFromT}}
  420. </view>
  421. <view style="font-size: 28rpx;">
  422. 到达时间:{{v.SDT}}
  423. </view>
  424. </view>
  425. </u-steps-item>
  426. <view v-else-if="v.ActionType22 != undefined">
  427. <u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22"
  428. :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
  429. <view slot="desc" style="color:#606266;">
  430. <view style="font-size: 28rpx;">
  431. 处理部门:{{item.NodeData.split("DeptName=")[1]}}
  432. </view>
  433. <view style="font-size: 28rpx;">
  434. 处理人:{{item.Exer.split(',')[1]}}
  435. </view>
  436. <view style="font-size: 28rpx;">
  437. 处理时间:{{item.RDT}}
  438. </view>
  439. <view v-if="item.NDFromT!='请假提交'" style="font-size: 28rpx;">
  440. 审核意见:{{item.Msg}}
  441. </view>
  442. </view>
  443. </u-steps-item>
  444. </view>
  445. <u-steps-item :error="v.ActionType==2?true:false"
  446. :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
  447. <view slot="desc" style="color: #606266">
  448. <view style="font-size: 28rpx;">
  449. 处理部门:{{v.NodeData.split("DeptName=")[1]}}
  450. </view>
  451. <view style="font-size: 28rpx;">
  452. 处理人:{{v.Exer.split(',')[1]}}
  453. </view>
  454. <view style="font-size: 28rpx;">
  455. 处理时间:{{v.RDT}}
  456. </view>
  457. <view v-if="v.ActionTypeText=='退回'" style="font-size: 28rpx;">
  458. 审核意见:{{v.Msg}}
  459. </view>
  460. </view>
  461. </u-steps-item>
  462. </view>
  463. </u-steps>
  464. </view>
  465. </swiper-item>
  466. </swiper>
  467. <u-modal :show="show" title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close"
  468. @confirm="back">
  469. <view class="slot-content" style="width: 100%;">
  470. <u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
  471. :labelStyle="{fontSize:'32rpx'}" labelWidth="100">
  472. <u-form-item label="退回节点:" borderBottom ref="item1">
  473. <uni-data-select v-model="content.returnToNodeID" placeholder="请选择节点" :clear="false"
  474. :localdata="backlist"></uni-data-select>
  475. </u-form-item>
  476. <u-form-item label="退回意见:" borderBottom ref="item1">
  477. <u--textarea v-model="content.backMsg" placeholder="请输入退回意见" autoHeight
  478. border="none"></u--textarea>
  479. </u-form-item>
  480. </u--form>
  481. </view>
  482. </u-modal>
  483. <u-modal :show="show1" title="拒绝" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close"
  484. @confirm="submitNodeTurn">
  485. <view class="slot-content" style="width: 100%;">
  486. <u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
  487. :labelStyle="{fontSize:'32rpx'}" labelWidth="100">
  488. <u-form-item label="拒绝原因:" borderBottom ref="item1">
  489. <u--textarea v-model="content.msg" placeholder="请输入拒绝原因" autoHeight border="none"></u--textarea>
  490. </u-form-item>
  491. </u--form>
  492. </view>
  493. </u-modal>
  494. <u-calendar :show="qizhishow" mode="range" allowSameDay @confirm="confirm"
  495. @close="qizhishow = false"></u-calendar>
  496. <u-calendar placeholder="请选择日期" :show="showDate" mode="single" allowSameDay @confirm="confirmOne"
  497. @close="showDate = false"></u-calendar>
  498. </view>
  499. </template>
  500. <script>
  501. import {
  502. parseBigInt
  503. } from 'jsencrypt/lib/lib/jsbn/jsbn'
  504. // import uButton from "../../uni_modules/uview-ui/components/u-button/u-button.vue"
  505. export default {
  506. data() {
  507. return {
  508. firstNode: true,
  509. qizhishow: false,
  510. showDate: false,
  511. InfoList: [],
  512. infoSourceContent: '',
  513. liucheng: true,
  514. isEdit: true,
  515. isEval: false,
  516. db_template: [],
  517. progress_eva: [],
  518. current: 0,
  519. showBack: false,
  520. content: {
  521. sfty: ''
  522. },
  523. statusList: [],
  524. sftyList: [],
  525. //流转记录
  526. record: null,
  527. //待办已办
  528. type: 0,
  529. //节点列表
  530. list: [],
  531. //是否选择下发人员
  532. selectType: 3,
  533. workid: null,
  534. flowNo: null,
  535. id: null,
  536. //tabs
  537. list1: [{
  538. name: '待办内容'
  539. },
  540. {
  541. name: '流转记录'
  542. }
  543. ],
  544. DeliveryWay: null, //判断是否需要审核意见
  545. gd: null, //密级列表
  546. gdType: false, //判断是否是归档
  547. overType: false, //判断是否结束
  548. //上个页面传过来的参数
  549. parameter: null,
  550. fkFlow: null, // 006 中层出差 007 外出授课备案
  551. //退回状态
  552. backType: false,
  553. //退回节点列表
  554. backlist: [],
  555. show: false,
  556. show1: false,
  557. jinzhan: false,
  558. lzNum: 0,
  559. nodeId: null,
  560. YorN: '1',
  561. xiaojia: false,
  562. typeDate: null
  563. }
  564. },
  565. onLoad(options) {
  566. let that = this
  567. that.parameter = options
  568. that.fkFlow = options.fkFlow
  569. this.getDictsYongzhang()
  570. that.getContent(options.workid)
  571. that.getDicts()
  572. that.getRecord(options.workid)
  573. if (options.nodeId == '2105') {
  574. this.xiaojia = true
  575. }
  576. if (options.nodeId == '2101') {
  577. this.firstNode = false
  578. }
  579. if (options.nodeName.indexOf('归档') != -1 || options.nodeName.indexOf('存档') != -1) {
  580. that.gdType = true
  581. }
  582. that.type = options.type
  583. that.nodeId = options.nodeId
  584. if (options.fkFlow == '020') {
  585. this.showBack = true
  586. that.nodeId = options.nodeId
  587. if (options.nodeId == '2001' || options.nodeId == '2004') {
  588. this.showBack = false
  589. }
  590. }
  591. if (options.nodeId == '1605') {
  592. this.jinzhan = true
  593. setTimeout(() => {
  594. this.content.reviewMsg = '同意'
  595. }, 500)
  596. }
  597. if (options.nodeId == "1606") {
  598. this.isEval = true;
  599. this.getJindu()
  600. }
  601. that.workid = options.workid
  602. that.flowNo = options.flowNo
  603. if (options.fkFlow == '016') {
  604. this.getDictsInfo()
  605. uni.setNavigationBarTitle({
  606. title: '督办事项'
  607. })
  608. uni.$u.http.get('/jflow/restful/getSelfParas', {
  609. params: {
  610. workid: options.workid
  611. }
  612. }).then((res) => {
  613. console.log('res', res)
  614. if (res.data.SelfParas == 'isEdit') {
  615. this.isEdit = false
  616. }
  617. })
  618. } else {
  619. uni.setNavigationBarTitle({
  620. title: options.title
  621. })
  622. }
  623. // if (options.type == 0) {
  624. // // that.jdList(options.workid, options.flowNo)
  625. // setTimeout(() => {
  626. // this.isOver(options)
  627. // }, 500)
  628. // // this.getjsPeo(options.workid, options.flowNo)
  629. // }
  630. },
  631. onShow() {
  632. uni.$once('query', (query) => {
  633. if (query.a == 1) {
  634. this.content.users = getApp().globalData.peoIdList
  635. this.content.userList = getApp().globalData.peoList
  636. this.$forceUpdate()
  637. } else if (query.a == 2) {
  638. this.content.typeId = getApp().globalData.gdId.split(",")[0]
  639. this.content.gdtype = getApp().globalData.gdId.split(",")[1]
  640. this.$forceUpdate()
  641. } else if (query.a == 'two') {
  642. // this.content.prersonLiable = getApp().globalData.zerenList
  643. if (this.content.prersonLiable != null) {
  644. let arrPeo = this.content.prersonLiable.split(",");
  645. console.log("aeepro", arrPeo);
  646. let arr = getApp().globalData.zerenList.split(',')
  647. console.log('arr', arr)
  648. arr = arr.concat(this.content.prersonLiable)
  649. console.log('11111', arr)
  650. this.content.prersonLiable = arr.join(" , ");
  651. } else {
  652. this.content.prersonLiable = getApp().globalData.zerenList
  653. }
  654. }
  655. })
  656. },
  657. methods: {
  658. infoSourceChange(val) {
  659. console.log("db_template", this.db_template);
  660. console.log('val', val);
  661. this.infoSourceContent = this.db_template[val - 1].text;
  662. },
  663. handelSelect() {
  664. uni.navigateTo({
  665. url: `/pages/zerenchushi/zerenchushi`
  666. })
  667. },
  668. confirmOne(e) {
  669. console.log('74', e)
  670. if (this.typeDate == 'xiaojia') {
  671. this.content.xjDate = e[0]
  672. } else {
  673. this.content.doneTime = e[0]
  674. }
  675. this.showDate = false
  676. },
  677. typeChange(e) {
  678. this.showDate = true
  679. this.typeDate = e
  680. },
  681. // 信息来源
  682. getDictsInfo() {
  683. uni.$u.http.get('/system/dict/data/type/info_source').then(res => {
  684. this.InfoList = res.data.map((item, index) => {
  685. let obj = {
  686. value: item.dictValue,
  687. id: item.dictValue,
  688. text: item.dictLabel
  689. }
  690. return obj
  691. })
  692. })
  693. uni.$u.http.get('/system/dict/data/type/db_template').then(res => {
  694. this.db_template = res.data.map((item, index) => {
  695. let obj = {
  696. value: item.dictValue,
  697. id: item.dictValue,
  698. text: item.dictLabel
  699. }
  700. return obj
  701. })
  702. })
  703. },
  704. getJindu() {
  705. uni.$u.http.get('/system/dict/data/type/progress_eva').then(res => {
  706. this.progress_eva = res.data.map((item, index) => {
  707. let obj = {
  708. value: item.dictValue,
  709. id: item.dictValue,
  710. text: item.dictLabel
  711. }
  712. return obj
  713. })
  714. })
  715. },
  716. submitNodeTurn() {
  717. if (this.content.msg != '' && this.content.msg != null && this.content.msg != undefined) {
  718. this.YorN = "2";
  719. this.content.toNodeId = '2004'
  720. this.content.reviewMsg = this.content.msg
  721. console.log('this.content', this.content)
  722. console.log('nodeId', this.nodeId)
  723. uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
  724. header: {
  725. // 'content-Type: 'multipart/form-data'
  726. 'content-Type': 'application/x-www-form-urlencoded'
  727. }
  728. }).then(res => {
  729. console.log('11111', res)
  730. // uni.hideLoading()
  731. if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
  732. uni.showToast({
  733. title: "已发送到" + res.data.VarToNodeName + "节点,接收人:" + res
  734. .data.VarAcceptersName,
  735. icon: "none",
  736. mask: true,
  737. duration: 3000
  738. })
  739. } else if (res.data.VarAcceptersName == "结束") {
  740. uni.showToast({
  741. title: res.data.Message,
  742. icon: "none",
  743. mask: true,
  744. duration: 3000
  745. })
  746. } else {
  747. uni.showToast({
  748. title: res.data.Message.replace(/[@]/g, ""),
  749. icon: "none",
  750. mask: true,
  751. duration: 3000
  752. })
  753. }
  754. uni.$u.http.post("duty/dutyAdjust/updateYwDutyAdjustAudit", {
  755. workId: this.workid,
  756. status: this.YorN,
  757. msg: this.content.reviewMsg,
  758. }, {
  759. header: {
  760. // 'content-Type: 'multipart/form-data'
  761. 'content-Type': 'application/x-www-form-urlencoded'
  762. }
  763. })
  764. if (this.YorN == 1) {
  765. uni.$u.http.post('/duty/dutyAdjust/execAdjustDuty', {
  766. workId: this.workid,
  767. }, {
  768. header: {
  769. // 'content-Type: 'multipart/form-data'
  770. 'content-Type': 'application/x-www-form-urlencoded'
  771. }
  772. })
  773. }
  774. uni.$emit('query', {
  775. a: 'back'
  776. })
  777. setTimeout(() => {
  778. uni.navigateBack()
  779. }, 2000)
  780. }).catch(res => {
  781. console.log('555', res)
  782. uni.hideLoading()
  783. uni.showToast({
  784. title: "请稍后重试",
  785. icon: "none"
  786. })
  787. })
  788. } else {
  789. uni.showToast({
  790. title: "请输入拒绝原因",
  791. icon: "none"
  792. })
  793. }
  794. },
  795. // 拒绝
  796. turnDown() {
  797. this.show1 = true
  798. },
  799. click(e) {
  800. this.current = e.index
  801. },
  802. //查询收文详情
  803. getContent(id) {
  804. console.log(id)
  805. if (this.fkFlow == '006') {
  806. uni.$u.http.get('/system/work/sel/' + id).then(res => {
  807. // console.log(res)
  808. this.content = res.data
  809. this.content.workid = this.workid
  810. if (this.gdType == true) {
  811. this.content.typeId = null //归档分类
  812. this.content.archiveNo = null //档案编号
  813. this.content.archiveFormNo = null
  814. this.content.printNum = null //打印份数
  815. this.content.name = res.data.title //档案名称
  816. this.content.gdtype = null //分类名称
  817. }
  818. if (this.type == 0) {
  819. this.isOver(this.parameter)
  820. this.getBackNo(this.parameter.nodeId)
  821. }
  822. })
  823. } else if (this.fkFlow == '007') {
  824. uni.$u.http.get('/system/registration/sel/' + id).then(res => {
  825. // console.log(res)
  826. this.content = res.data
  827. this.content.workid = this.workid
  828. if (this.gdType == true) {
  829. this.content.typeId = null //归档分类
  830. this.content.archiveNo = null //档案编号
  831. this.content.archiveFormNo = null
  832. this.content.printNum = null //打印份数
  833. this.content.name = res.data.title //档案名称
  834. this.content.gdtype = null //分类名称
  835. }
  836. if (this.type == 0) {
  837. this.isOver(this.parameter)
  838. this.getBackNo(this.parameter.nodeId)
  839. }
  840. })
  841. } else if (this.fkFlow == '021') {
  842. uni.$u.http.get('/dzoa/leave/sel/' + id).then(res => {
  843. console.log('44', id)
  844. this.content = res.data
  845. this.content.workid = this.workid
  846. if (this.gdType == true) {
  847. this.content.typeId = null //归档分类
  848. this.content.archiveNo = null //档案编号
  849. this.content.archiveFormNo = null
  850. this.content.printNum = null //打印份数
  851. this.content.name = res.data.title //档案名称
  852. this.content.gdtype = null //分类名称
  853. }
  854. console.log('content', this.content)
  855. this.content.sfty = 'Y'
  856. if (this.type == 0) {
  857. this.isOver(this.parameter)
  858. this.getBackNo(this.parameter.nodeId)
  859. }
  860. })
  861. } else if (this.fkFlow == '015') {
  862. uni.$u.http.get('/offcial/car/sel/' + id).then(res => {
  863. this.content = res.data
  864. this.content.workid = this.workid
  865. if (this.gdType == true) {
  866. this.content.typeId = null //归档分类
  867. this.content.archiveNo = null //档案编号
  868. this.content.archiveFormNo = null
  869. this.content.printNum = null //打印份数
  870. this.content.name = res.data.title //档案名称
  871. this.content.gdtype = null //分类名称
  872. }
  873. if (this.type == 0) {
  874. this.isOver(this.parameter)
  875. this.getBackNo(this.parameter.nodeId)
  876. }
  877. })
  878. } else if (this.fkFlow == '020') {
  879. uni.$u.http.post('/duty/dutyAdjust/getLastDutyAdjustByUserId/app/' + id).then(res => {
  880. this.content = res.data
  881. this.content.workid = this.workid
  882. if (this.gdType == true) {
  883. this.content.typeId = null //归档分类
  884. this.content.archiveNo = null //档案编号
  885. this.content.archiveFormNo = null
  886. this.content.printNum = null //打印份数
  887. this.content.name = res.data.title //档案名称
  888. this.content.gdtype = null //分类名称
  889. }
  890. console.log('type', this.type)
  891. if (this.type == 0) {
  892. this.isOver(this.parameter)
  893. this.getBackNo(this.parameter.nodeId)
  894. }
  895. })
  896. } else if (this.fkFlow == '017' || this.fkFlow == '018') {
  897. uni.$u.http.get('/offcial/seal/sel/' + id).then(res => {
  898. this.content = res.data
  899. this.content.workid = this.workid
  900. if (this.gdType == true) {
  901. this.content.typeId = null //归档分类
  902. this.content.archiveNo = null //档案编号
  903. this.content.archiveFormNo = null
  904. this.content.printNum = null //打印份数
  905. this.content.name = res.data.title //档案名称
  906. this.content.gdtype = null //分类名称
  907. }
  908. console.log('type', this.type)
  909. if (this.type == 0) {
  910. this.isOver(this.parameter)
  911. this.getBackNo(this.parameter.nodeId)
  912. }
  913. })
  914. } else if (this.fkFlow == '016') {
  915. // console.log('id', id)
  916. uni.$u.http.get('/offcial/supervision/sel/' + id).then(res => {
  917. // console.log(res)
  918. this.content = res.data
  919. this.content.workid = this.workid
  920. if (this.gdType == true) {
  921. this.content.typeId = null //归档分类
  922. this.content.archiveNo = null //档案编号
  923. this.content.archiveFormNo = null
  924. this.content.printNum = null //打印份数
  925. this.content.name = res.data.title //档案名称
  926. this.content.gdtype = null //分类名称
  927. }
  928. if (this.type == 0) {
  929. this.isOver(this.parameter)
  930. this.getBackNo(this.parameter.nodeId)
  931. }
  932. })
  933. }
  934. },
  935. // 查询请假类型是否字典
  936. getDicts() {
  937. let that = this
  938. uni.$u.http.get('/system/dict/data/type/leave_type').then(res => {
  939. that.statusList = res.data.map((item, index) => {
  940. let obj = {
  941. value: item.dictValue,
  942. id: item.dictValue,
  943. text: item.dictLabel
  944. }
  945. return obj
  946. })
  947. })
  948. uni.$u.http.get('/system/dict/data/type/sys_yes_no').then(res => {
  949. that.sftyList = res.data.map((item, index) => {
  950. let obj = {
  951. value: item.dictValue,
  952. id: item.dictValue,
  953. text: item.dictLabel
  954. }
  955. return obj
  956. })
  957. console.log('sftyList', that.sftyList)
  958. console.log(that.content.sfty)
  959. })
  960. },
  961. // 印章类型
  962. getDictsYongzhang() {
  963. uni.$u.http.get('/system/dict/data/type/signet_type').then(res => {
  964. this.yongzhangList = res.data.map((item, index) => {
  965. let obj = {
  966. value: item.dictValue,
  967. id: item.dictValue,
  968. text: item.dictLabel
  969. }
  970. return obj
  971. })
  972. })
  973. },
  974. //保存归档
  975. save() {
  976. if (this.content.typeId == null) {
  977. uni.showToast({
  978. title: "请选择归档分类",
  979. icon: "none"
  980. })
  981. } else {
  982. this.content.reviewMsg = "同意"
  983. uni.showLoading({
  984. title: "提交中...",
  985. mask: true
  986. })
  987. this.content.archiveFormNo = this.fkFlow
  988. uni.$u.http.post("/offcial/archive/save", this.content).then(res => {
  989. uni.$u.http.get('/jflow/restful/GenerNextStepAllNode', {
  990. params: {
  991. workid: this.parameter.workid,
  992. token: uni.getStorageSync('jtoken'),
  993. flowNo: this.parameter.flowNo,
  994. }
  995. }).then(qwe => {
  996. uni.hideLoading()
  997. uni.showToast({
  998. title: "归档成功",
  999. icon: "none",
  1000. mask: true,
  1001. duration: 2000
  1002. })
  1003. // console.log('nodeId', this.nodeId)
  1004. // if (this.nodeId == '2004') {
  1005. // console.log('2222')
  1006. // uni.$u.http.post("duty/dutyAdjust/updateYwDutyAdjustAudit", {
  1007. // workId: this.workid,
  1008. // status: this.YorN,
  1009. // msg: this.content.reviewMsg,
  1010. // }, {
  1011. // header: {
  1012. // // 'content-Type: 'multipart/form-data'
  1013. // 'content-Type': 'application/x-www-form-urlencoded'
  1014. // }
  1015. // })
  1016. // if (this.YorN == 1) {
  1017. // uni.$u.http.post('/duty/dutyAdjust/execAdjustDuty', {
  1018. // workId: this.workid,
  1019. // }, {
  1020. // header: {
  1021. // // 'content-Type: 'multipart/form-data'
  1022. // 'content-Type': 'application/x-www-form-urlencoded'
  1023. // }
  1024. // }).then((res)=>{
  1025. // console.log('AAAAAAAAAAAAAAAAAAAAAAAAAAA')
  1026. // })
  1027. // }
  1028. // }
  1029. uni.$emit('query', {
  1030. a: 'back'
  1031. })
  1032. setTimeout(() => {
  1033. uni.navigateBack()
  1034. }, 3000)
  1035. })
  1036. }).catch(res => {
  1037. uni.hideLoading()
  1038. uni.showToast({
  1039. title: "请稍后重试",
  1040. icon: "none"
  1041. })
  1042. })
  1043. }
  1044. },
  1045. //查询流转记录
  1046. getRecord(id) {
  1047. uni.$u.http.get('/jflow/restful/getWfGenerWorkList', {
  1048. params: {
  1049. workID: id,
  1050. token: uni.getStorageSync('jtoken')
  1051. }
  1052. }).then(res => {
  1053. // console.log(res)
  1054. this.record = res.trackList
  1055. for (let i in res.trackList) {
  1056. if (res.trackList[i].ActionType !== '28') {
  1057. if (res.trackList[i].ActionType22 != undefined) {
  1058. this.lzNum = this.lzNum + res.trackList[i].ActionType22.length
  1059. } else {
  1060. this.lzNum = this.lzNum + 1
  1061. }
  1062. }
  1063. }
  1064. if (this.type == 0) {
  1065. // this.content.jdindex = null //下一节点索引
  1066. // this.content.nodeId = null //下一节点ID
  1067. // this.content.optionName = null //节点名称
  1068. this.content.reviewMsg = null //审批意见
  1069. this.content.users = null //发送给指定人员
  1070. // this.content.toNodeId = null
  1071. this.content.userList = null //人员列表
  1072. }
  1073. })
  1074. },
  1075. //查询下一步所有节点
  1076. jdList(id, flow) {
  1077. uni.$u.http.get('/jflow/restful/GenerNextStepNode', {
  1078. params: {
  1079. workid: id,
  1080. token: uni.getStorageSync('jtoken'),
  1081. flowNo: flow
  1082. }
  1083. }).then(res => {
  1084. this.id = res[0].NodeID
  1085. this.content.jdindex = 0 //下一节点索引
  1086. this.DeliveryWay = res[0].DeliveryWay //下一节点状态
  1087. this.content.toNodeId = res[0].NodeID //下一节点ID
  1088. this.content.nodeId = res[0].NodeID //下一节点ID
  1089. this.content.optionName = res[0].Name //节点名称
  1090. this.list = res.map((item, index) => {
  1091. let obj = {
  1092. value: index,
  1093. id: item.NodeID,
  1094. text: item.Name,
  1095. DeliveryWay: item.DeliveryWay
  1096. }
  1097. return obj
  1098. })
  1099. })
  1100. },
  1101. //节点选择
  1102. change(e) {
  1103. if (e >= 0) {
  1104. this.id = this.list[e].id
  1105. this.DeliveryWay = this.list[e].DeliveryWay
  1106. this.content.toNodeId = this.list[e].id
  1107. this.content.nodeId = this.list[e].id
  1108. this.content.optionName = this.list[e].text
  1109. }
  1110. },
  1111. //选择人员相关
  1112. choosePeo() {
  1113. if (this.id == null) {
  1114. uni.showToast({
  1115. title: "请先选择下一节点",
  1116. icon: "none"
  1117. })
  1118. } else {
  1119. uni.navigateTo({
  1120. url: `/pages/peoChoose/peoChoose?workid=${this.workid}&flowNo=${this.flowNo}&id=${this.id}`,
  1121. })
  1122. }
  1123. },
  1124. //选择归档分类
  1125. chooseGd() {
  1126. uni.navigateTo({
  1127. url: "/pages/file/file"
  1128. })
  1129. },
  1130. //判断是否为最后一步
  1131. isOver(v) {
  1132. uni.$u.http.get("/jflow/restful/judgeNode", {
  1133. params: {
  1134. nodeId: v.nodeId
  1135. }
  1136. }).then(res => {
  1137. if (res.msg == "Y") {
  1138. this.overType = true
  1139. } else {
  1140. console.log('111111111111111')
  1141. this.overType = false
  1142. this.jdList(v.workid, v.flowNo)
  1143. }
  1144. })
  1145. },
  1146. //提交待办
  1147. submit() {
  1148. // console.log(this.nodeId)
  1149. if (this.overType == false && this.id == null) {
  1150. uni.showToast({
  1151. title: "请先选择下一节点",
  1152. icon: "none"
  1153. })
  1154. } else if (this.nodeId != '1605') {
  1155. if (this.content.reviewMsg == null && this.content.msg == null) {
  1156. uni.showToast({
  1157. title: "请填写审核意见",
  1158. icon: "none"
  1159. })
  1160. }
  1161. console.log('1111111111111111111')
  1162. this.YorN = "1";
  1163. uni.showLoading({
  1164. title: "提交中...",
  1165. mask: true
  1166. })
  1167. if (this.fkFlow == '021') {
  1168. if (this.nodeId == '2105') {
  1169. if (this.content.xjDate == '' || this.content.xjDate == undefined || this.content.xjDate ==
  1170. null) {
  1171. uni.showToast({
  1172. title: "请选择销假日期",
  1173. icon: "none"
  1174. })
  1175. return
  1176. }
  1177. }
  1178. uni.$u.http.post("/dzoa/leave/sendNextSteep", this.content, {
  1179. header: {
  1180. // 'content-Type: 'multipart/form-data'
  1181. 'content-Type': 'application/x-www-form-urlencoded'
  1182. }
  1183. }).then(res => {
  1184. // console.log(res)
  1185. // uni.hideLoading()
  1186. if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
  1187. uni.showToast({
  1188. title: "已发送到" + res.data.VarToNodeName + "节点,接收人:" + res
  1189. .data.VarAcceptersName,
  1190. icon: "none",
  1191. mask: true,
  1192. duration: 3000
  1193. })
  1194. } else if (res.data.VarAcceptersName == "结束") {
  1195. uni.showToast({
  1196. title: res.data.Message,
  1197. icon: "none",
  1198. mask: true,
  1199. duration: 3000
  1200. })
  1201. } else {
  1202. uni.showToast({
  1203. title: res.data.Message.replace(/[@]/g, ""),
  1204. icon: "none",
  1205. mask: true,
  1206. duration: 3000
  1207. })
  1208. }
  1209. console.log('nodeId', this.nodeId)
  1210. if (this.content.nodeId == '2004') {
  1211. console.log('2222')
  1212. uni.$u.http.post("duty/dutyAdjust/updateYwDutyAdjustAudit", {
  1213. workId: this.workid,
  1214. status: this.YorN,
  1215. msg: this.content.reviewMsg,
  1216. }, {
  1217. header: {
  1218. // 'content-Type: 'multipart/form-data'
  1219. 'content-Type': 'application/x-www-form-urlencoded'
  1220. }
  1221. })
  1222. if (this.YorN == 1) {
  1223. uni.$u.http.post('/duty/dutyAdjust/execAdjustDuty', {
  1224. workId: this.workid,
  1225. }, {
  1226. header: {
  1227. // 'content-Type: 'multipart/form-data'
  1228. 'content-Type': 'application/x-www-form-urlencoded'
  1229. }
  1230. })
  1231. }
  1232. }
  1233. uni.$emit('query', {
  1234. a: 'back'
  1235. })
  1236. setTimeout(() => {
  1237. uni.navigateBack()
  1238. }, 2000)
  1239. }).catch(res => {
  1240. console.log('’,', res)
  1241. uni.hideLoading()
  1242. uni.showToast({
  1243. title: res.msg,
  1244. icon: "none"
  1245. })
  1246. })
  1247. } else {
  1248. uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
  1249. header: {
  1250. // 'content-Type: 'multipart/form-data'
  1251. 'content-Type': 'application/x-www-form-urlencoded'
  1252. }
  1253. }).then(res => {
  1254. console.log('11111', res)
  1255. // uni.hideLoading()
  1256. if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
  1257. uni.showToast({
  1258. title: "已发送到" + res.data.VarToNodeName + "节点,接收人:" + res
  1259. .data.VarAcceptersName,
  1260. icon: "none",
  1261. mask: true,
  1262. duration: 3000
  1263. })
  1264. } else if (res.data.VarAcceptersName == "结束") {
  1265. uni.showToast({
  1266. title: res.data.Message,
  1267. icon: "none",
  1268. mask: true,
  1269. duration: 3000
  1270. })
  1271. } else {
  1272. uni.showToast({
  1273. title: res.data.Message.replace(/[@]/g, ""),
  1274. icon: "none",
  1275. mask: true,
  1276. duration: 3000
  1277. })
  1278. }
  1279. console.log('nodeId', this.nodeId)
  1280. if (this.content.nodeId == '2004') {
  1281. console.log('2222')
  1282. uni.$u.http.post("duty/dutyAdjust/updateYwDutyAdjustAudit", {
  1283. workId: this.workid,
  1284. status: this.YorN,
  1285. msg: this.content.reviewMsg,
  1286. }, {
  1287. header: {
  1288. // 'content-Type: 'multipart/form-data'
  1289. 'content-Type': 'application/x-www-form-urlencoded'
  1290. }
  1291. })
  1292. if (this.YorN == 1) {
  1293. uni.$u.http.post('/duty/dutyAdjust/execAdjustDuty', {
  1294. workId: this.workid,
  1295. }, {
  1296. header: {
  1297. // 'content-Type: 'multipart/form-data'
  1298. 'content-Type': 'application/x-www-form-urlencoded'
  1299. }
  1300. })
  1301. }
  1302. }
  1303. uni.$emit('query', {
  1304. a: 'back'
  1305. })
  1306. setTimeout(() => {
  1307. uni.navigateBack()
  1308. }, 2000)
  1309. }).catch(res => {
  1310. console.log('555', res)
  1311. uni.hideLoading()
  1312. uni.showToast({
  1313. title: "请稍后重试",
  1314. icon: "none"
  1315. })
  1316. })
  1317. }
  1318. }
  1319. },
  1320. //查询是否能退回
  1321. getBackNo(id) {
  1322. uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID=" + id).then(res => {
  1323. // console.log(res)
  1324. if (res[0].ReturnRole != 0) {
  1325. this.getBackList()
  1326. this.backType = true
  1327. this.content.returnToNodeID = null
  1328. this.content.backMsg = null
  1329. }
  1330. })
  1331. },
  1332. //获取退回节点列表
  1333. getBackList() {
  1334. uni.$u.http.get("/jflow/restful/getReturnWorkNode", {
  1335. params: {
  1336. workid: this.parameter.workid,
  1337. token: uni.getStorageSync('jtoken')
  1338. }
  1339. }).then(res => {
  1340. this.backlist = res.map((item, index) => {
  1341. let obj = {
  1342. value: item.No,
  1343. id: item.No,
  1344. text: item.Name,
  1345. }
  1346. return obj
  1347. })
  1348. })
  1349. },
  1350. //退回上一节点
  1351. back() {
  1352. if (this.content.returnToNodeID == null) {
  1353. uni.showToast({
  1354. title: "请选择退回节点",
  1355. icon: "none"
  1356. })
  1357. } else if (this.content.backMsg == null) {
  1358. uni.showToast({
  1359. title: "请填写退回意见",
  1360. icon: "none"
  1361. })
  1362. } else {
  1363. uni.showLoading({
  1364. title: "退回中...",
  1365. })
  1366. uni.$u.http.get("/offcial/receive/NodeReturnWork", {
  1367. params: {
  1368. workid: this.parameter.workid,
  1369. returnToNodeID: this.content.returnToNodeID,
  1370. returnMsg: this.content.backMsg
  1371. }
  1372. }).then(res => {
  1373. uni.hideLoading()
  1374. this.close()
  1375. uni.showToast({
  1376. title: res,
  1377. icon: "none",
  1378. duration: 2000
  1379. })
  1380. uni.$emit('query', {
  1381. a: 'back'
  1382. })
  1383. setTimeout(() => {
  1384. uni.navigateBack()
  1385. }, 2000)
  1386. }).catch(error => {
  1387. uni.hideLoading()
  1388. uni.showToast({
  1389. title: "请稍后重试",
  1390. icon: "none"
  1391. })
  1392. })
  1393. }
  1394. },
  1395. //关闭模态框
  1396. close() {
  1397. this.content.returnToNodeID = null
  1398. this.content.backMsg = null
  1399. this.content.msg = null
  1400. this.content.reviewMsg = null
  1401. this.show1 = false
  1402. this.show = false
  1403. }
  1404. }
  1405. }
  1406. </script>
  1407. <style lang="scss" scoped>
  1408. .content {
  1409. font-size: 32rpx;
  1410. }
  1411. .tab {
  1412. width: 48%;
  1413. height: 100%;
  1414. box-sizing: border-box;
  1415. display: flex;
  1416. align-items: center;
  1417. justify-content: center;
  1418. }
  1419. .active {
  1420. color: #2979ff
  1421. }
  1422. </style>