vue2-client 1.15.51 → 1.15.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.apply +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.liuli +20 -20
  6. package/.env.scada +19 -19
  7. package/.eslintrc.js +90 -90
  8. package/CHANGELOG.md +824 -824
  9. package/Components.md +60 -60
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/index.js +31 -31
  14. package/jest-transform-stub.js +8 -8
  15. package/jest.setup.js +7 -7
  16. package/jsconfig.json +19 -19
  17. package/package.json +1 -1
  18. package/public/his/editor/editor.html +51 -51
  19. package/public/his/editor/mock/bind_data.html +779 -779
  20. package/public/his/editor/mock/data_table.html +40 -40
  21. package/public/his/editor/mock/sign.html +75 -75
  22. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  23. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  24. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  25. package/public/his/editor/vender/date97/calendar.js +4 -4
  26. package/public/his/editor/vender/date97/lang/en.js +13 -13
  27. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  29. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  30. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  31. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  32. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  33. package/public/his/editor/vender/diff.js +1627 -1627
  34. package/public/his/editor/vender/editor.js +1 -1
  35. package/public/his/editor/vender/fabric.js +31187 -31187
  36. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  37. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  38. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  39. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  40. package/public/his/editor/vender/mui/mui.min.css +4 -4
  41. package/public/his/editor/vender/mui/mui.min.js +5 -5
  42. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  43. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  44. package/public/his/editor/vender/qrcode.js +7 -7
  45. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  46. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  47. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  48. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  49. package/public/his/editor/vender/validator.js +5094 -5094
  50. package/public/his/editor/vender/weui/weui.css +5659 -5659
  51. package/public/his/editor/vender/weui/weui.min.css +4 -4
  52. package/public/his/editor/vender/weui/weui.min.js +11 -11
  53. package/public/index.html +27 -27
  54. package/src/assets/img/querySlotDemo.svg +15 -15
  55. package/src/assets/svg/badtwo.svg +1 -1
  56. package/src/assets/svg/goodtwo.svg +1 -1
  57. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  58. package/src/base-client/components/AI/demo.vue +31 -31
  59. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  60. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  61. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  62. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  63. package/src/base-client/components/common/CitySelect/index.js +3 -3
  64. package/src/base-client/components/common/CitySelect/index.md +109 -109
  65. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  66. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  67. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  68. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  69. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  70. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  71. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  72. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  73. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  74. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  75. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  76. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  77. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  78. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  79. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  80. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  81. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  85. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  86. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  87. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  92. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  93. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  94. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  95. package/src/base-client/components/common/Recording/index.js +3 -3
  96. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  97. package/src/base-client/components/common/Tree/index.js +2 -2
  98. package/src/base-client/components/common/Upload/index.js +3 -3
  99. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  100. package/src/base-client/components/common/XAddNativeForm/demo.vue +1 -1
  101. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  102. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  103. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  104. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  105. package/src/base-client/components/common/XAddReport/index.js +3 -3
  106. package/src/base-client/components/common/XAddReport/index.md +56 -56
  107. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  108. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  109. package/src/base-client/components/common/XButtons/index.js +3 -3
  110. package/src/base-client/components/common/XButtons/index.md +61 -61
  111. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  112. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  113. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  114. package/src/base-client/components/common/XDataCard/index.js +3 -3
  115. package/src/base-client/components/common/XDataCard/index.md +1 -1
  116. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  117. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  118. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  119. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  120. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  121. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  122. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  123. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  124. package/src/base-client/components/common/XForm/XFormItem.vue +10 -4
  125. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  126. package/src/base-client/components/common/XForm/index.md +178 -178
  127. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  128. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  129. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  130. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  131. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  132. package/src/base-client/components/common/XFormTable/index.md +92 -92
  133. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  134. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  135. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  136. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  137. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  138. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  139. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  140. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  141. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  142. package/src/base-client/components/common/XPrint/index.vue +97 -97
  143. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  144. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  145. package/src/base-client/components/common/XReport/index.js +3 -3
  146. package/src/base-client/components/common/XReport/print.js +186 -186
  147. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  148. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  149. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  150. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  151. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  152. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  153. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  154. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  155. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  156. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  157. package/src/base-client/components/common/XStepView/index.js +3 -3
  158. package/src/base-client/components/common/XStepView/index.md +31 -31
  159. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  160. package/src/base-client/components/common/XTab/index.js +3 -3
  161. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  162. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  163. package/src/base-client/components/common/XTable/index.md +255 -255
  164. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  165. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  166. package/src/base-client/components/common/XTree/index.js +3 -3
  167. package/src/base-client/components/common/XTree/index.md +36 -36
  168. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  169. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  170. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  171. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  172. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  173. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  174. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  175. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  176. package/src/base-client/components/index.js +51 -51
  177. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  178. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  179. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  180. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  181. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  182. package/src/base-client/plugins/Config.js +19 -19
  183. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  184. package/src/base-client/plugins/Recording.js +258 -258
  185. package/src/base-client/plugins/index.js +23 -23
  186. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  187. package/src/components/Charts/Bar.vue +62 -62
  188. package/src/components/Charts/ChartCard.vue +134 -134
  189. package/src/components/Charts/Liquid.vue +67 -67
  190. package/src/components/Charts/MiniArea.vue +39 -39
  191. package/src/components/Charts/MiniBar.vue +39 -39
  192. package/src/components/Charts/MiniProgress.vue +75 -75
  193. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  194. package/src/components/Charts/Radar.vue +68 -68
  195. package/src/components/Charts/RankList.vue +77 -77
  196. package/src/components/Charts/TagCloud.vue +113 -113
  197. package/src/components/Charts/TransferBar.vue +64 -64
  198. package/src/components/Charts/Trend.vue +82 -82
  199. package/src/components/Charts/chart.less +12 -12
  200. package/src/components/Charts/smooth.area.less +13 -13
  201. package/src/components/CodeMirror/inedx.vue +118 -118
  202. package/src/components/CodeMirror/setting.js +40 -40
  203. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  204. package/src/components/NumberInfo/index.js +3 -3
  205. package/src/components/NumberInfo/index.less +54 -54
  206. package/src/components/NumberInfo/index.md +43 -43
  207. package/src/components/card/ChartCard.vue +79 -79
  208. package/src/components/chart/Bar.vue +60 -60
  209. package/src/components/chart/MiniArea.vue +67 -67
  210. package/src/components/chart/MiniBar.vue +59 -59
  211. package/src/components/chart/MiniProgress.vue +57 -57
  212. package/src/components/chart/Radar.vue +80 -80
  213. package/src/components/chart/RankingList.vue +60 -60
  214. package/src/components/chart/Trend.vue +79 -79
  215. package/src/components/chart/index.less +9 -9
  216. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  217. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  218. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  219. package/src/components/checkbox/index.js +9 -9
  220. package/src/components/exception/ExceptionPage.vue +70 -70
  221. package/src/components/g2Charts/constants.js +202 -202
  222. package/src/components/g2Charts/demo.vue +808 -808
  223. package/src/components/g2Charts/designer.vue +228 -228
  224. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  225. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  226. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  227. package/src/components/g2Charts/index.vue +397 -397
  228. package/src/components/index.js +36 -36
  229. package/src/components/input/IInput.vue +66 -66
  230. package/src/components/menu/SideMenu.vue +75 -75
  231. package/src/components/menu/menu.js +273 -273
  232. package/src/components/setting/Setting.vue +234 -234
  233. package/src/components/tool/AStepItem.vue +60 -60
  234. package/src/config/CreateQueryConfig.js +325 -325
  235. package/src/config/default/antd.config.js +89 -89
  236. package/src/config/default/setting.config.js +55 -55
  237. package/src/font-style/font.css +4 -4
  238. package/src/layouts/CommonLayout.vue +56 -56
  239. package/src/layouts/PageLayout.vue +151 -151
  240. package/src/layouts/SinglePageView.vue +136 -136
  241. package/src/layouts/header/AdminHeader.vue +132 -132
  242. package/src/layouts/header/HeaderNotice.vue +177 -177
  243. package/src/layouts/header/InstitutionDetail.vue +181 -181
  244. package/src/layouts/tabs/TabsHead.vue +189 -189
  245. package/src/lib.js +1 -1
  246. package/src/mock/extend/index.js +84 -84
  247. package/src/mock/goods/index.js +108 -108
  248. package/src/pages/DefaultExample/index.vue +77 -77
  249. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  250. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  251. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  252. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  253. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  254. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  255. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  256. package/src/pages/DynamicStatistics/index.vue +282 -282
  257. package/src/pages/Example/childIndex.vue +15 -15
  258. package/src/pages/Example/index.vue +30 -30
  259. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  260. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  261. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  262. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  263. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  264. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  265. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  266. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  267. package/src/pages/Recording/index.vue +77 -77
  268. package/src/pages/ServiceReview/index.vue +284 -284
  269. package/src/pages/SubExample/index.vue +26 -26
  270. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  271. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  272. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  273. package/src/pages/XReportView/index.vue +64 -64
  274. package/src/pages/XTreeOneProExample/index.vue +67 -67
  275. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  276. package/src/pages/login/Login.vue +379 -378
  277. package/src/pages/login/LoginV3.vue +389 -389
  278. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  279. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  280. package/src/pages/report/ReportTable.js +124 -124
  281. package/src/pages/resourceManage/orgListManage.vue +98 -98
  282. package/src/pages/system/dictionary/index.vue +44 -44
  283. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  284. package/src/pages/system/monitor/operLog/index.vue +37 -37
  285. package/src/pages/system/settings/modifyPassword.vue +117 -117
  286. package/src/pages/system/ticket/index.vue +480 -480
  287. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  288. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  289. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  290. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  291. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  292. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  293. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  294. package/src/plugins/EventLogPlugin.js +33 -33
  295. package/src/plugins/FindParentsData.js +17 -17
  296. package/src/router/async/config.async.js +35 -35
  297. package/src/router/async/router.map.js +2 -2
  298. package/src/router/guards.js +2 -0
  299. package/src/router/index.js +27 -27
  300. package/src/services/DataModel.js +30 -30
  301. package/src/services/LodopFuncs.js +137 -137
  302. package/src/services/api/TicketDetailsViewApi.js +46 -46
  303. package/src/services/api/cas.js +79 -79
  304. package/src/services/api/common.js +346 -346
  305. package/src/services/api/entity.js +18 -18
  306. package/src/services/api/index.js +17 -17
  307. package/src/store/modules/account.js +115 -115
  308. package/src/store/modules/index.js +5 -5
  309. package/src/store/modules/lowCode.js +33 -33
  310. package/src/store/modules/setting.js +119 -119
  311. package/src/theme/default/style.less +58 -58
  312. package/src/utils/authority-utils.js +85 -85
  313. package/src/utils/errorCode.js +6 -6
  314. package/src/utils/formatter.js +74 -74
  315. package/src/utils/htmlToPDF.js +108 -108
  316. package/src/utils/htmlToPDFApi.js +5 -5
  317. package/src/utils/login.js +188 -188
  318. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  319. package/src/utils/lowcode/lowcodeLog.js +29 -29
  320. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  321. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  322. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  323. package/src/utils/map-utils.js +47 -47
  324. package/src/utils/reg.js +95 -95
  325. package/src/utils/runEvalFunction.js +14 -14
  326. package/src/utils/theme-color-replacer-extend.js +92 -92
  327. package/src/utils/util.js +329 -329
  328. package/src/utils/waterMark.js +31 -31
  329. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  330. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  331. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  332. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  333. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  334. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  335. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  336. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  337. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  338. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  339. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  340. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  341. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  342. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  343. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  344. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  345. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  346. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  347. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  348. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  349. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  350. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  351. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  352. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  353. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  354. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  355. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  356. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  357. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  358. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  359. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  360. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  361. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  362. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  363. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  364. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  365. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  366. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  367. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  368. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  369. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  370. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  371. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  372. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  373. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  374. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  375. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  376. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  377. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  378. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  379. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  380. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  381. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  382. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  383. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  384. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  385. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  386. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  387. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  388. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  389. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  390. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  391. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  392. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  393. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  394. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  395. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  396. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  397. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  398. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  399. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  400. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  401. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  402. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  403. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  404. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  405. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  406. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  407. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  408. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  409. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  410. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  411. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  412. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  413. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  414. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  415. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  416. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  417. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  418. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  419. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  420. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  421. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  422. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  423. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +0 -495
  424. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +0 -495
  425. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +0 -494
  426. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +0 -494
  427. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +0 -494
  428. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +0 -495
  429. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +0 -495
  430. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +0 -492
  431. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +0 -492
  432. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +0 -485
  433. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +0 -485
  434. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +0 -488
  435. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  436. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  437. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  438. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  439. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  440. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  441. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  442. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  443. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  444. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  445. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  446. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  447. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  448. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  449. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  450. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +0 -238
  451. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +0 -238
  452. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +0 -238
  453. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  454. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  455. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  456. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
@@ -1,484 +1,484 @@
1
- <template>
2
- <a-card :bordered="false" class="result-success">
3
- <result :description="description" :is-success="icon" :title="title">
4
- <template slot="action">
5
- <span v-if="countDown > 0" style="margin-right: 10px">{{ countDown }}</span>
6
- <!-- <a-button type="primary" v-if="UrgentAvailable" :disabled="urgentAccess" style="margin-right: 20px" @click="urgent">请求加急处理</a-button> -->
7
- <!-- <a-button type="danger" @click="closeBtn">撤销工单</a-button> -->
8
- </template>
9
- <a-modal
10
- :visible="closeVisible"
11
- :zIndex="1002"
12
- title="关闭工单"
13
- @cancel="handleCloseCancel"
14
- @ok="handleCloseOk"
15
- >
16
- <p>是否确认手动关闭工单?</p>
17
- <p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
18
- </a-modal>
19
- <div>
20
- <div class="project-name">工单处理进度</div>
21
- <detail-list size="small" style="max-width: 800px; margin-bottom: 8px">
22
- <detail-list-item term="工单编号">{{ serialNumber }}</detail-list-item>
23
- <detail-list-item v-if="details.name" term="负责人">{{ details.name }}</detail-list-item>
24
- <detail-list-item term="提交时间">{{ details.createdTime }}</detail-list-item>
25
- </detail-list>
26
- <a-steps :current="step" progressDot>
27
- <a-step title="工单提交">
28
- <a-step-item-group slot="description">
29
- <a-step-item :title="details.uploader" />
30
- <a-step-item :title="details.createdTime"/>
31
- </a-step-item-group>
32
- </a-step>
33
- <a-step title="工单处理中" >
34
- <a-step-item-group slot="description">
35
- <a-step-item v-if="step >= 1" :title="details.phone ? `${details.name} (${details.phone})` : details.name" />
36
- <a-step-item v-if="step >= 1" :title="details.confirmTime"/>
37
- </a-step-item-group>
38
- </a-step>
39
- <a-step title="工单待确认" >
40
- <a-step-item-group slot="description">
41
- <a-step-item v-if="step >= 2" :title="`是否完成: ${verifyDetails.sfwc}`"/>
42
- <a-step-item v-if="step >= 2" :title="`售后评价: ${verifyDetails.shpj}`"/>
43
- <a-step-item v-if="step >= 2" :title="`反馈意见: ${verifyDetails.fkyj}`"/>
44
- </a-step-item-group>
45
- </a-step>
46
- <a-step title="工单完成" >
47
- <a-step-item-group slot="description">
48
- <a-step-item v-if="step >= 3" :title="details.finishedTime"/>
49
- </a-step-item-group>
50
- </a-step>
51
- </a-steps>
52
- </div>
53
- </result>
54
- <div class="ticket-detail">
55
- <a-tabs :default-active-key="tabActiveKey">
56
- <a-tab-pane key="1" tab="工单问题">
57
- <a-row class="item">
58
- <a-col :span="3"><span class="title">问题描述</span></a-col>
59
- <a-col :span="17"><span>{{ details.description }}</span></a-col>
60
- </a-row>
61
- <a-row class="item">
62
- <a-col :span="3"><span class="title">问题截图</span></a-col>
63
- <a-col :span="21"><image-item :images="details.images" :width="120" @preview="handleFilePreview" /></a-col>
64
- </a-row>
65
- <a-row v-if="details.files.length" class="item">
66
- <a-col :span="3"><span class="title">附件</span></a-col>
67
- <a-col :span="21"><file-item :files="details.files" :downloadable="false" @preview="handleFilePreview" /></a-col>
68
- </a-row>
69
- <a-row v-if="details.resultrecord" class="item">
70
- <a-col :span="3"><span class="title">处理结果</span></a-col>
71
- <a-col :span="17"><span>{{ details.resultrecord }}</span></a-col>
72
- </a-row>
73
- </a-tab-pane>
74
- <a-tab-pane key="2" tab="工单确认" v-show="this.details.status === 4">
75
- <a-row class="item">
76
- <a-form :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
77
- <!-- 是否完成 -->
78
- <a-form-item label="是否完成">
79
- <a-select placeholder="请选择" v-model="customerSure.sfwc">
80
- <a-select-option value="是">
81
-
82
- </a-select-option>
83
- <a-select-option value="否">
84
-
85
- </a-select-option>
86
- </a-select>
87
- </a-form-item>
88
- <!-- 退回原因 -->
89
- <a-form-item label="退回截图" v-show="customerSure.sfwc === '否'">
90
- <div class="clearfix">
91
- <upload v-if="uploadVisible" :model="imageUploadModel" @setFiles="setImages" />
92
- <a-modal
93
- :footer="null"
94
- :visible="previewVisible"
95
- @cancel="handleCancel"
96
- >
97
- <img :src="previewImage" alt="图片上传" style="width: 100%"/>
98
- </a-modal>
99
- </div>
100
- </a-form-item>
101
- <!-- 退回原因 -->
102
- <a-form-item label="退回原因" v-show="customerSure.sfwc === '否'">
103
- <a-textarea placeholder="请输入退回原因" v-model="customerSure.thyy"></a-textarea>
104
- </a-form-item>
105
- <!-- 售后评价 -->
106
- <a-form-item label="售后评价" v-show="customerSure.sfwc === '是'">
107
- <a-select placeholder="请选择" v-model="customerSure.shpj">
108
- <a-select-option value="满意">
109
- 满意
110
- </a-select-option>
111
- <a-select-option value="不满意">
112
- 不满意
113
- </a-select-option>
114
- </a-select>
115
- </a-form-item>
116
- <!-- 反馈意见 -->
117
- <a-form-item label="反馈意见" v-show="customerSure.sfwc === '是'">
118
- <a-textarea placeholder="请输入反馈意见" v-model="customerSure.fkyj"></a-textarea>
119
- </a-form-item>
120
- <!-- 表单底部按钮 -->
121
- <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
122
- <a-button type="primary" @click="rollBack" :disabled="customerSure.sfwc === '是'" style="margin-right: 10px">
123
- 退回
124
- </a-button>
125
- <a-button type="primary" @click="submit" :disabled="customerSure.sfwc === '否'">
126
- 提交
127
- </a-button>
128
- </a-form-item>
129
- </a-form>
130
- </a-row>
131
- </a-tab-pane>
132
- </a-tabs>
133
- </div>
134
- <a-modal v-model="filePreviewVisible" :footer="null" :dialog-style="{ top: '30px' }" width="80%" :z-index="1001">
135
- <file-preview :path="filePath" />
136
- </a-modal>
137
- </a-card>
138
- </template>
139
-
140
- <script>
141
- import Result from '@vue2-client/components/result/Result'
142
- import DetailList from '@vue2-client/components/tool/DetailList'
143
- import AStepItem from '@vue2-client/components/tool/AStepItem'
144
- import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
145
- import { formatDate } from '@vue2-client/utils/util'
146
- import { FileItem, ImageItem } from '@vue2-client/components/FileImageItem'
147
- import FilePreview from '@vue2-client/components/FilePreview'
148
- import Upload from '@vue2-client/base-client/components/common/Upload'
149
-
150
- const AStepItemGroup = AStepItem.Group
151
- const DetailListItem = DetailList.Item
152
- const fileUploadModel = JSON.parse('{"addOrEdit":"all","resUploadStock":1,"pathKey":"cs","rule":{"type":"string","required":"false"},"isOnlyAddOrEdit":true,"acceptCount":3,"type":"file","accept":["*"],"stockAlias":"webmeter","fileRootPath":"D:\\\\nginx-resource\\\\resource\\\\","name":"附件","resUploadMode":"server","model":"FilesId"}')
153
- const imageUploadModel = JSON.parse('{"addOrEdit":"all","resUploadStock":1,"pathKey":"cs","rule":{"type":"string","required":"false"},"isOnlyAddOrEdit":true,"acceptCount":5,"type":"image","accept":[".jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,"],"stockAlias":"webmeter","fileRootPath":"D:\\\\nginx-resource\\\\resource\\\\","name":"图片","resUploadMode":"server","model":"Images"}')
154
-
155
- export default {
156
- name: 'SubmitTicketSuccess',
157
- components: { AStepItemGroup, AStepItem, DetailListItem, DetailList, Result, FileItem, ImageItem, FilePreview, Upload },
158
- props: {
159
- // 工单序列号
160
- serialNumber: {
161
- type: String,
162
- required: true
163
- }
164
- },
165
- data () {
166
- return {
167
- fileUploadModel,
168
- imageUploadModel,
169
- title: '提交成功',
170
- description: '您创建的工单已成功提交,请保持电话畅通,我们的工作人员将尽快与您取得联系。', // +
171
- // '如果需要加急,请在倒计时结束后点击加急按钮,加急后我们将优先处理您的工单',
172
- // 工单详情
173
- details: {
174
- uploader: '',
175
- status: 0,
176
- name: '',
177
- phone: '',
178
- createdTime: '',
179
- confirmTime: '',
180
- finishedTime: '',
181
- description: '',
182
- resultrecord: '',
183
- files: [],
184
- images: []
185
- },
186
- // 控制加急按钮
187
- urgentAccess: true,
188
- // 倒计时
189
- countDown: 0,
190
- // 控制加急按钮显示
191
- UrgentAvailable: true,
192
- // 取消工单确认框可见性
193
- closeVisible: false,
194
- // 控制页面大图标
195
- icon: true,
196
- // 文件预览
197
- filePreviewVisible: false,
198
- filePath: '',
199
- tabActiveKey: '1',
200
- customerSure: {
201
- shpj: '满意',
202
- fkyj: undefined,
203
- sfwc: '是',
204
- thyy: ''
205
- },
206
- // 工单id
207
- applyId: 0,
208
- // 工单步骤
209
- stepId: 0,
210
- // 确认详情
211
- verifyDetails: {
212
- shpj: '',
213
- sfwc: '',
214
- fkyj: ''
215
- },
216
- uploadVisible: true,
217
- // 控制预览显示
218
- previewVisible: false,
219
- // 图片真实地址
220
- previewImage: '',
221
- imageList: []
222
- }
223
- },
224
- mounted () {
225
- this.getTicketDetail()
226
- },
227
- methods: {
228
- format (date, format) {
229
- return formatDate(date, format)
230
- },
231
- // 关闭工单确认后操作
232
- handleCloseOk () {
233
- return post(TicketDetailsViewApi.manualCloseTicketByCustomer, {
234
- serialNumber: this.serialNumber,
235
- time: new Date()
236
- })
237
- .then(res => {
238
- this.closeVisible = false
239
- this.title = '工单已关闭'
240
- this.description = ''
241
- this.icon = false
242
- }, err => {
243
- console.error(err)
244
- })
245
- },
246
- // 关闭工单取消后业务逻辑
247
- handleCloseCancel () {
248
- this.closeVisible = false
249
- },
250
- // 关闭工单按钮
251
- closeBtn () {
252
- this.closeVisible = true
253
- },
254
- // 对工单进行加急处理
255
- urgent () {
256
- return post(TicketDetailsViewApi.rushTicket, {
257
- serialNumber: this.serialNumber
258
- })
259
- .then(res => {
260
- if (res.data === 1) {
261
- this.$message.success(
262
- '操作成功',
263
- 5
264
- )
265
- this.description = '您的工单已经被加急处理,我们的工作人员会优先处理您的请求。'
266
- this.UrgentAvailable = false
267
- } else {
268
- this.$message.error(
269
- '操作失败',
270
- 5
271
- )
272
- }
273
- }, err => {
274
- console.log(err)
275
- })
276
- },
277
- // 获取工单详情
278
- getTicketDetail () {
279
- return post(TicketDetailsViewApi.getTicketDetailsForUploader, {
280
- serialNumber: this.serialNumber
281
- })
282
- .then(res => {
283
- this.stepId = res.stepId
284
- this.applyId = res.apply_id
285
- this.details.uploader = res.uploader
286
- // 判断负责人有没有值
287
- if (res.name === undefined) {
288
- this.details.name = ''
289
- } else {
290
- this.details.name = res.name
291
- }
292
- // 判断工单被确认时间
293
- if (res.confirmtime === undefined) {
294
- this.details.confirmTime = ''
295
- } else {
296
- this.details.confirmTime = this.format(res.confirmtime, 'yyyy-MM-dd hh:mm:ss')
297
- }
298
- // 判断工单完成时间
299
- if (res.finishedtime === undefined) {
300
- this.details.finishedTime = ''
301
- } else {
302
- this.details.finishedTime = this.format(res.finishedtime, 'yyyy-MM-dd hh:mm:ss')
303
- }
304
- this.details.createdTime = this.format(res.createdtime, 'yyyy-MM-dd hh:mm:ss')
305
- this.details.status = res.status
306
- this.details.phone = res.phone
307
- this.details.description = res.description
308
- this.details.files = res.files
309
- this.details.images = res.images
310
- this.details.resultrecord = res.resultrecord
311
- // 如果工单已经关闭, 获取用户确认信息
312
- if (res.status === 3) {
313
- post(TicketDetailsViewApi.getApplyCompletedStepData, {
314
- applyId: this.applyId,
315
- stepId: this.stepId
316
- }).then(res => {
317
- if (res.data) {
318
- this.verifyDetails.fkyj = res.data.fkyj ? res.data.fkyj : '无'
319
- this.verifyDetails.shpj = res.data.shpj ? res.data.shpj : '满意'
320
- this.verifyDetails.sfwc = res.data.sfwc ? res.data.sfwc : '是'
321
- }
322
- })
323
- }
324
- }, err => {
325
- console.log(err)
326
- })
327
- },
328
- handleFilePreview (path) {
329
- this.filePath = path
330
- this.filePreviewVisible = true
331
- },
332
- // 用户确认提交
333
- submit () {
334
- return post(TicketDetailsViewApi.afterApplyFinalStepSubmit, {
335
- applyId: this.applyId
336
- })
337
- .then(
338
- res => {
339
- this.onSubmit()
340
- this.saveWorkflowLog('确认完工', '最后一步: 客户确认', { notes: '' })
341
- this.$message.success('已完工!')
342
- // 修改工单状态为 3(已关闭)
343
- post(TicketDetailsViewApi.clientSubmit, {
344
- status: 3,
345
- serial_number: this.serialNumber
346
- }).then(res => {
347
- console.log('res', res)
348
- })
349
- this.getTicketDetail()
350
- this.$emit('afterSubmit')
351
- },
352
- err => {
353
- this.$message.error('提交失败!')
354
- console.log(err)
355
- }
356
- )
357
- },
358
- // 回退
359
- rollBack () {
360
- if (this.customerSure.thyy === '') {
361
- this.$message.warn('请填写退回原因')
362
- return
363
- }
364
- const notes = this.customerSure.thyy
365
- return post(TicketDetailsViewApi.updateApplySubState, {
366
- stepId: this.stepId - 1,
367
- applyId: this.applyId
368
- }).then(
369
- res => {
370
- this.saveWorkflowLog('退回', `第${this.stepId}步: 客户确认 ---> 第${this.stepId - 1}步: 售后确认`, { notes })
371
- this.$message.success('退回成功')
372
- // 修改工单状态为 1(待处理)
373
- post(TicketDetailsViewApi.clientSubmit, {
374
- status: 1,
375
- serial_number: this.serialNumber,
376
- Images: this.imageList,
377
- applyId: this.applyId
378
- }).then(res => {
379
- console.log('res', res)
380
- })
381
- this.uploadVisible = false
382
- this.getTicketDetail()
383
- this.$emit('afterSubmit')
384
- },
385
- err => {
386
- this.$message.error('退回失败!')
387
- console.log(err)
388
- }
389
- )
390
- },
391
- // 保存工作流日志
392
- saveWorkflowLog (operation, desc, extra) {
393
- post(TicketDetailsViewApi.saveApplyWorkflowLog, {
394
- applyId: this.applyId,
395
- operation,
396
- desc,
397
- operator: '客户确认',
398
- notes: '客户确认',
399
- setHandler: '客户确认',
400
- setDeadline: '',
401
- ...extra
402
- })
403
- },
404
- //
405
- onSubmit () {
406
- const time = this.format(new Date(), 'yyyy-MM-dd hh:mm:ss')
407
- const form = {
408
- shpj: this.customerSure.shpj,
409
- fkyj: this.customerSure.fkyj,
410
- sfwc: this.customerSure.sfwc
411
- }
412
- return post(TicketDetailsViewApi.saveApplyStepFormData, {
413
- applyId: this.applyId,
414
- stepId: this.stepId,
415
- form: form,
416
- data: time,
417
- handler: '客户确认',
418
- note: ''
419
- })
420
- .then(
421
- res => {
422
- console.log('表单提交成功')
423
- this.note = ''
424
- this.showForm = false
425
- this.stepDone = true
426
- },
427
- err => {
428
- this.$message.error('保存失败,请检查后重试')
429
- console.log(err)
430
- }
431
- )
432
- },
433
- handleCancel () {
434
- this.previewVisible = false
435
- },
436
- setImages (imageIds) {
437
- this.imageList = imageIds
438
- },
439
- },
440
- computed: {
441
- // 用于进度条,进度显示控制
442
- // eslint-disable-next-line vue/return-in-computed-property
443
- step () {
444
- switch (this.details.status) {
445
- case 0:
446
- return 0
447
- case 1:
448
- return 1
449
- case 2:
450
- return 2
451
- case 3:
452
- return 3
453
- case 4:
454
- return 2
455
- }
456
- }
457
- }
458
- }
459
- </script>
460
-
461
- <style lang="less" scoped>
462
- .result-success{
463
- .action:not(:first-child){
464
- margin-left: 8px;
465
- }
466
- .project-name{
467
- font-size: 16px;
468
- color: @title-color;
469
- font-weight: 500;
470
- margin-bottom: 20px;
471
- }
472
- }
473
- .ticket-detail {
474
- width: 72%;
475
- margin: 0 auto;
476
- .item {
477
- margin-bottom: 14px;
478
- }
479
- .title {
480
- font-size: 14px;
481
- font-weight: 600;
482
- }
483
- }
484
- </style>
1
+ <template>
2
+ <a-card :bordered="false" class="result-success">
3
+ <result :description="description" :is-success="icon" :title="title">
4
+ <template slot="action">
5
+ <span v-if="countDown > 0" style="margin-right: 10px">{{ countDown }}</span>
6
+ <!-- <a-button type="primary" v-if="UrgentAvailable" :disabled="urgentAccess" style="margin-right: 20px" @click="urgent">请求加急处理</a-button> -->
7
+ <!-- <a-button type="danger" @click="closeBtn">撤销工单</a-button> -->
8
+ </template>
9
+ <a-modal
10
+ :visible="closeVisible"
11
+ :zIndex="1002"
12
+ title="关闭工单"
13
+ @cancel="handleCloseCancel"
14
+ @ok="handleCloseOk"
15
+ >
16
+ <p>是否确认手动关闭工单?</p>
17
+ <p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
18
+ </a-modal>
19
+ <div>
20
+ <div class="project-name">工单处理进度</div>
21
+ <detail-list size="small" style="max-width: 800px; margin-bottom: 8px">
22
+ <detail-list-item term="工单编号">{{ serialNumber }}</detail-list-item>
23
+ <detail-list-item v-if="details.name" term="负责人">{{ details.name }}</detail-list-item>
24
+ <detail-list-item term="提交时间">{{ details.createdTime }}</detail-list-item>
25
+ </detail-list>
26
+ <a-steps :current="step" progressDot>
27
+ <a-step title="工单提交">
28
+ <a-step-item-group slot="description">
29
+ <a-step-item :title="details.uploader" />
30
+ <a-step-item :title="details.createdTime"/>
31
+ </a-step-item-group>
32
+ </a-step>
33
+ <a-step title="工单处理中" >
34
+ <a-step-item-group slot="description">
35
+ <a-step-item v-if="step >= 1" :title="details.phone ? `${details.name} (${details.phone})` : details.name" />
36
+ <a-step-item v-if="step >= 1" :title="details.confirmTime"/>
37
+ </a-step-item-group>
38
+ </a-step>
39
+ <a-step title="工单待确认" >
40
+ <a-step-item-group slot="description">
41
+ <a-step-item v-if="step >= 2" :title="`是否完成: ${verifyDetails.sfwc}`"/>
42
+ <a-step-item v-if="step >= 2" :title="`售后评价: ${verifyDetails.shpj}`"/>
43
+ <a-step-item v-if="step >= 2" :title="`反馈意见: ${verifyDetails.fkyj}`"/>
44
+ </a-step-item-group>
45
+ </a-step>
46
+ <a-step title="工单完成" >
47
+ <a-step-item-group slot="description">
48
+ <a-step-item v-if="step >= 3" :title="details.finishedTime"/>
49
+ </a-step-item-group>
50
+ </a-step>
51
+ </a-steps>
52
+ </div>
53
+ </result>
54
+ <div class="ticket-detail">
55
+ <a-tabs :default-active-key="tabActiveKey">
56
+ <a-tab-pane key="1" tab="工单问题">
57
+ <a-row class="item">
58
+ <a-col :span="3"><span class="title">问题描述</span></a-col>
59
+ <a-col :span="17"><span>{{ details.description }}</span></a-col>
60
+ </a-row>
61
+ <a-row class="item">
62
+ <a-col :span="3"><span class="title">问题截图</span></a-col>
63
+ <a-col :span="21"><image-item :images="details.images" :width="120" @preview="handleFilePreview" /></a-col>
64
+ </a-row>
65
+ <a-row v-if="details.files.length" class="item">
66
+ <a-col :span="3"><span class="title">附件</span></a-col>
67
+ <a-col :span="21"><file-item :files="details.files" :downloadable="false" @preview="handleFilePreview" /></a-col>
68
+ </a-row>
69
+ <a-row v-if="details.resultrecord" class="item">
70
+ <a-col :span="3"><span class="title">处理结果</span></a-col>
71
+ <a-col :span="17"><span>{{ details.resultrecord }}</span></a-col>
72
+ </a-row>
73
+ </a-tab-pane>
74
+ <a-tab-pane key="2" tab="工单确认" v-show="this.details.status === 4">
75
+ <a-row class="item">
76
+ <a-form :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
77
+ <!-- 是否完成 -->
78
+ <a-form-item label="是否完成">
79
+ <a-select placeholder="请选择" v-model="customerSure.sfwc">
80
+ <a-select-option value="是">
81
+
82
+ </a-select-option>
83
+ <a-select-option value="否">
84
+
85
+ </a-select-option>
86
+ </a-select>
87
+ </a-form-item>
88
+ <!-- 退回原因 -->
89
+ <a-form-item label="退回截图" v-show="customerSure.sfwc === '否'">
90
+ <div class="clearfix">
91
+ <upload v-if="uploadVisible" :model="imageUploadModel" @setFiles="setImages" />
92
+ <a-modal
93
+ :footer="null"
94
+ :visible="previewVisible"
95
+ @cancel="handleCancel"
96
+ >
97
+ <img :src="previewImage" alt="图片上传" style="width: 100%"/>
98
+ </a-modal>
99
+ </div>
100
+ </a-form-item>
101
+ <!-- 退回原因 -->
102
+ <a-form-item label="退回原因" v-show="customerSure.sfwc === '否'">
103
+ <a-textarea placeholder="请输入退回原因" v-model="customerSure.thyy"></a-textarea>
104
+ </a-form-item>
105
+ <!-- 售后评价 -->
106
+ <a-form-item label="售后评价" v-show="customerSure.sfwc === '是'">
107
+ <a-select placeholder="请选择" v-model="customerSure.shpj">
108
+ <a-select-option value="满意">
109
+ 满意
110
+ </a-select-option>
111
+ <a-select-option value="不满意">
112
+ 不满意
113
+ </a-select-option>
114
+ </a-select>
115
+ </a-form-item>
116
+ <!-- 反馈意见 -->
117
+ <a-form-item label="反馈意见" v-show="customerSure.sfwc === '是'">
118
+ <a-textarea placeholder="请输入反馈意见" v-model="customerSure.fkyj"></a-textarea>
119
+ </a-form-item>
120
+ <!-- 表单底部按钮 -->
121
+ <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
122
+ <a-button type="primary" @click="rollBack" :disabled="customerSure.sfwc === '是'" style="margin-right: 10px">
123
+ 退回
124
+ </a-button>
125
+ <a-button type="primary" @click="submit" :disabled="customerSure.sfwc === '否'">
126
+ 提交
127
+ </a-button>
128
+ </a-form-item>
129
+ </a-form>
130
+ </a-row>
131
+ </a-tab-pane>
132
+ </a-tabs>
133
+ </div>
134
+ <a-modal v-model="filePreviewVisible" :footer="null" :dialog-style="{ top: '30px' }" width="80%" :z-index="1001">
135
+ <file-preview :path="filePath" />
136
+ </a-modal>
137
+ </a-card>
138
+ </template>
139
+
140
+ <script>
141
+ import Result from '@vue2-client/components/result/Result'
142
+ import DetailList from '@vue2-client/components/tool/DetailList'
143
+ import AStepItem from '@vue2-client/components/tool/AStepItem'
144
+ import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
145
+ import { formatDate } from '@vue2-client/utils/util'
146
+ import { FileItem, ImageItem } from '@vue2-client/components/FileImageItem'
147
+ import FilePreview from '@vue2-client/components/FilePreview'
148
+ import Upload from '@vue2-client/base-client/components/common/Upload'
149
+
150
+ const AStepItemGroup = AStepItem.Group
151
+ const DetailListItem = DetailList.Item
152
+ const fileUploadModel = JSON.parse('{"addOrEdit":"all","resUploadStock":1,"pathKey":"cs","rule":{"type":"string","required":"false"},"isOnlyAddOrEdit":true,"acceptCount":3,"type":"file","accept":["*"],"stockAlias":"webmeter","fileRootPath":"D:\\\\nginx-resource\\\\resource\\\\","name":"附件","resUploadMode":"server","model":"FilesId"}')
153
+ const imageUploadModel = JSON.parse('{"addOrEdit":"all","resUploadStock":1,"pathKey":"cs","rule":{"type":"string","required":"false"},"isOnlyAddOrEdit":true,"acceptCount":5,"type":"image","accept":[".jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,"],"stockAlias":"webmeter","fileRootPath":"D:\\\\nginx-resource\\\\resource\\\\","name":"图片","resUploadMode":"server","model":"Images"}')
154
+
155
+ export default {
156
+ name: 'SubmitTicketSuccess',
157
+ components: { AStepItemGroup, AStepItem, DetailListItem, DetailList, Result, FileItem, ImageItem, FilePreview, Upload },
158
+ props: {
159
+ // 工单序列号
160
+ serialNumber: {
161
+ type: String,
162
+ required: true
163
+ }
164
+ },
165
+ data () {
166
+ return {
167
+ fileUploadModel,
168
+ imageUploadModel,
169
+ title: '提交成功',
170
+ description: '您创建的工单已成功提交,请保持电话畅通,我们的工作人员将尽快与您取得联系。', // +
171
+ // '如果需要加急,请在倒计时结束后点击加急按钮,加急后我们将优先处理您的工单',
172
+ // 工单详情
173
+ details: {
174
+ uploader: '',
175
+ status: 0,
176
+ name: '',
177
+ phone: '',
178
+ createdTime: '',
179
+ confirmTime: '',
180
+ finishedTime: '',
181
+ description: '',
182
+ resultrecord: '',
183
+ files: [],
184
+ images: []
185
+ },
186
+ // 控制加急按钮
187
+ urgentAccess: true,
188
+ // 倒计时
189
+ countDown: 0,
190
+ // 控制加急按钮显示
191
+ UrgentAvailable: true,
192
+ // 取消工单确认框可见性
193
+ closeVisible: false,
194
+ // 控制页面大图标
195
+ icon: true,
196
+ // 文件预览
197
+ filePreviewVisible: false,
198
+ filePath: '',
199
+ tabActiveKey: '1',
200
+ customerSure: {
201
+ shpj: '满意',
202
+ fkyj: undefined,
203
+ sfwc: '是',
204
+ thyy: ''
205
+ },
206
+ // 工单id
207
+ applyId: 0,
208
+ // 工单步骤
209
+ stepId: 0,
210
+ // 确认详情
211
+ verifyDetails: {
212
+ shpj: '',
213
+ sfwc: '',
214
+ fkyj: ''
215
+ },
216
+ uploadVisible: true,
217
+ // 控制预览显示
218
+ previewVisible: false,
219
+ // 图片真实地址
220
+ previewImage: '',
221
+ imageList: []
222
+ }
223
+ },
224
+ mounted () {
225
+ this.getTicketDetail()
226
+ },
227
+ methods: {
228
+ format (date, format) {
229
+ return formatDate(date, format)
230
+ },
231
+ // 关闭工单确认后操作
232
+ handleCloseOk () {
233
+ return post(TicketDetailsViewApi.manualCloseTicketByCustomer, {
234
+ serialNumber: this.serialNumber,
235
+ time: new Date()
236
+ })
237
+ .then(res => {
238
+ this.closeVisible = false
239
+ this.title = '工单已关闭'
240
+ this.description = ''
241
+ this.icon = false
242
+ }, err => {
243
+ console.error(err)
244
+ })
245
+ },
246
+ // 关闭工单取消后业务逻辑
247
+ handleCloseCancel () {
248
+ this.closeVisible = false
249
+ },
250
+ // 关闭工单按钮
251
+ closeBtn () {
252
+ this.closeVisible = true
253
+ },
254
+ // 对工单进行加急处理
255
+ urgent () {
256
+ return post(TicketDetailsViewApi.rushTicket, {
257
+ serialNumber: this.serialNumber
258
+ })
259
+ .then(res => {
260
+ if (res.data === 1) {
261
+ this.$message.success(
262
+ '操作成功',
263
+ 5
264
+ )
265
+ this.description = '您的工单已经被加急处理,我们的工作人员会优先处理您的请求。'
266
+ this.UrgentAvailable = false
267
+ } else {
268
+ this.$message.error(
269
+ '操作失败',
270
+ 5
271
+ )
272
+ }
273
+ }, err => {
274
+ console.log(err)
275
+ })
276
+ },
277
+ // 获取工单详情
278
+ getTicketDetail () {
279
+ return post(TicketDetailsViewApi.getTicketDetailsForUploader, {
280
+ serialNumber: this.serialNumber
281
+ })
282
+ .then(res => {
283
+ this.stepId = res.stepId
284
+ this.applyId = res.apply_id
285
+ this.details.uploader = res.uploader
286
+ // 判断负责人有没有值
287
+ if (res.name === undefined) {
288
+ this.details.name = ''
289
+ } else {
290
+ this.details.name = res.name
291
+ }
292
+ // 判断工单被确认时间
293
+ if (res.confirmtime === undefined) {
294
+ this.details.confirmTime = ''
295
+ } else {
296
+ this.details.confirmTime = this.format(res.confirmtime, 'yyyy-MM-dd hh:mm:ss')
297
+ }
298
+ // 判断工单完成时间
299
+ if (res.finishedtime === undefined) {
300
+ this.details.finishedTime = ''
301
+ } else {
302
+ this.details.finishedTime = this.format(res.finishedtime, 'yyyy-MM-dd hh:mm:ss')
303
+ }
304
+ this.details.createdTime = this.format(res.createdtime, 'yyyy-MM-dd hh:mm:ss')
305
+ this.details.status = res.status
306
+ this.details.phone = res.phone
307
+ this.details.description = res.description
308
+ this.details.files = res.files
309
+ this.details.images = res.images
310
+ this.details.resultrecord = res.resultrecord
311
+ // 如果工单已经关闭, 获取用户确认信息
312
+ if (res.status === 3) {
313
+ post(TicketDetailsViewApi.getApplyCompletedStepData, {
314
+ applyId: this.applyId,
315
+ stepId: this.stepId
316
+ }).then(res => {
317
+ if (res.data) {
318
+ this.verifyDetails.fkyj = res.data.fkyj ? res.data.fkyj : '无'
319
+ this.verifyDetails.shpj = res.data.shpj ? res.data.shpj : '满意'
320
+ this.verifyDetails.sfwc = res.data.sfwc ? res.data.sfwc : '是'
321
+ }
322
+ })
323
+ }
324
+ }, err => {
325
+ console.log(err)
326
+ })
327
+ },
328
+ handleFilePreview (path) {
329
+ this.filePath = path
330
+ this.filePreviewVisible = true
331
+ },
332
+ // 用户确认提交
333
+ submit () {
334
+ return post(TicketDetailsViewApi.afterApplyFinalStepSubmit, {
335
+ applyId: this.applyId
336
+ })
337
+ .then(
338
+ res => {
339
+ this.onSubmit()
340
+ this.saveWorkflowLog('确认完工', '最后一步: 客户确认', { notes: '' })
341
+ this.$message.success('已完工!')
342
+ // 修改工单状态为 3(已关闭)
343
+ post(TicketDetailsViewApi.clientSubmit, {
344
+ status: 3,
345
+ serial_number: this.serialNumber
346
+ }).then(res => {
347
+ console.log('res', res)
348
+ })
349
+ this.getTicketDetail()
350
+ this.$emit('afterSubmit')
351
+ },
352
+ err => {
353
+ this.$message.error('提交失败!')
354
+ console.log(err)
355
+ }
356
+ )
357
+ },
358
+ // 回退
359
+ rollBack () {
360
+ if (this.customerSure.thyy === '') {
361
+ this.$message.warn('请填写退回原因')
362
+ return
363
+ }
364
+ const notes = this.customerSure.thyy
365
+ return post(TicketDetailsViewApi.updateApplySubState, {
366
+ stepId: this.stepId - 1,
367
+ applyId: this.applyId
368
+ }).then(
369
+ res => {
370
+ this.saveWorkflowLog('退回', `第${this.stepId}步: 客户确认 ---> 第${this.stepId - 1}步: 售后确认`, { notes })
371
+ this.$message.success('退回成功')
372
+ // 修改工单状态为 1(待处理)
373
+ post(TicketDetailsViewApi.clientSubmit, {
374
+ status: 1,
375
+ serial_number: this.serialNumber,
376
+ Images: this.imageList,
377
+ applyId: this.applyId
378
+ }).then(res => {
379
+ console.log('res', res)
380
+ })
381
+ this.uploadVisible = false
382
+ this.getTicketDetail()
383
+ this.$emit('afterSubmit')
384
+ },
385
+ err => {
386
+ this.$message.error('退回失败!')
387
+ console.log(err)
388
+ }
389
+ )
390
+ },
391
+ // 保存工作流日志
392
+ saveWorkflowLog (operation, desc, extra) {
393
+ post(TicketDetailsViewApi.saveApplyWorkflowLog, {
394
+ applyId: this.applyId,
395
+ operation,
396
+ desc,
397
+ operator: '客户确认',
398
+ notes: '客户确认',
399
+ setHandler: '客户确认',
400
+ setDeadline: '',
401
+ ...extra
402
+ })
403
+ },
404
+ //
405
+ onSubmit () {
406
+ const time = this.format(new Date(), 'yyyy-MM-dd hh:mm:ss')
407
+ const form = {
408
+ shpj: this.customerSure.shpj,
409
+ fkyj: this.customerSure.fkyj,
410
+ sfwc: this.customerSure.sfwc
411
+ }
412
+ return post(TicketDetailsViewApi.saveApplyStepFormData, {
413
+ applyId: this.applyId,
414
+ stepId: this.stepId,
415
+ form: form,
416
+ data: time,
417
+ handler: '客户确认',
418
+ note: ''
419
+ })
420
+ .then(
421
+ res => {
422
+ console.log('表单提交成功')
423
+ this.note = ''
424
+ this.showForm = false
425
+ this.stepDone = true
426
+ },
427
+ err => {
428
+ this.$message.error('保存失败,请检查后重试')
429
+ console.log(err)
430
+ }
431
+ )
432
+ },
433
+ handleCancel () {
434
+ this.previewVisible = false
435
+ },
436
+ setImages (imageIds) {
437
+ this.imageList = imageIds
438
+ },
439
+ },
440
+ computed: {
441
+ // 用于进度条,进度显示控制
442
+ // eslint-disable-next-line vue/return-in-computed-property
443
+ step () {
444
+ switch (this.details.status) {
445
+ case 0:
446
+ return 0
447
+ case 1:
448
+ return 1
449
+ case 2:
450
+ return 2
451
+ case 3:
452
+ return 3
453
+ case 4:
454
+ return 2
455
+ }
456
+ }
457
+ }
458
+ }
459
+ </script>
460
+
461
+ <style lang="less" scoped>
462
+ .result-success{
463
+ .action:not(:first-child){
464
+ margin-left: 8px;
465
+ }
466
+ .project-name{
467
+ font-size: 16px;
468
+ color: @title-color;
469
+ font-weight: 500;
470
+ margin-bottom: 20px;
471
+ }
472
+ }
473
+ .ticket-detail {
474
+ width: 72%;
475
+ margin: 0 auto;
476
+ .item {
477
+ margin-bottom: 14px;
478
+ }
479
+ .title {
480
+ font-size: 14px;
481
+ font-weight: 600;
482
+ }
483
+ }
484
+ </style>