vue2-client 1.15.107 → 1.15.110

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 (888) hide show
  1. package/.cursorrules +19 -19
  2. package/.editorconfig +9 -9
  3. package/.env +20 -20
  4. package/.env.apply +19 -19
  5. package/.env.development +1 -1
  6. package/.env.gaslink +19 -19
  7. package/.env.his +19 -19
  8. package/.env.iot +19 -19
  9. package/.env.liuli +20 -20
  10. package/.env.message +19 -19
  11. package/.env.revenue +19 -19
  12. package/.env.runtime +19 -19
  13. package/.env.scada +19 -19
  14. package/.eslintrc.js +90 -90
  15. package/.eslintrc.json +5 -5
  16. package/.history/public/his/editor/editor_20250606134713.html +51 -0
  17. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  18. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  19. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  20. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  21. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +207 -0
  22. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +211 -0
  23. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +212 -0
  24. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +212 -0
  25. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  26. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  27. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  28. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  29. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  30. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  31. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +731 -0
  32. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +748 -0
  33. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +748 -0
  34. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +1071 -0
  35. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +1078 -0
  36. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +1077 -0
  37. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +1077 -0
  38. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +1077 -0
  39. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +442 -0
  40. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +442 -0
  41. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +442 -0
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +475 -0
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +475 -0
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +475 -0
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +477 -0
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +477 -0
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +477 -0
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +473 -0
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +473 -0
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +473 -0
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +473 -0
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +473 -0
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +473 -0
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +473 -0
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +473 -0
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +473 -0
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +473 -0
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +474 -0
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +474 -0
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +474 -0
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +472 -0
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +472 -0
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +472 -0
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +472 -0
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +472 -0
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +472 -0
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +501 -0
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +501 -0
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +501 -0
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +504 -0
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +504 -0
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +504 -0
  73. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +131 -0
  74. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +160 -0
  75. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +160 -0
  76. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +160 -0
  77. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +158 -0
  78. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +173 -0
  79. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +222 -0
  80. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +229 -0
  81. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +229 -0
  82. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +229 -0
  83. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +241 -0
  84. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +241 -0
  85. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +241 -0
  86. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +245 -0
  87. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +245 -0
  88. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +245 -0
  89. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +255 -0
  90. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +255 -0
  91. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +255 -0
  92. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +270 -0
  93. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +270 -0
  94. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +270 -0
  95. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +270 -0
  96. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +294 -0
  97. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +294 -0
  98. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +294 -0
  99. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +303 -0
  100. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +303 -0
  101. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +303 -0
  102. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +288 -0
  103. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +288 -0
  104. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +288 -0
  105. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +317 -0
  106. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +306 -0
  107. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +306 -0
  108. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +306 -0
  109. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +495 -0
  110. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +495 -0
  111. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +494 -0
  112. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +494 -0
  113. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +494 -0
  114. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +495 -0
  115. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +495 -0
  116. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +492 -0
  117. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +492 -0
  118. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +485 -0
  119. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +485 -0
  120. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +488 -0
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134604.vue +263 -0
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134615.vue +302 -0
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134621.vue +301 -0
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134634.vue +311 -0
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134644.vue +330 -0
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134653.vue +330 -0
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134836.vue +330 -0
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135247.vue +330 -0
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135303.vue +354 -0
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135316.vue +363 -0
  131. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135323.vue +363 -0
  132. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135334.vue +366 -0
  133. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135342.vue +364 -0
  134. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135349.vue +364 -0
  135. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135351.vue +346 -0
  136. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135354.vue +346 -0
  137. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135401.vue +346 -0
  138. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135406.vue +346 -0
  139. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135424.vue +346 -0
  140. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807143043.vue +254 -0
  141. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155506.vue +329 -0
  142. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155535.vue +330 -0
  143. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155543.vue +330 -0
  144. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155926.vue +304 -0
  145. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155928.vue +304 -0
  146. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172548.vue +298 -0
  147. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172609.vue +298 -0
  148. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172623.vue +298 -0
  149. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172631.vue +298 -0
  150. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172701.vue +298 -0
  151. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172704.vue +298 -0
  152. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175937.vue +290 -0
  153. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175942.vue +290 -0
  154. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180210.vue +290 -0
  155. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180424.vue +290 -0
  156. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180448.vue +290 -0
  157. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180915.vue +262 -0
  158. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180917.vue +262 -0
  159. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101106.vue +283 -0
  160. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101112.vue +289 -0
  161. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101118.vue +289 -0
  162. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101129.vue +294 -0
  163. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101137.vue +318 -0
  164. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101145.vue +320 -0
  165. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101154.vue +320 -0
  166. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101211.vue +320 -0
  167. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101236.vue +320 -0
  168. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101239.vue +320 -0
  169. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114001.vue +342 -0
  170. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114005.vue +342 -0
  171. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114014.vue +345 -0
  172. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114020.vue +345 -0
  173. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114028.vue +345 -0
  174. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114108.vue +345 -0
  175. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114115.vue +345 -0
  176. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114333.vue +346 -0
  177. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114339.vue +350 -0
  178. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114344.vue +355 -0
  179. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114351.vue +355 -0
  180. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114408.vue +355 -0
  181. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114410.vue +355 -0
  182. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103845.vue +142 -0
  183. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103852.vue +142 -0
  184. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103857.vue +142 -0
  185. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103859.vue +142 -0
  186. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103907.vue +142 -0
  187. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103910.vue +142 -0
  188. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103911.vue +142 -0
  189. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103913.vue +142 -0
  190. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103916.vue +142 -0
  191. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103931.vue +142 -0
  192. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145127.vue +85 -0
  193. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145136.vue +81 -0
  194. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145142.vue +81 -0
  195. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145145.vue +81 -0
  196. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145148.vue +81 -0
  197. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145151.vue +81 -0
  198. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145155.vue +81 -0
  199. package/CHANGELOG.md +824 -824
  200. package/CLAUDE.md +89 -89
  201. package/Components.md +60 -60
  202. package/README.md +65 -65
  203. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +213 -0
  204. package/babel.config.js +21 -21
  205. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -46
  206. package/docs/LowCode/lowcode.md +155 -155
  207. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  208. package/docs/index.md +30 -30
  209. package/docs/notice.md +22 -22
  210. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +185 -179
  211. package/index.js +31 -31
  212. package/jest-transform-stub.js +8 -8
  213. package/jest.config.js +22 -22
  214. package/jest.setup.js +7 -7
  215. package/jsconfig.json +19 -19
  216. package/package.json +111 -111
  217. package/public/his/editor/editor.html +51 -51
  218. package/public/his/editor/mock/bind_data.html +779 -779
  219. package/public/his/editor/mock/data_table.html +40 -40
  220. package/public/his/editor/mock/sign.html +75 -75
  221. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  222. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  223. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  224. package/public/his/editor/vender/date97/calendar.js +4 -4
  225. package/public/his/editor/vender/date97/lang/en.js +13 -13
  226. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  227. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  228. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  229. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  230. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  231. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  232. package/public/his/editor/vender/diff.js +1627 -1627
  233. package/public/his/editor/vender/editor.js +1 -1
  234. package/public/his/editor/vender/fabric.js +31187 -31187
  235. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  236. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  237. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  238. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  239. package/public/his/editor/vender/mui/mui.min.css +4 -4
  240. package/public/his/editor/vender/mui/mui.min.js +5 -5
  241. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  242. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  243. package/public/his/editor/vender/qrcode.js +7 -7
  244. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  245. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  246. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  247. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  248. package/public/his/editor/vender/validator.js +5094 -5094
  249. package/public/his/editor/vender/weui/weui.css +5659 -5659
  250. package/public/his/editor/vender/weui/weui.min.css +4 -4
  251. package/public/his/editor/vender/weui/weui.min.js +11 -11
  252. package/public/index.html +27 -27
  253. package/src/App.vue +196 -196
  254. package/src/ReportView.js +13 -13
  255. package/src/assets/img/querySlotDemo.svg +15 -15
  256. package/src/assets/svg/badtwo.svg +1 -1
  257. package/src/assets/svg/goodtwo.svg +1 -1
  258. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  259. package/src/base-client/components/AI/demo.vue +31 -31
  260. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  261. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  262. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  263. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  264. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  265. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  266. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  267. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  268. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  269. package/src/base-client/components/common/CitySelect/CitySelect.vue +376 -376
  270. package/src/base-client/components/common/CitySelect/demo.vue +43 -43
  271. package/src/base-client/components/common/CitySelect/index.js +3 -3
  272. package/src/base-client/components/common/CitySelect/index.md +109 -109
  273. package/src/base-client/components/common/ColorPickerCombobox/ColorPickerCombobox.vue +99 -99
  274. package/src/base-client/components/common/ColorPickerCombobox/demo.vue +34 -34
  275. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  276. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  277. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  278. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  279. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  280. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  281. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  282. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  283. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  284. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  285. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  286. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  287. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  288. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  289. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  290. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  291. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  292. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  293. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  294. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  295. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  296. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  297. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  298. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  299. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  300. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  301. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  302. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  303. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  304. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  305. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  306. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  307. package/src/base-client/components/common/Recording/index.js +3 -3
  308. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  309. package/src/base-client/components/common/Tree/index.js +2 -2
  310. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  311. package/src/base-client/components/common/Upload/index.js +3 -3
  312. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  313. package/src/base-client/components/common/XAddForm/index.js +3 -3
  314. package/src/base-client/components/common/XAddForm/index.md +61 -61
  315. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  316. package/src/base-client/components/common/XAddNativeForm/demo.vue +54 -54
  317. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  318. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  319. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  320. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  321. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  322. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  323. package/src/base-client/components/common/XAddReport/index.js +3 -3
  324. package/src/base-client/components/common/XAddReport/index.md +56 -56
  325. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  326. package/src/base-client/components/common/XBadge/index.js +3 -3
  327. package/src/base-client/components/common/XBadge/index.md +39 -39
  328. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  329. package/src/base-client/components/common/XButtons/XButtons.vue +284 -284
  330. package/src/base-client/components/common/XButtons/index.js +3 -3
  331. package/src/base-client/components/common/XButtons/index.md +61 -61
  332. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  333. package/src/base-client/components/common/XCalendar/index.md +284 -284
  334. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  335. package/src/base-client/components/common/XCard/index.js +3 -3
  336. package/src/base-client/components/common/XCard/index.md +43 -43
  337. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  338. package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
  339. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  340. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  341. package/src/base-client/components/common/XCollapse/XCollapse.vue +355 -355
  342. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  343. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  344. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  345. package/src/base-client/components/common/XDataCard/index.js +3 -3
  346. package/src/base-client/components/common/XDataCard/index.md +1 -1
  347. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  348. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  349. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  350. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  351. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  352. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  353. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  354. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  355. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  356. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  357. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  358. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  359. package/src/base-client/components/common/XForm/XForm.vue +426 -426
  360. package/src/base-client/components/common/XForm/XFormItem.vue +1479 -1479
  361. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  362. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  363. package/src/base-client/components/common/XForm/demo.vue +105 -105
  364. package/src/base-client/components/common/XForm/index.js +3 -3
  365. package/src/base-client/components/common/XForm/index.md +178 -178
  366. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  367. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  368. package/src/base-client/components/common/XFormCol/index.js +3 -3
  369. package/src/base-client/components/common/XFormCol/index.md +35 -35
  370. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  371. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  372. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  373. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  374. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  375. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  376. package/src/base-client/components/common/XFormTable/XFormTable.vue +939 -939
  377. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  378. package/src/base-client/components/common/XFormTable/index.js +3 -3
  379. package/src/base-client/components/common/XFormTable/index.md +92 -92
  380. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  381. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  382. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  383. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  384. package/src/base-client/components/common/XInput/index.js +3 -3
  385. package/src/base-client/components/common/XInput/index.md +97 -97
  386. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  387. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  388. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  389. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  390. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  391. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  392. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  393. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  394. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  395. package/src/base-client/components/common/XPrint/PrintBill.vue +308 -308
  396. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  397. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  398. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  399. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  400. package/src/base-client/components/common/XPrint/index.vue +97 -97
  401. package/src/base-client/components/common/XRate/demo.vue +102 -102
  402. package/src/base-client/components/common/XRate/index.vue +149 -149
  403. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  404. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  405. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  406. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  407. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  408. package/src/base-client/components/common/XReport/index.js +3 -3
  409. package/src/base-client/components/common/XReport/index.md +103 -103
  410. package/src/base-client/components/common/XReport/print.js +186 -186
  411. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  412. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  413. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  414. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  415. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  416. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +724 -724
  417. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  418. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  419. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  420. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  421. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  422. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  423. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  424. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  425. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  426. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  427. package/src/base-client/components/common/XStepView/index.js +3 -3
  428. package/src/base-client/components/common/XStepView/index.md +31 -31
  429. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  430. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  431. package/src/base-client/components/common/XTab/index.js +3 -3
  432. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  433. package/src/base-client/components/common/XTable/ExportExcel.vue +283 -283
  434. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  435. package/src/base-client/components/common/XTable/XTable.vue +1599 -1599
  436. package/src/base-client/components/common/XTable/XTableWrapper.vue +597 -597
  437. package/src/base-client/components/common/XTable/index.js +3 -3
  438. package/src/base-client/components/common/XTable/index.md +255 -255
  439. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  440. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  441. package/src/base-client/components/common/XTimeline/index.md +191 -191
  442. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  443. package/src/base-client/components/common/XTree/XTreePro.vue +452 -452
  444. package/src/base-client/components/common/XTree/index.js +3 -3
  445. package/src/base-client/components/common/XTree/index.md +36 -36
  446. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  447. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  448. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  449. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  450. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  451. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  452. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  453. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  454. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  455. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  456. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  457. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +678 -629
  458. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  459. package/src/base-client/components/his/XHisEditor/dome.vue +144 -0
  460. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  461. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcel.vue +218 -218
  462. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue +23 -21
  463. package/src/base-client/components/his/XImportExcelButton/XImportExcelButton.vue +103 -103
  464. package/src/base-client/components/his/XList/XList.vue +495 -495
  465. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  466. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +106 -106
  467. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  468. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +269 -269
  469. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  470. package/src/base-client/components/his/XRadio/index.md +234 -234
  471. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  472. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +354 -339
  473. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  474. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  475. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +119 -119
  476. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  477. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  478. package/src/base-client/components/his/XTitle/README.md +113 -113
  479. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  480. package/src/base-client/components/his/XTreeRows/TreeNode.vue +107 -107
  481. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +307 -307
  482. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  483. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  484. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  485. package/src/base-client/components/index.js +51 -51
  486. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  487. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  488. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  489. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  490. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  491. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  492. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  493. package/src/base-client/components/layout/XPageView/index.js +2 -2
  494. package/src/base-client/components/layout/XPageView/index.md +96 -96
  495. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  496. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  497. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  498. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  499. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  500. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  501. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  502. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  503. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  504. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  505. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  506. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  507. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  508. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  509. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  510. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  511. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  512. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  513. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  514. package/src/base-client/plugins/AppData.js +126 -126
  515. package/src/base-client/plugins/Config.js +19 -19
  516. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  517. package/src/base-client/plugins/PagedList.js +177 -177
  518. package/src/base-client/plugins/Recording.js +258 -258
  519. package/src/base-client/plugins/__tests__/selectValueTypeHelper.test.js +154 -154
  520. package/src/base-client/plugins/authority-plugin.js +167 -167
  521. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  522. package/src/base-client/plugins/i18n-extend.js +32 -32
  523. package/src/base-client/plugins/index.js +23 -23
  524. package/src/base-client/plugins/moment.js +8 -8
  525. package/src/base-client/plugins/selectValueTypeHelper.js +281 -281
  526. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  527. package/src/bootstrap.js +51 -51
  528. package/src/components/Charts/Bar.vue +62 -62
  529. package/src/components/Charts/ChartCard.vue +134 -134
  530. package/src/components/Charts/Liquid.vue +67 -67
  531. package/src/components/Charts/MiniArea.vue +39 -39
  532. package/src/components/Charts/MiniBar.vue +39 -39
  533. package/src/components/Charts/MiniProgress.vue +75 -75
  534. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  535. package/src/components/Charts/Radar.vue +68 -68
  536. package/src/components/Charts/RankList.vue +77 -77
  537. package/src/components/Charts/TagCloud.vue +113 -113
  538. package/src/components/Charts/TransferBar.vue +64 -64
  539. package/src/components/Charts/Trend.vue +82 -82
  540. package/src/components/Charts/chart.less +12 -12
  541. package/src/components/Charts/smooth.area.less +13 -13
  542. package/src/components/CodeMirror/inedx.vue +118 -118
  543. package/src/components/CodeMirror/setting.js +40 -40
  544. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  545. package/src/components/Ellipsis/index.js +3 -3
  546. package/src/components/Ellipsis/index.md +38 -38
  547. package/src/components/FileImageItem/FileItem.vue +320 -320
  548. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  549. package/src/components/FileImageItem/ImageItem.vue +107 -107
  550. package/src/components/FileImageItem/index.js +4 -4
  551. package/src/components/FilePreview/FilePreview.vue +181 -181
  552. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  553. package/src/components/FilePreview/index.js +3 -3
  554. package/src/components/HeightScanner/index.vue +615 -615
  555. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  556. package/src/components/NumberInfo/index.js +3 -3
  557. package/src/components/NumberInfo/index.less +54 -54
  558. package/src/components/NumberInfo/index.md +43 -43
  559. package/src/components/STable/README.md +341 -341
  560. package/src/components/STable/index.js +558 -558
  561. package/src/components/TableSetting/TableSetting.vue +143 -143
  562. package/src/components/TableSetting/index.js +3 -3
  563. package/src/components/Trend/Trend.vue +41 -41
  564. package/src/components/Trend/index.js +3 -3
  565. package/src/components/Trend/index.less +41 -41
  566. package/src/components/Trend/index.md +45 -45
  567. package/src/components/_util/util.js +46 -46
  568. package/src/components/cache/AKeepAlive.js +179 -179
  569. package/src/components/card/ChartCard.vue +79 -79
  570. package/src/components/chart/Bar.vue +60 -60
  571. package/src/components/chart/MiniArea.vue +67 -67
  572. package/src/components/chart/MiniBar.vue +59 -59
  573. package/src/components/chart/MiniProgress.vue +57 -57
  574. package/src/components/chart/Radar.vue +80 -80
  575. package/src/components/chart/RankingList.vue +60 -60
  576. package/src/components/chart/Trend.vue +79 -79
  577. package/src/components/chart/index.less +9 -9
  578. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  579. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  580. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  581. package/src/components/checkbox/index.js +9 -9
  582. package/src/components/exception/ExceptionPage.vue +70 -70
  583. package/src/components/exception/typeConfig.js +19 -19
  584. package/src/components/form/FormRow.vue +52 -52
  585. package/src/components/g2Charts/constants.js +202 -202
  586. package/src/components/g2Charts/demo.vue +808 -808
  587. package/src/components/g2Charts/designer.vue +228 -228
  588. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  589. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  590. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  591. package/src/components/g2Charts/index.vue +397 -397
  592. package/src/components/index.js +36 -36
  593. package/src/components/index.less +5 -5
  594. package/src/components/input/IInput.vue +66 -66
  595. package/src/components/menu/Contextmenu.vue +84 -84
  596. package/src/components/menu/SideMenu.vue +75 -75
  597. package/src/components/menu/index.less +38 -38
  598. package/src/components/menu/menu.js +273 -273
  599. package/src/components/page/header/PageHeader.vue +64 -64
  600. package/src/components/page/header/index.less +40 -40
  601. package/src/components/result/Result.vue +77 -77
  602. package/src/components/setting/Setting.vue +234 -234
  603. package/src/components/setting/SettingItem.vue +26 -26
  604. package/src/components/setting/i18n.js +117 -117
  605. package/src/components/table/StandardTable.vue +141 -141
  606. package/src/components/table/advance/ActionColumns.vue +158 -158
  607. package/src/components/table/advance/ActionSize.vue +45 -45
  608. package/src/components/table/advance/AdvanceTable.vue +275 -275
  609. package/src/components/table/advance/SearchArea.vue +355 -355
  610. package/src/components/table/advance/index.js +2 -2
  611. package/src/components/table/api/ApiTable.vue +50 -50
  612. package/src/components/task/TaskGroup.vue +80 -80
  613. package/src/components/task/TaskItem.vue +26 -26
  614. package/src/components/tool/AStepItem.vue +60 -60
  615. package/src/components/tool/AvatarList.vue +68 -68
  616. package/src/components/tool/DetailList.vue +157 -157
  617. package/src/components/tool/Drawer.vue +142 -142
  618. package/src/components/tool/FooterToolBar.vue +30 -30
  619. package/src/components/tool/HeadInfo.vue +35 -35
  620. package/src/components/tool/TagSelect.vue +83 -83
  621. package/src/components/tool/TagSelectOption.vue +33 -33
  622. package/src/components/transition/PageToggleTransition.vue +97 -97
  623. package/src/config/CreateQueryConfig.js +325 -325
  624. package/src/config/default/admin.config.js +18 -18
  625. package/src/config/default/animate.config.js +21 -21
  626. package/src/config/default/antd.config.js +89 -89
  627. package/src/config/default/index.js +6 -6
  628. package/src/config/default/setting.config.js +55 -55
  629. package/src/config/index.js +3 -3
  630. package/src/config/replacer/index.js +10 -10
  631. package/src/config/replacer/resolve.config.js +67 -67
  632. package/src/expression/ExpressionRunner.js +26 -26
  633. package/src/expression/TestExpression.js +509 -509
  634. package/src/expression/core/Delegate.js +115 -115
  635. package/src/expression/core/Expression.js +1358 -1358
  636. package/src/expression/core/Program.js +932 -932
  637. package/src/expression/core/Token.js +27 -27
  638. package/src/expression/enums/ExpressionType.js +81 -81
  639. package/src/expression/enums/TokenType.js +11 -11
  640. package/src/expression/exception/BreakWayException.js +2 -2
  641. package/src/expression/exception/ContinueWayException.js +2 -2
  642. package/src/expression/exception/ExpressionException.js +28 -28
  643. package/src/expression/exception/ReturnWayException.js +14 -14
  644. package/src/expression/exception/ServiceException.js +22 -22
  645. package/src/expression/instances/LogicConsole.js +44 -44
  646. package/src/expression/ts/ExpressionRunner.ts +28 -28
  647. package/src/expression/ts/TestExpression.ts +509 -509
  648. package/src/expression/ts/core/Delegate.ts +114 -114
  649. package/src/expression/ts/core/Expression.ts +1309 -1309
  650. package/src/expression/ts/core/Program.ts +950 -950
  651. package/src/expression/ts/core/Token.ts +29 -29
  652. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  653. package/src/expression/ts/enums/TokenType.ts +13 -13
  654. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  655. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  656. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  657. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  658. package/src/expression/ts/exception/ServiceException.ts +22 -22
  659. package/src/expression/ts/instances/JSONArray.ts +48 -48
  660. package/src/expression/ts/instances/JSONObject.ts +109 -109
  661. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  662. package/src/font-style/font.css +4 -4
  663. package/src/layouts/AdminLayout.vue +176 -176
  664. package/src/layouts/BlankView.vue +81 -81
  665. package/src/layouts/CommonLayout.vue +56 -56
  666. package/src/layouts/ComponentLayoutOne.vue +47 -47
  667. package/src/layouts/GridView.vue +43 -43
  668. package/src/layouts/PageLayout.vue +151 -151
  669. package/src/layouts/PageView.vue +55 -55
  670. package/src/layouts/SinglePageView.vue +136 -136
  671. package/src/layouts/footer/PageFooter.vue +49 -49
  672. package/src/layouts/header/AdminHeader.vue +132 -132
  673. package/src/layouts/header/HeaderAvatar.vue +64 -64
  674. package/src/layouts/header/HeaderNotice.vue +177 -177
  675. package/src/layouts/header/HeaderSearch.vue +67 -67
  676. package/src/layouts/header/InstitutionDetail.vue +181 -181
  677. package/src/layouts/header/index.less +92 -92
  678. package/src/layouts/tabs/TabsHead.vue +189 -189
  679. package/src/layouts/tabs/TabsView.vue +383 -383
  680. package/src/layouts/tabs/i18n.js +25 -25
  681. package/src/layouts/tabs/index.js +2 -2
  682. package/src/lib.js +1 -1
  683. package/src/logic/LogicRunner.js +62 -62
  684. package/src/logic/TestLogic.js +13 -13
  685. package/src/logic/plugins/common/DateTools.js +35 -35
  686. package/src/logic/plugins/common/VueTools.js +30 -30
  687. package/src/logic/plugins/index.js +7 -7
  688. package/src/logic/ts/LogicRunner.ts +67 -67
  689. package/src/logic/ts/TestLogic.ts +13 -13
  690. package/src/main.js +33 -33
  691. package/src/mixins/formValidationMixin.js +46 -46
  692. package/src/mock/common/activityData.js +32 -32
  693. package/src/mock/common/index.js +89 -89
  694. package/src/mock/common/reportData.js +20 -20
  695. package/src/mock/common/tableData.js +118 -118
  696. package/src/mock/extend/index.js +84 -84
  697. package/src/mock/goods/index.js +108 -108
  698. package/src/mock/index.js +12 -12
  699. package/src/mock/project/index.js +17 -17
  700. package/src/mock/user/current.js +13 -13
  701. package/src/mock/user/login.js +39 -39
  702. package/src/mock/user/routes.js +61 -61
  703. package/src/mock/workplace/index.js +15 -15
  704. package/src/pages/DefaultExample/index.vue +77 -77
  705. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  706. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  707. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  708. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  709. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  710. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  711. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  712. package/src/pages/DynamicStatistics/index.vue +282 -282
  713. package/src/pages/Example/childIndex.vue +15 -15
  714. package/src/pages/Example/index.vue +30 -30
  715. package/src/pages/LogicCallExample/index.vue +46 -46
  716. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  717. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  718. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  719. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  720. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  721. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  722. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  723. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  724. package/src/pages/Recording/index.vue +77 -77
  725. package/src/pages/ReportGrid/index.vue +76 -76
  726. package/src/pages/ReportView.vue +50 -50
  727. package/src/pages/ServiceReview/index.vue +284 -284
  728. package/src/pages/SubExample/index.vue +26 -26
  729. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  730. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  731. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -203
  732. package/src/pages/WorkflowDetail/WorkflowDetail.vue +397 -397
  733. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  734. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  735. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  736. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  737. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1766
  738. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  739. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +125 -125
  740. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +929 -929
  741. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +218 -218
  742. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  743. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  744. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  745. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  746. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -97
  747. package/src/pages/XPageViewExample/index.vue +149 -149
  748. package/src/pages/XReportView/index.vue +64 -64
  749. package/src/pages/XTreeOneProExample/index.vue +67 -67
  750. package/src/pages/addressSelect/addressDemo.vue +24 -24
  751. package/src/pages/addressSelect/index.vue +270 -270
  752. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  753. package/src/pages/dashboard/workplace/i18n.js +40 -40
  754. package/src/pages/dashboard/workplace/index.js +2 -2
  755. package/src/pages/dashboard/workplace/index.less +59 -59
  756. package/src/pages/exception/403.vue +21 -21
  757. package/src/pages/exception/404.vue +24 -24
  758. package/src/pages/exception/500.vue +21 -21
  759. package/src/pages/login/Login.vue +380 -380
  760. package/src/pages/login/LoginV3.vue +389 -389
  761. package/src/pages/login/index.js +2 -2
  762. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  763. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  764. package/src/pages/report/ReportTable.js +124 -124
  765. package/src/pages/report/ReportTableHome.vue +28 -28
  766. package/src/pages/resourceManage/depListManage.vue +23 -23
  767. package/src/pages/resourceManage/funListManage.vue +23 -23
  768. package/src/pages/resourceManage/index.js +15 -15
  769. package/src/pages/resourceManage/orgListManage.vue +98 -98
  770. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  771. package/src/pages/resourceManage/roleListManage.vue +23 -23
  772. package/src/pages/resourceManage/staffListManage.vue +23 -23
  773. package/src/pages/system/dictionary/index.vue +44 -44
  774. package/src/pages/system/file/Info.vue +56 -56
  775. package/src/pages/system/file/index.vue +317 -317
  776. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  777. package/src/pages/system/monitor/operLog/index.vue +37 -37
  778. package/src/pages/system/settings/index.vue +126 -126
  779. package/src/pages/system/settings/modifyPassword.vue +117 -117
  780. package/src/pages/system/ticket/index.vue +480 -480
  781. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  782. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  783. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  784. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  785. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  786. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  787. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  788. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  789. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  790. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  791. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  792. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  793. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  794. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  795. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  796. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  797. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  798. package/src/pages/userInfoDetailManage/index.vue +290 -290
  799. package/src/pages/userInfoDetailManage/uploadFilesHistory/ImagePreview.vue +101 -101
  800. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +129 -129
  801. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  802. package/src/plugins/EventLogPlugin.js +33 -33
  803. package/src/plugins/FindParentsData.js +17 -17
  804. package/src/plugins/HiPrintPlugin.js +164 -164
  805. package/src/router/async/config.async.js +35 -35
  806. package/src/router/async/router.map.js +127 -127
  807. package/src/router/guards.js +262 -262
  808. package/src/router/i18n.js +57 -57
  809. package/src/router/index.js +27 -27
  810. package/src/router.js +17 -17
  811. package/src/services/DataModel.js +30 -30
  812. package/src/services/LodopFuncs.js +137 -137
  813. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  814. package/src/services/api/LogDetailsViewApi.js +10 -10
  815. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  816. package/src/services/api/TicketDetailsViewApi.js +46 -46
  817. package/src/services/api/cas.js +79 -79
  818. package/src/services/api/common.js +346 -346
  819. package/src/services/api/entity.js +18 -18
  820. package/src/services/api/index.js +17 -17
  821. package/src/services/api/logininfor/index.js +6 -6
  822. package/src/services/api/manage.js +8 -8
  823. package/src/services/api/restTools.js +215 -215
  824. package/src/services/api/workFlow.js +57 -57
  825. package/src/services/apiService.js +16 -16
  826. package/src/services/dataSource.js +12 -12
  827. package/src/services/index.js +7 -7
  828. package/src/services/user.js +92 -92
  829. package/src/services/v3Api.js +116 -116
  830. package/src/store/index.js +5 -5
  831. package/src/store/modules/account.js +115 -115
  832. package/src/store/modules/index.js +5 -5
  833. package/src/store/modules/lowCode.js +33 -33
  834. package/src/store/modules/setting.js +119 -119
  835. package/src/store/mutation-types.js +4 -4
  836. package/src/theme/antd/ant-menu.less +2 -2
  837. package/src/theme/antd/ant-message.less +3 -3
  838. package/src/theme/antd/ant-table.less +22 -22
  839. package/src/theme/antd/ant-time-picker.less +3 -3
  840. package/src/theme/antd/index.less +3 -3
  841. package/src/theme/default/color.less +43 -43
  842. package/src/theme/default/index.less +3 -3
  843. package/src/theme/default/nprogress.less +76 -76
  844. package/src/theme/default/style.less +58 -58
  845. package/src/theme/global.less +279 -279
  846. package/src/theme/index.less +5 -5
  847. package/src/theme/reportTable.less +58 -58
  848. package/src/theme/theme.less +1 -1
  849. package/src/utils/EncryptUtil.js +162 -162
  850. package/src/utils/Objects.js +25 -25
  851. package/src/utils/authority-utils.js +85 -85
  852. package/src/utils/axios-interceptors.js +100 -100
  853. package/src/utils/colors.js +107 -107
  854. package/src/utils/common.js +10 -10
  855. package/src/utils/errorCode.js +6 -6
  856. package/src/utils/excel/Blob.js +180 -180
  857. package/src/utils/excel/Export2Excel.js +184 -184
  858. package/src/utils/filter.js +21 -21
  859. package/src/utils/formatter.js +74 -74
  860. package/src/utils/htmlToPDF.js +108 -108
  861. package/src/utils/htmlToPDFApi.js +5 -5
  862. package/src/utils/i18n.js +80 -80
  863. package/src/utils/indexedDB.js +549 -549
  864. package/src/utils/login.js +188 -188
  865. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  866. package/src/utils/lowcode/lowcodeLog.js +29 -29
  867. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  868. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  869. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  870. package/src/utils/map-utils.js +47 -47
  871. package/src/utils/microAppUtils.js +49 -49
  872. package/src/utils/reg.js +95 -95
  873. package/src/utils/request.js +395 -395
  874. package/src/utils/routerUtil.js +574 -567
  875. package/src/utils/runEvalFunction.js +14 -14
  876. package/src/utils/theme-color-replacer-extend.js +92 -92
  877. package/src/utils/themeUtil.js +100 -100
  878. package/src/utils/util.js +329 -329
  879. package/src/utils/waterMark.js +31 -31
  880. package/test/Tree.spec.js +168 -168
  881. package/test/myDialog.spec.js +47 -47
  882. package/test/request.test.js +17 -17
  883. package/test/util.test.js +53 -53
  884. package/test/v3Api.test.js +1984 -1984
  885. package/tests/unit/ReportTable.spec.js +16 -16
  886. package/vue.config.js +222 -222
  887. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  888. package/.claude/settings.local.json +0 -12
@@ -1,807 +1,807 @@
1
- <template>
2
- <a-drawer
3
- :visible="visible"
4
- :width="isMobile ? screenWidth : screenWidth * 0.85"
5
- placement="right"
6
- title="工单详情"
7
- @close="onClose"
8
- >
9
- <!-- 移交工单对话框 -->
10
- <a-modal
11
- :visible="transVisible"
12
- :zIndex="1001"
13
- title="移交工单"
14
- @cancel="handleTransferCancel"
15
- @ok="handleTransferOk"
16
- >
17
- <a-form-model ref="transmitFormRef" :label-col="{ span: 4 }" :model="transmitForm" :rules="{ transferTo: { required: true, message: '移交人必填' }, note: { required: true, message: '备注不能为空' } }" :wrapper-col="{ span: 16 }">
18
- <a-form-model-item label="移交给" prop="transferTo">
19
- <a-select
20
- v-model="transmitForm.transferTo"
21
- :filter-option="false"
22
- :not-found-content="null"
23
- :options="nameOptionsFiltered"
24
- :show-arrow="false"
25
- placeholder="请输入移交人"
26
- show-search
27
- style="width: 150px"
28
- @search="employeeNameSearch" />
29
- </a-form-model-item>
30
- <a-form-model-item label="留言" prop="note">
31
- <a-textarea v-model="transmitForm.note" :rows="3" placeholder="请输入移交留言" />
32
- </a-form-model-item>
33
- <a-form-model-item label="上传图片">
34
- <div class="clearfix">
35
- <a-upload
36
- :before-upload="beforeUpload"
37
- :file-list="fileList"
38
- :remove="remove"
39
- action="/api/af-system/file/upload"
40
- list-type="picture-card"
41
- name="avatar"
42
- @change="handleChange"
43
- @preview="handlePreview"
44
- >
45
- <div v-if="fileList.length < 5">
46
- <a-icon type="plus" />
47
- <div class="ant-upload-text">点击上传</div>
48
- </div>
49
- </a-upload>
50
- </div>
51
- </a-form-model-item>
52
- </a-form-model>
53
- </a-modal>
54
- <!-- 图片预览弹框 -->
55
- <a-modal
56
- :dialog-style="{ top: '30px' }"
57
- :footer="null"
58
- :visible="previewVisible"
59
- :z-index="1001"
60
- width="90%"
61
- @cancel="handleCancel"
62
- >
63
- <img :src="previewImage" alt="上传图片" style="width: 100%"/>
64
- </a-modal>
65
- <!-- 关闭工单确认框 -->
66
- <a-modal
67
- :visible="closeVisible"
68
- :zIndex="1002"
69
- title="关闭工单"
70
- @cancel="handleCloseCancel"
71
- @ok="handleCloseOk"
72
- >
73
- <p>是否确认手动关闭工单?</p>
74
- <p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
75
- </a-modal>
76
- <!-- 信息主体 -->
77
- <a-spin :spinning="loadTicketDetails">
78
- <a-page-header :title="'订单:' + this.details.serial_number">
79
- <div class="row">
80
- <div class="content">
81
- <a-descriptions :column="isMobile ? 1 : 2" size="small">
82
- <a-descriptions-item label="优先级">
83
- <a-alert
84
- :message="showPriority()"
85
- :show-icon="true"
86
- :type="showPriorityColorControl()"/>
87
- </a-descriptions-item>
88
- <a-descriptions-item label="发起人">{{ details.uploader }}</a-descriptions-item>
89
- <a-descriptions-item label="问题类型">{{ details.category }}</a-descriptions-item>
90
- <a-descriptions-item label="发起人联系方式">{{ details.uploader_phone }}</a-descriptions-item>
91
- </a-descriptions>
92
- </div>
93
- </div>
94
- <!-- 按钮 -->
95
- <template #extra>
96
- <a-button-group style="margin-right: 4px;">
97
- <a-popover placement="bottomLeft" title="开始处理">
98
- <template slot="content">
99
- <p>开始处理当前工单</p>
100
- </template>
101
- <a-button :disabled="handlerBtnDisable()" type="primary" @click="confirmTicketBtn()">开始处理</a-button>
102
- </a-popover>
103
- <a-popover placement="bottomLeft" title="移交他人">
104
- <template slot="content">
105
- <p>将工单转交他人处理</p>
106
- </template>
107
- <a-button :disabled="transferBtnDisable()" type="primary" @click="transferBtn()">移交他人</a-button>
108
- </a-popover>
109
- <a-popover placement="bottomLeft" title="关闭工单">
110
- <template slot="content">
111
- <p>强制关闭当前工单</p>
112
- <p style="color: red">此操作不可撤销,请谨慎使用</p>
113
- </template>
114
- <a-button :disabled="closeBtnDisable()" type="danger" @click="closeBtn()">关闭工单</a-button>
115
- </a-popover>
116
- </a-button-group>
117
- <a-button-group style="margin-right: 4px;">
118
- <a-button :loading="showSpin" type="dashed" @click="initView">刷新({{ btnCountdownText }})</a-button>
119
- </a-button-group>
120
- </template>
121
- <!-- 进度条 -->
122
- <a-card :bordered="false" style="margin-top: 40px">
123
- <a-steps :current="step" :direction="'horizontal'">
124
- <a-step>
125
- <template #title><span>待处理</span></template>
126
- <template #description>
127
- <div>工单已提交,等待处理<div>{{ format(details.created_time,'yyyy-MM-dd hh:mm:ss') }}</div></div>
128
- </template>
129
- </a-step>
130
- <a-step>
131
- <template #title><span>处理中</span></template>
132
- <template #description>
133
- <div v-if="step >= 1"><strong>{{ details.name }}</strong> 处理中...<div>{{ format(details.confirm_time,'yyyy-MM-dd hh:mm:ss') }}</div></div>
134
- </template>
135
- </a-step>
136
- <a-step>
137
- <template #title><span>{{ getStatus() }}</span></template>
138
- <template #description>
139
- <div v-if="step >= 2">{{ format(details.finished_time,'yyyy-MM-dd hh:mm:ss') }}</div>
140
- </template>
141
- </a-step>
142
- </a-steps>
143
- </a-card>
144
- <!-- 切换栏 -->
145
- <a-tabs style="margin-top: 50px;">
146
- <!-- 问题描述 -->
147
- <a-tab-pane :key="1" tab="问题详细描述">
148
- <a-card :loading="descriptionLoading" style="width: 100%">
149
- <div v-for="(item,index) in addOnDescription" v-if="addOnDescription.length > 0" :key="index">
150
- <span style="font-size: 2em;margin-right: 20px;margin-top: 20px">{{ details.uploader }}</span>
151
- <span>{{ format(item.time,'yyyy年MM月dd日 hh:mm:ss') }}</span>
152
- <p style="text-indent: 2em;font-size: 20px;margin: 20px">{{ item.description }}</p>
153
- <img
154
- v-for="(pic,m) in item.images"
155
- :key="'is' + m"
156
- :class="changePhotoClassForSmall(pic.id)"
157
- :src="'data:image/png;base64,' + pic.url"
158
- alt=""
159
- @click="changePhotoClass(pic.id)">
160
- <div style="height: 1px;background: -webkit-linear-gradient(left, #fff -4%,#6b6c72 50%,#fff 100%);"></div>
161
- </div>
162
- <span style="font-size: 2em;margin-right: 20px">{{ details.uploader }}</span>
163
- <span>{{ format(details.created_time,'yyyy年MM月dd日 hh:mm:ss') }}</span>
164
- <p style="text-indent: 2em;font-size: 20px;margin: 10px">{{ details.description }}</p>
165
- <img
166
- v-for="(originalPic,n) in originalImages"
167
- :key="'os' + n"
168
- :class="changePhotoClassForSmall(originalPic.id)"
169
- :src="'data:image/png;base64,' + originalPic.url"
170
- style="margin-bottom: 10px"
171
- @click="changePhotoClass(originalPic.id)"
172
- alt="">
173
- </a-card>
174
- </a-tab-pane>
175
- <!-- 工单流转历史 -->
176
- <a-tab-pane :key="2" tab="工单流转历史">
177
- <ticket-details-flow
178
- v-if="details.id"
179
- :id="details.id"
180
- :disableCloseBtn="disableCloseBtn"
181
- :ticketId="ticketId"
182
- @imageClick="flowImageClick"/>
183
- </a-tab-pane>
184
- </a-tabs>
185
- </a-page-header>
186
- </a-spin>
187
- <audio ref="audio" controls="controls" hidden src="@vue2-client/assets/sound/newNote.mp3"></audio>
188
- <!-- 放大后图片 -->
189
- <div v-if="selectedImageShow" class="imgBackground" @click="changePhotoClass(selectedImage.id)">
190
- <img
191
- :src="'data:image/png;base64,' + selectedImage.url"
192
- class="img_xl"
193
- alt="">
194
- </div>
195
- </a-drawer>
196
- </template>
197
-
198
- <script>
199
- import JsonViewer from 'vue-json-viewer'
200
- import { formatDate } from '@vue2-client/utils/util'
201
- import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
202
- import XTable from '@vue2-client/base-client/components/common/XTable/XTable'
203
- import { mapState } from 'vuex'
204
- import TicketDetailsFlow from './part/TicketDetailsFlow'
205
- import moment from 'moment'
206
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
207
-
208
- function getBase64 (file) {
209
- return new Promise((resolve, reject) => {
210
- const reader = new FileReader()
211
- reader.readAsDataURL(file)
212
- reader.onload = () => resolve(reader.result)
213
- reader.onerror = error => reject(error)
214
- })
215
- }
216
-
217
- export default {
218
- name: 'TicketDetailsView',
219
- components: {
220
- XFormItem,
221
- TicketDetailsFlow,
222
- JsonViewer,
223
- XTable
224
- },
225
- data () {
226
- return {
227
- moment,
228
- // 页面宽度
229
- screenWidth: document.documentElement.clientWidth,
230
- // 控制成功页面显示
231
- successVisible: false,
232
- // 控制预览显示
233
- previewVisible: false,
234
- // 图片真实地址
235
- previewImage: '',
236
- // 图片列表
237
- fileList: [],
238
- // 工单详情
239
- details: {
240
- // 当前负责人ID
241
- id: undefined,
242
- name: '',
243
- uploader: '',
244
- status: undefined,
245
- priority: undefined,
246
- description: '',
247
- created_time: '',
248
- confirm_time: '',
249
- finished_time: '',
250
- category: '',
251
- serial_number: '',
252
- uploader_phone: ''
253
- },
254
- images: [],
255
- selectedImage: null,
256
- selectedImageShow: false,
257
- // 当前步骤
258
- step: 0,
259
- // 移交工单窗口可见性
260
- transVisible: false,
261
- // 移交表单
262
- transmitForm: {
263
- transferTo: undefined,
264
- note: ''
265
- },
266
- // 控制关闭订单按钮可用性
267
- disableCloseBtn: false,
268
- // 控制关闭工单确认框显示
269
- closeVisible: false,
270
- // 控制加载过程
271
- loadTicketDetails: false,
272
- // 附加描述
273
- addOnDescription: [],
274
- // 上传工单时自带照片
275
- originalImages: [],
276
- // 定时刷新定时器
277
- timer: undefined,
278
- // 所有员工姓名
279
- nameOptions: [],
280
- // 结果筛选的员工信息
281
- nameOptionsFiltered: [],
282
- // 工单流转抽屉可见性
283
- workFlowVisible: false,
284
- // 控制小加载指示物显示
285
- showSpin: true,
286
- // 原始描述长度
287
- addOnDescriptionOriginal: undefined,
288
- // 描述加载控制
289
- descriptionLoading: false,
290
- // 用于刷新按钮倒计时显示
291
- btnCountdownText: 5,
292
- }
293
- },
294
- mounted () {
295
- this.initView()
296
- },
297
- computed: {
298
- ...mapState('account', { currUser: 'user' }),
299
- ...mapState('setting', ['isMobile'])
300
- },
301
- props: {
302
- ticketId: {
303
- type: String,
304
- required: true
305
- },
306
- visible: {
307
- type: Boolean,
308
- default: false
309
- }
310
- },
311
- beforeDestroy () {
312
- this.stopTimer()
313
- },
314
- methods: {
315
- employeeNameSearch (input) {
316
- if (!input) {
317
- this.nameOptionsFiltered = []
318
- return
319
- }
320
- this.nameOptionsFiltered = this.nameOptions.filter(item => item.name.includes(input)).map(item => ({ label: item.name, value: item.id }))
321
- },
322
- // 获取所有员工名,供输入框备选
323
- getAllEmpNames () {
324
- return post(TicketDetailsViewApi.getAllEmployeeName, null)
325
- .then(res => {
326
- this.nameOptions = res
327
- }, err => {
328
- console.log(err)
329
- })
330
- },
331
- // 图像修改检测
332
- handleChange ({ fileList }) {
333
- this.fileList = fileList.filter((item) => {
334
- return item.status === 'done' || item.status === 'uploading'
335
- })
336
- },
337
- // 在上传页面,点击图片上的垃圾桶,撤销上传
338
- remove (file) {
339
- return post(TicketDetailsViewApi.revocationImage, {
340
- file: file
341
- })
342
- .then(res => {
343
- if (res.data === 'success') {
344
- this.$message.success('删除成功')
345
- }
346
- this.fileList = this.fileList.filter((item) => {
347
- return item.response.name !== file.response.name
348
- })
349
- }, err => {
350
- console.log(err)
351
- })
352
- },
353
- // 上传头像前校验
354
- beforeUpload (file) {
355
- const isJpgOrPng =
356
- file.type === 'image/jpeg' ||
357
- file.type === 'image/jpg' ||
358
- file.type === 'image/png'
359
- const Lt2M = file.size / 1024 / 1024 < 2
360
- if (!Lt2M) {
361
- this.$message.error('图片不得大于2MB!')
362
- }
363
- if (!isJpgOrPng) {
364
- this.$message.error('只能上传jpg/png格式的图片')
365
- }
366
- return isJpgOrPng && Lt2M
367
- },
368
- handleCancel () {
369
- this.previewVisible = false
370
- },
371
- // 处理预览图像
372
- async handlePreview (file) {
373
- if (!file.url && !file.preview) {
374
- file.preview = await getBase64(file.originFileObj)
375
- }
376
- this.previewImage = file.url || file.preview
377
- this.previewVisible = true
378
- },
379
- // 开启定时器
380
- setTimer () {
381
- if (this.timer === undefined) {
382
- this.timer = setInterval(() => {
383
- if (this.btnCountdownText > 0) {
384
- this.btnCountdownText--
385
- if (this.btnCountdownText === 0) {
386
- this.initView()
387
- this.btnCountdownText = 5
388
- }
389
- }
390
- }, 1000)
391
- }
392
- },
393
- // 初始化组件
394
- initView () {
395
- this.showSpin = true
396
- this.descriptionLoading = true
397
- // 获取所有员工名
398
- this.getAllEmpNames()
399
- // 获取工单的基本详情
400
- this.getTicketDetail(this.ticketId)
401
- // 获取工单的附加信息
402
- this.handleOtherData()
403
- },
404
- // 图像点击切换放大缩小
405
- changePhotoClass (id) {
406
- for (let i = 0; i < this.images.length; i++) {
407
- if (id === this.images[i].id) {
408
- this.images[i].isLarge = !this.images[i].isLarge
409
- this.selectedImage = this.images[i]
410
- }
411
- }
412
- this.selectedImageShow = !this.selectedImageShow
413
- },
414
- // 控制未放大图像变暗
415
- changePhotoClassForSmall (id) {
416
- for (let i = 0; i < this.images.length; i++) {
417
- if (id === this.images[i].id) {
418
- if (this.images[i].isLarge === true) {
419
- return 'img_sm_dark'
420
- } else {
421
- return 'img_sm'
422
- }
423
- }
424
- }
425
- },
426
- // 获取当前相关联的照片
427
- getPhoto () {
428
- return post(TicketDetailsViewApi.getTicketImages, {
429
- ticketId: this.ticketId
430
- })
431
- .then(res => {
432
- this.images = res
433
- for (let i = 0; i < this.images.length; i++) {
434
- this.images[i].isLarge = false
435
- }
436
- this.mergeAddImage()
437
- }, err => {
438
- console.log(err)
439
- })
440
- },
441
- // 将同一次上传的图片,与描述放在一起
442
- mergeAddImage () {
443
- this.originalImages = []
444
- for (let i = 0; i < this.addOnDescription.length; i++) {
445
- this.addOnDescription[i].images = []
446
- }
447
- for (let i = 0; i < this.images.length; i++) {
448
- if (this.images[i].did === 0) {
449
- this.originalImages.push(this.images[i])
450
- continue
451
- }
452
- for (let j = 0; j < this.addOnDescription.length; j++) {
453
- if (this.images[i].did === this.addOnDescription[j].id) {
454
- this.addOnDescription[j].images.push(this.images[i])
455
- }
456
- }
457
- }
458
- this.initDone()
459
- },
460
- initDone () {
461
- // 初始化信息
462
- this.showSpin = false
463
- this.descriptionLoading = false
464
- if (this.step !== 3) {
465
- this.setTimer()
466
- }
467
- this.addOnDescriptionOriginal = 1
468
- },
469
- // 关闭工单确认后业务逻辑
470
- handleCloseOk () {
471
- return post(TicketDetailsViewApi.manualCloseTicket, {
472
- ticketId: this.ticketId,
473
- time: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss')
474
- })
475
- .then(res => {
476
- if (res.data !== 0) {
477
- this.$message.success(
478
- '操作成功',
479
- 5
480
- )
481
- this.initView()
482
- this.closeVisible = false
483
- } else {
484
- this.$message.error(
485
- '操作失败',
486
- 5
487
- )
488
- }
489
- }, err => {
490
- console.error(err)
491
- })
492
- },
493
- // 关闭工单取消后业务逻辑
494
- handleCloseCancel () {
495
- this.closeVisible = false
496
- },
497
- // 确认工单按钮业务逻辑
498
- confirmTicketBtn () {
499
- return post(TicketDetailsViewApi.confirmTicket, {
500
- ticketId: this.ticketId,
501
- time: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss'),
502
- empId: this.currUser.id
503
- })
504
- .then(res => {
505
- if (res.data !== 0) {
506
- this.$message.success('操作成功', 5)
507
- } else {
508
- this.$message.error('工单已被他人处理或关闭,请刷新再试', 5)
509
- }
510
- this.initView()
511
- }, err => {
512
- console.error(err)
513
- this.$message.error('工单已被他人处理,请刷新再试', 5)
514
- this.initView()
515
- })
516
- },
517
- // 转移工单按钮业务逻辑
518
- transferBtn () {
519
- this.transVisible = true
520
- },
521
- // 获取工单状态撤销or关闭
522
- getStatus () {
523
- if (this.details.status === 2) {
524
- return '已撤销'
525
- } else {
526
- return '已关闭'
527
- }
528
- },
529
- // 关闭工单按钮业务逻辑
530
- closeBtn () {
531
- this.closeVisible = true
532
- },
533
- // 转移工单确认后逻辑
534
- handleTransferOk () {
535
- this.$refs.transmitFormRef.validate().then(() => {
536
- post(TicketDetailsViewApi.transferTicketToOthers, {
537
- ticketId: this.ticketId,
538
- endTime: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss'),
539
- ...this.transmitForm,
540
- images: this.fileList
541
- })
542
- .then(res => {
543
- const result = res
544
- this.transVisible = false
545
- if (result.data === 1) {
546
- this.$message.success(
547
- '操作成功',
548
- 5
549
- )
550
- this.fileList = []
551
- this.$refs.transmitFormRef.resetFields()
552
- } else {
553
- this.$message.error('工单已被他人处理或关闭,请刷新再试', 5)
554
- }
555
- this.handleCancel()
556
- this.initView()
557
- }, err => {
558
- console.error(err)
559
- this.transVisible = false
560
- })
561
- })
562
- },
563
- // 转移工单取消后逻辑
564
- handleTransferCancel () {
565
- this.transVisible = false
566
- this.$refs.transmitFormRef.resetFields()
567
- },
568
- // 关闭抽屉时回调
569
- onClose () {
570
- this.stopTimer()
571
- this.addOnDescription = []
572
- this.disableCloseBtn = false
573
- this.$emit('update:visible', false)
574
- this.originalImages = []
575
- this.images = []
576
- this.addOnDescriptionOriginal = undefined
577
- },
578
- // 对其他信息进行初始化,包括附加描述,图片
579
- handleOtherData () {
580
- const beforeLength = this.addOnDescription.length
581
- return post(TicketDetailsViewApi.getAddonDescription, {
582
- ticketId: this.ticketId
583
- })
584
- .then(res => {
585
- this.addOnDescription = res
586
- this.getPhoto()
587
- if (this.addOnDescription.length > beforeLength && this.addOnDescriptionOriginal !== undefined) {
588
- this.addOnDescriptionOriginal = 1
589
- this.$refs.audio.currentTime = 0
590
- this.$refs.audio.play()
591
- this.$notification.open({
592
- message: '最新通知',
593
- description:
594
- '客户追加了问题描述,请及时查看!',
595
- onClick: () => {
596
- }
597
- })
598
- }
599
- }, err => {
600
- console.log(err)
601
- })
602
- },
603
- // 获取工单详情信息
604
- getTicketDetail (num) {
605
- this.showSpin = true
606
- return post(TicketDetailsViewApi.getTicketDetails, {
607
- ticketId: num
608
- }).then(res => {
609
- this.details = res[0]
610
- this.step = res[0].status
611
- if (this.details.status === 3) {
612
- this.disableCloseBtn = true
613
- }
614
- const categoryValue = this.details.category
615
- this.details.category = this.$appdata.getDictionaryList('ticketCategoryMap')[categoryValue].label
616
- }, err => {
617
- console.error(err)
618
- })
619
- },
620
- // 日期格式化
621
- format (date, format) {
622
- return formatDate(date, format)
623
- },
624
- // 转换JSON
625
- toJSON (value) {
626
- try {
627
- return JSON.parse(value)
628
- } catch (e) {
629
- return value
630
- }
631
- },
632
- // 控制开始处理按钮可用状态
633
- handlerBtnDisable () {
634
- return this.step !== 0
635
- },
636
- // 控制移交他人按钮可用状态
637
- transferBtnDisable () {
638
- return this.step === 0 || this.step === 3
639
- },
640
- // 控制关闭工单按钮可用状态
641
- closeBtnDisable () {
642
- return this.step === 0 || this.disableCloseBtn || this.details.name !== this.currUser.ename
643
- },
644
- // 优先级文字显示
645
- showPriority () {
646
- if (this.details.priority === 2) {
647
- return '一般'
648
- } else if (this.details.priority === 1) {
649
- return '紧急'
650
- } else {
651
- return '非常紧急'
652
- }
653
- },
654
- // 优先度颜色控制
655
- showPriorityColorControl () {
656
- if (this.details.priority === 2) {
657
- return 'info'
658
- } else if (this.details.priority === 1) {
659
- return 'warning'
660
- } else {
661
- return 'error'
662
- }
663
- },
664
- // 单击工单流转历史图片
665
- flowImageClick (image) {
666
- this.selectedImage = image
667
- this.selectedImageShow = !this.selectedImageShow
668
- },
669
- // 停止定时器
670
- stopTimer () {
671
- if (this.timer) {
672
- clearInterval(this.timer)
673
- this.timer = undefined
674
- }
675
- },
676
- },
677
- watch: {
678
- 'visible' (val) {
679
- if (val) {
680
- this.initView()
681
- }
682
- },
683
- 'step' (newVal) {
684
- if (newVal === 3) {
685
- this.stopTimer()
686
- }
687
- }
688
- }
689
- }
690
- </script>
691
-
692
- <style lang="less" scoped>
693
- .high-priority{
694
- background-color: rgba(163, 30, 30, 0.66);
695
- border: red solid 1px;
696
- font-size: large;
697
- padding: 5px;
698
- color: white;
699
- border-radius: 10px;
700
- }
701
-
702
- .detail-layout {
703
- margin-left: 44px;
704
- }
705
- .text {
706
- color: rgba(0, 0, 0, .45);
707
- }
708
-
709
- .heading {
710
- color: rgba(0, 0, 0, .85);
711
- font-size: 20px;
712
- }
713
-
714
- .no-data {
715
- color: rgba(0, 0, 0, .25);
716
- text-align: center;
717
- line-height: 64px;
718
- font-size: 16px;
719
-
720
- i {
721
- font-size: 24px;
722
- margin-right: 16px;
723
- position: relative;
724
- top: 3px;
725
- }
726
- }
727
-
728
- .mobile {
729
- .detail-layout {
730
- margin-left: unset;
731
- }
732
- .text {
733
-
734
- }
735
- .status-list {
736
- text-align: left;
737
- }
738
- }
739
-
740
- .row {
741
- display: flex;
742
-
743
- .content {
744
- -webkit-box-flex: 1;
745
- flex: auto;
746
- -ms-flex: auto;
747
- }
748
-
749
- .extra {
750
- flex: 0 1 auto;
751
- -webkit-box-flex: 0;
752
- -ms-flex: 0 1 auto;
753
- min-width: 242px;
754
- margin-left: 88px;
755
- text-align: right;
756
- }
757
- }
758
-
759
- .img_sm {
760
- border: rgba(84, 84, 84, 0.2) solid 1.5px;
761
- border-radius: 5px;
762
- padding: 10px;
763
- width: 160px;
764
- height: 120px;
765
- margin-bottom: 20px;
766
- margin-left: 20px;
767
- }
768
- .img_xl {
769
- position: absolute;
770
- top:0;bottom:0;left:0;right:0;
771
- margin: auto;
772
- width: 60%;
773
- max-width: 1000px;
774
- cursor: zoom-out;
775
- z-index: 9999;
776
- animation: imgZoomIn 0.4s;
777
- -webkit-animation: imgZoomIn 0.4s;
778
- }
779
- @keyframes imgZoomIn
780
- {
781
- from {width: 160px;}
782
- to {width: 60%;}
783
- }
784
- .img_sm:hover {
785
- opacity: 0.6;
786
- cursor: zoom-in;
787
- }
788
- .img_sm_dark{
789
- filter: grayscale(100%);
790
- opacity: 0.6;
791
- border: rgba(84, 84, 84, 0.2) solid 1.5px;
792
- border-radius: 5px;
793
- padding: 10px;
794
- width: 160px;
795
- height: 120px;
796
- margin-bottom: 20px;
797
- margin-left: 20px;
798
- }
799
- .imgBackground {
800
- position: absolute;
801
- top:0;bottom:0;left:0;right:0;
802
- width: 100%;
803
- height: 100%;
804
- z-index: 9998;
805
- background-color: rgba(0,0,0,0.7);
806
- }
807
- </style>
1
+ <template>
2
+ <a-drawer
3
+ :visible="visible"
4
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
5
+ placement="right"
6
+ title="工单详情"
7
+ @close="onClose"
8
+ >
9
+ <!-- 移交工单对话框 -->
10
+ <a-modal
11
+ :visible="transVisible"
12
+ :zIndex="1001"
13
+ title="移交工单"
14
+ @cancel="handleTransferCancel"
15
+ @ok="handleTransferOk"
16
+ >
17
+ <a-form-model ref="transmitFormRef" :label-col="{ span: 4 }" :model="transmitForm" :rules="{ transferTo: { required: true, message: '移交人必填' }, note: { required: true, message: '备注不能为空' } }" :wrapper-col="{ span: 16 }">
18
+ <a-form-model-item label="移交给" prop="transferTo">
19
+ <a-select
20
+ v-model="transmitForm.transferTo"
21
+ :filter-option="false"
22
+ :not-found-content="null"
23
+ :options="nameOptionsFiltered"
24
+ :show-arrow="false"
25
+ placeholder="请输入移交人"
26
+ show-search
27
+ style="width: 150px"
28
+ @search="employeeNameSearch" />
29
+ </a-form-model-item>
30
+ <a-form-model-item label="留言" prop="note">
31
+ <a-textarea v-model="transmitForm.note" :rows="3" placeholder="请输入移交留言" />
32
+ </a-form-model-item>
33
+ <a-form-model-item label="上传图片">
34
+ <div class="clearfix">
35
+ <a-upload
36
+ :before-upload="beforeUpload"
37
+ :file-list="fileList"
38
+ :remove="remove"
39
+ action="/api/af-system/file/upload"
40
+ list-type="picture-card"
41
+ name="avatar"
42
+ @change="handleChange"
43
+ @preview="handlePreview"
44
+ >
45
+ <div v-if="fileList.length < 5">
46
+ <a-icon type="plus" />
47
+ <div class="ant-upload-text">点击上传</div>
48
+ </div>
49
+ </a-upload>
50
+ </div>
51
+ </a-form-model-item>
52
+ </a-form-model>
53
+ </a-modal>
54
+ <!-- 图片预览弹框 -->
55
+ <a-modal
56
+ :dialog-style="{ top: '30px' }"
57
+ :footer="null"
58
+ :visible="previewVisible"
59
+ :z-index="1001"
60
+ width="90%"
61
+ @cancel="handleCancel"
62
+ >
63
+ <img :src="previewImage" alt="上传图片" style="width: 100%"/>
64
+ </a-modal>
65
+ <!-- 关闭工单确认框 -->
66
+ <a-modal
67
+ :visible="closeVisible"
68
+ :zIndex="1002"
69
+ title="关闭工单"
70
+ @cancel="handleCloseCancel"
71
+ @ok="handleCloseOk"
72
+ >
73
+ <p>是否确认手动关闭工单?</p>
74
+ <p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
75
+ </a-modal>
76
+ <!-- 信息主体 -->
77
+ <a-spin :spinning="loadTicketDetails">
78
+ <a-page-header :title="'订单:' + this.details.serial_number">
79
+ <div class="row">
80
+ <div class="content">
81
+ <a-descriptions :column="isMobile ? 1 : 2" size="small">
82
+ <a-descriptions-item label="优先级">
83
+ <a-alert
84
+ :message="showPriority()"
85
+ :show-icon="true"
86
+ :type="showPriorityColorControl()"/>
87
+ </a-descriptions-item>
88
+ <a-descriptions-item label="发起人">{{ details.uploader }}</a-descriptions-item>
89
+ <a-descriptions-item label="问题类型">{{ details.category }}</a-descriptions-item>
90
+ <a-descriptions-item label="发起人联系方式">{{ details.uploader_phone }}</a-descriptions-item>
91
+ </a-descriptions>
92
+ </div>
93
+ </div>
94
+ <!-- 按钮 -->
95
+ <template #extra>
96
+ <a-button-group style="margin-right: 4px;">
97
+ <a-popover placement="bottomLeft" title="开始处理">
98
+ <template slot="content">
99
+ <p>开始处理当前工单</p>
100
+ </template>
101
+ <a-button :disabled="handlerBtnDisable()" type="primary" @click="confirmTicketBtn()">开始处理</a-button>
102
+ </a-popover>
103
+ <a-popover placement="bottomLeft" title="移交他人">
104
+ <template slot="content">
105
+ <p>将工单转交他人处理</p>
106
+ </template>
107
+ <a-button :disabled="transferBtnDisable()" type="primary" @click="transferBtn()">移交他人</a-button>
108
+ </a-popover>
109
+ <a-popover placement="bottomLeft" title="关闭工单">
110
+ <template slot="content">
111
+ <p>强制关闭当前工单</p>
112
+ <p style="color: red">此操作不可撤销,请谨慎使用</p>
113
+ </template>
114
+ <a-button :disabled="closeBtnDisable()" type="danger" @click="closeBtn()">关闭工单</a-button>
115
+ </a-popover>
116
+ </a-button-group>
117
+ <a-button-group style="margin-right: 4px;">
118
+ <a-button :loading="showSpin" type="dashed" @click="initView">刷新({{ btnCountdownText }})</a-button>
119
+ </a-button-group>
120
+ </template>
121
+ <!-- 进度条 -->
122
+ <a-card :bordered="false" style="margin-top: 40px">
123
+ <a-steps :current="step" :direction="'horizontal'">
124
+ <a-step>
125
+ <template #title><span>待处理</span></template>
126
+ <template #description>
127
+ <div>工单已提交,等待处理<div>{{ format(details.created_time,'yyyy-MM-dd hh:mm:ss') }}</div></div>
128
+ </template>
129
+ </a-step>
130
+ <a-step>
131
+ <template #title><span>处理中</span></template>
132
+ <template #description>
133
+ <div v-if="step >= 1"><strong>{{ details.name }}</strong> 处理中...<div>{{ format(details.confirm_time,'yyyy-MM-dd hh:mm:ss') }}</div></div>
134
+ </template>
135
+ </a-step>
136
+ <a-step>
137
+ <template #title><span>{{ getStatus() }}</span></template>
138
+ <template #description>
139
+ <div v-if="step >= 2">{{ format(details.finished_time,'yyyy-MM-dd hh:mm:ss') }}</div>
140
+ </template>
141
+ </a-step>
142
+ </a-steps>
143
+ </a-card>
144
+ <!-- 切换栏 -->
145
+ <a-tabs style="margin-top: 50px;">
146
+ <!-- 问题描述 -->
147
+ <a-tab-pane :key="1" tab="问题详细描述">
148
+ <a-card :loading="descriptionLoading" style="width: 100%">
149
+ <div v-for="(item,index) in addOnDescription" v-if="addOnDescription.length > 0" :key="index">
150
+ <span style="font-size: 2em;margin-right: 20px;margin-top: 20px">{{ details.uploader }}</span>
151
+ <span>{{ format(item.time,'yyyy年MM月dd日 hh:mm:ss') }}</span>
152
+ <p style="text-indent: 2em;font-size: 20px;margin: 20px">{{ item.description }}</p>
153
+ <img
154
+ v-for="(pic,m) in item.images"
155
+ :key="'is' + m"
156
+ :class="changePhotoClassForSmall(pic.id)"
157
+ :src="'data:image/png;base64,' + pic.url"
158
+ alt=""
159
+ @click="changePhotoClass(pic.id)">
160
+ <div style="height: 1px;background: -webkit-linear-gradient(left, #fff -4%,#6b6c72 50%,#fff 100%);"></div>
161
+ </div>
162
+ <span style="font-size: 2em;margin-right: 20px">{{ details.uploader }}</span>
163
+ <span>{{ format(details.created_time,'yyyy年MM月dd日 hh:mm:ss') }}</span>
164
+ <p style="text-indent: 2em;font-size: 20px;margin: 10px">{{ details.description }}</p>
165
+ <img
166
+ v-for="(originalPic,n) in originalImages"
167
+ :key="'os' + n"
168
+ :class="changePhotoClassForSmall(originalPic.id)"
169
+ :src="'data:image/png;base64,' + originalPic.url"
170
+ style="margin-bottom: 10px"
171
+ @click="changePhotoClass(originalPic.id)"
172
+ alt="">
173
+ </a-card>
174
+ </a-tab-pane>
175
+ <!-- 工单流转历史 -->
176
+ <a-tab-pane :key="2" tab="工单流转历史">
177
+ <ticket-details-flow
178
+ v-if="details.id"
179
+ :id="details.id"
180
+ :disableCloseBtn="disableCloseBtn"
181
+ :ticketId="ticketId"
182
+ @imageClick="flowImageClick"/>
183
+ </a-tab-pane>
184
+ </a-tabs>
185
+ </a-page-header>
186
+ </a-spin>
187
+ <audio ref="audio" controls="controls" hidden src="@vue2-client/assets/sound/newNote.mp3"></audio>
188
+ <!-- 放大后图片 -->
189
+ <div v-if="selectedImageShow" class="imgBackground" @click="changePhotoClass(selectedImage.id)">
190
+ <img
191
+ :src="'data:image/png;base64,' + selectedImage.url"
192
+ class="img_xl"
193
+ alt="">
194
+ </div>
195
+ </a-drawer>
196
+ </template>
197
+
198
+ <script>
199
+ import JsonViewer from 'vue-json-viewer'
200
+ import { formatDate } from '@vue2-client/utils/util'
201
+ import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
202
+ import XTable from '@vue2-client/base-client/components/common/XTable/XTable'
203
+ import { mapState } from 'vuex'
204
+ import TicketDetailsFlow from './part/TicketDetailsFlow'
205
+ import moment from 'moment'
206
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
207
+
208
+ function getBase64 (file) {
209
+ return new Promise((resolve, reject) => {
210
+ const reader = new FileReader()
211
+ reader.readAsDataURL(file)
212
+ reader.onload = () => resolve(reader.result)
213
+ reader.onerror = error => reject(error)
214
+ })
215
+ }
216
+
217
+ export default {
218
+ name: 'TicketDetailsView',
219
+ components: {
220
+ XFormItem,
221
+ TicketDetailsFlow,
222
+ JsonViewer,
223
+ XTable
224
+ },
225
+ data () {
226
+ return {
227
+ moment,
228
+ // 页面宽度
229
+ screenWidth: document.documentElement.clientWidth,
230
+ // 控制成功页面显示
231
+ successVisible: false,
232
+ // 控制预览显示
233
+ previewVisible: false,
234
+ // 图片真实地址
235
+ previewImage: '',
236
+ // 图片列表
237
+ fileList: [],
238
+ // 工单详情
239
+ details: {
240
+ // 当前负责人ID
241
+ id: undefined,
242
+ name: '',
243
+ uploader: '',
244
+ status: undefined,
245
+ priority: undefined,
246
+ description: '',
247
+ created_time: '',
248
+ confirm_time: '',
249
+ finished_time: '',
250
+ category: '',
251
+ serial_number: '',
252
+ uploader_phone: ''
253
+ },
254
+ images: [],
255
+ selectedImage: null,
256
+ selectedImageShow: false,
257
+ // 当前步骤
258
+ step: 0,
259
+ // 移交工单窗口可见性
260
+ transVisible: false,
261
+ // 移交表单
262
+ transmitForm: {
263
+ transferTo: undefined,
264
+ note: ''
265
+ },
266
+ // 控制关闭订单按钮可用性
267
+ disableCloseBtn: false,
268
+ // 控制关闭工单确认框显示
269
+ closeVisible: false,
270
+ // 控制加载过程
271
+ loadTicketDetails: false,
272
+ // 附加描述
273
+ addOnDescription: [],
274
+ // 上传工单时自带照片
275
+ originalImages: [],
276
+ // 定时刷新定时器
277
+ timer: undefined,
278
+ // 所有员工姓名
279
+ nameOptions: [],
280
+ // 结果筛选的员工信息
281
+ nameOptionsFiltered: [],
282
+ // 工单流转抽屉可见性
283
+ workFlowVisible: false,
284
+ // 控制小加载指示物显示
285
+ showSpin: true,
286
+ // 原始描述长度
287
+ addOnDescriptionOriginal: undefined,
288
+ // 描述加载控制
289
+ descriptionLoading: false,
290
+ // 用于刷新按钮倒计时显示
291
+ btnCountdownText: 5,
292
+ }
293
+ },
294
+ mounted () {
295
+ this.initView()
296
+ },
297
+ computed: {
298
+ ...mapState('account', { currUser: 'user' }),
299
+ ...mapState('setting', ['isMobile'])
300
+ },
301
+ props: {
302
+ ticketId: {
303
+ type: String,
304
+ required: true
305
+ },
306
+ visible: {
307
+ type: Boolean,
308
+ default: false
309
+ }
310
+ },
311
+ beforeDestroy () {
312
+ this.stopTimer()
313
+ },
314
+ methods: {
315
+ employeeNameSearch (input) {
316
+ if (!input) {
317
+ this.nameOptionsFiltered = []
318
+ return
319
+ }
320
+ this.nameOptionsFiltered = this.nameOptions.filter(item => item.name.includes(input)).map(item => ({ label: item.name, value: item.id }))
321
+ },
322
+ // 获取所有员工名,供输入框备选
323
+ getAllEmpNames () {
324
+ return post(TicketDetailsViewApi.getAllEmployeeName, null)
325
+ .then(res => {
326
+ this.nameOptions = res
327
+ }, err => {
328
+ console.log(err)
329
+ })
330
+ },
331
+ // 图像修改检测
332
+ handleChange ({ fileList }) {
333
+ this.fileList = fileList.filter((item) => {
334
+ return item.status === 'done' || item.status === 'uploading'
335
+ })
336
+ },
337
+ // 在上传页面,点击图片上的垃圾桶,撤销上传
338
+ remove (file) {
339
+ return post(TicketDetailsViewApi.revocationImage, {
340
+ file: file
341
+ })
342
+ .then(res => {
343
+ if (res.data === 'success') {
344
+ this.$message.success('删除成功')
345
+ }
346
+ this.fileList = this.fileList.filter((item) => {
347
+ return item.response.name !== file.response.name
348
+ })
349
+ }, err => {
350
+ console.log(err)
351
+ })
352
+ },
353
+ // 上传头像前校验
354
+ beforeUpload (file) {
355
+ const isJpgOrPng =
356
+ file.type === 'image/jpeg' ||
357
+ file.type === 'image/jpg' ||
358
+ file.type === 'image/png'
359
+ const Lt2M = file.size / 1024 / 1024 < 2
360
+ if (!Lt2M) {
361
+ this.$message.error('图片不得大于2MB!')
362
+ }
363
+ if (!isJpgOrPng) {
364
+ this.$message.error('只能上传jpg/png格式的图片')
365
+ }
366
+ return isJpgOrPng && Lt2M
367
+ },
368
+ handleCancel () {
369
+ this.previewVisible = false
370
+ },
371
+ // 处理预览图像
372
+ async handlePreview (file) {
373
+ if (!file.url && !file.preview) {
374
+ file.preview = await getBase64(file.originFileObj)
375
+ }
376
+ this.previewImage = file.url || file.preview
377
+ this.previewVisible = true
378
+ },
379
+ // 开启定时器
380
+ setTimer () {
381
+ if (this.timer === undefined) {
382
+ this.timer = setInterval(() => {
383
+ if (this.btnCountdownText > 0) {
384
+ this.btnCountdownText--
385
+ if (this.btnCountdownText === 0) {
386
+ this.initView()
387
+ this.btnCountdownText = 5
388
+ }
389
+ }
390
+ }, 1000)
391
+ }
392
+ },
393
+ // 初始化组件
394
+ initView () {
395
+ this.showSpin = true
396
+ this.descriptionLoading = true
397
+ // 获取所有员工名
398
+ this.getAllEmpNames()
399
+ // 获取工单的基本详情
400
+ this.getTicketDetail(this.ticketId)
401
+ // 获取工单的附加信息
402
+ this.handleOtherData()
403
+ },
404
+ // 图像点击切换放大缩小
405
+ changePhotoClass (id) {
406
+ for (let i = 0; i < this.images.length; i++) {
407
+ if (id === this.images[i].id) {
408
+ this.images[i].isLarge = !this.images[i].isLarge
409
+ this.selectedImage = this.images[i]
410
+ }
411
+ }
412
+ this.selectedImageShow = !this.selectedImageShow
413
+ },
414
+ // 控制未放大图像变暗
415
+ changePhotoClassForSmall (id) {
416
+ for (let i = 0; i < this.images.length; i++) {
417
+ if (id === this.images[i].id) {
418
+ if (this.images[i].isLarge === true) {
419
+ return 'img_sm_dark'
420
+ } else {
421
+ return 'img_sm'
422
+ }
423
+ }
424
+ }
425
+ },
426
+ // 获取当前相关联的照片
427
+ getPhoto () {
428
+ return post(TicketDetailsViewApi.getTicketImages, {
429
+ ticketId: this.ticketId
430
+ })
431
+ .then(res => {
432
+ this.images = res
433
+ for (let i = 0; i < this.images.length; i++) {
434
+ this.images[i].isLarge = false
435
+ }
436
+ this.mergeAddImage()
437
+ }, err => {
438
+ console.log(err)
439
+ })
440
+ },
441
+ // 将同一次上传的图片,与描述放在一起
442
+ mergeAddImage () {
443
+ this.originalImages = []
444
+ for (let i = 0; i < this.addOnDescription.length; i++) {
445
+ this.addOnDescription[i].images = []
446
+ }
447
+ for (let i = 0; i < this.images.length; i++) {
448
+ if (this.images[i].did === 0) {
449
+ this.originalImages.push(this.images[i])
450
+ continue
451
+ }
452
+ for (let j = 0; j < this.addOnDescription.length; j++) {
453
+ if (this.images[i].did === this.addOnDescription[j].id) {
454
+ this.addOnDescription[j].images.push(this.images[i])
455
+ }
456
+ }
457
+ }
458
+ this.initDone()
459
+ },
460
+ initDone () {
461
+ // 初始化信息
462
+ this.showSpin = false
463
+ this.descriptionLoading = false
464
+ if (this.step !== 3) {
465
+ this.setTimer()
466
+ }
467
+ this.addOnDescriptionOriginal = 1
468
+ },
469
+ // 关闭工单确认后业务逻辑
470
+ handleCloseOk () {
471
+ return post(TicketDetailsViewApi.manualCloseTicket, {
472
+ ticketId: this.ticketId,
473
+ time: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss')
474
+ })
475
+ .then(res => {
476
+ if (res.data !== 0) {
477
+ this.$message.success(
478
+ '操作成功',
479
+ 5
480
+ )
481
+ this.initView()
482
+ this.closeVisible = false
483
+ } else {
484
+ this.$message.error(
485
+ '操作失败',
486
+ 5
487
+ )
488
+ }
489
+ }, err => {
490
+ console.error(err)
491
+ })
492
+ },
493
+ // 关闭工单取消后业务逻辑
494
+ handleCloseCancel () {
495
+ this.closeVisible = false
496
+ },
497
+ // 确认工单按钮业务逻辑
498
+ confirmTicketBtn () {
499
+ return post(TicketDetailsViewApi.confirmTicket, {
500
+ ticketId: this.ticketId,
501
+ time: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss'),
502
+ empId: this.currUser.id
503
+ })
504
+ .then(res => {
505
+ if (res.data !== 0) {
506
+ this.$message.success('操作成功', 5)
507
+ } else {
508
+ this.$message.error('工单已被他人处理或关闭,请刷新再试', 5)
509
+ }
510
+ this.initView()
511
+ }, err => {
512
+ console.error(err)
513
+ this.$message.error('工单已被他人处理,请刷新再试', 5)
514
+ this.initView()
515
+ })
516
+ },
517
+ // 转移工单按钮业务逻辑
518
+ transferBtn () {
519
+ this.transVisible = true
520
+ },
521
+ // 获取工单状态撤销or关闭
522
+ getStatus () {
523
+ if (this.details.status === 2) {
524
+ return '已撤销'
525
+ } else {
526
+ return '已关闭'
527
+ }
528
+ },
529
+ // 关闭工单按钮业务逻辑
530
+ closeBtn () {
531
+ this.closeVisible = true
532
+ },
533
+ // 转移工单确认后逻辑
534
+ handleTransferOk () {
535
+ this.$refs.transmitFormRef.validate().then(() => {
536
+ post(TicketDetailsViewApi.transferTicketToOthers, {
537
+ ticketId: this.ticketId,
538
+ endTime: this.format(new Date(), 'yyyy-MM-dd hh:mm:ss'),
539
+ ...this.transmitForm,
540
+ images: this.fileList
541
+ })
542
+ .then(res => {
543
+ const result = res
544
+ this.transVisible = false
545
+ if (result.data === 1) {
546
+ this.$message.success(
547
+ '操作成功',
548
+ 5
549
+ )
550
+ this.fileList = []
551
+ this.$refs.transmitFormRef.resetFields()
552
+ } else {
553
+ this.$message.error('工单已被他人处理或关闭,请刷新再试', 5)
554
+ }
555
+ this.handleCancel()
556
+ this.initView()
557
+ }, err => {
558
+ console.error(err)
559
+ this.transVisible = false
560
+ })
561
+ })
562
+ },
563
+ // 转移工单取消后逻辑
564
+ handleTransferCancel () {
565
+ this.transVisible = false
566
+ this.$refs.transmitFormRef.resetFields()
567
+ },
568
+ // 关闭抽屉时回调
569
+ onClose () {
570
+ this.stopTimer()
571
+ this.addOnDescription = []
572
+ this.disableCloseBtn = false
573
+ this.$emit('update:visible', false)
574
+ this.originalImages = []
575
+ this.images = []
576
+ this.addOnDescriptionOriginal = undefined
577
+ },
578
+ // 对其他信息进行初始化,包括附加描述,图片
579
+ handleOtherData () {
580
+ const beforeLength = this.addOnDescription.length
581
+ return post(TicketDetailsViewApi.getAddonDescription, {
582
+ ticketId: this.ticketId
583
+ })
584
+ .then(res => {
585
+ this.addOnDescription = res
586
+ this.getPhoto()
587
+ if (this.addOnDescription.length > beforeLength && this.addOnDescriptionOriginal !== undefined) {
588
+ this.addOnDescriptionOriginal = 1
589
+ this.$refs.audio.currentTime = 0
590
+ this.$refs.audio.play()
591
+ this.$notification.open({
592
+ message: '最新通知',
593
+ description:
594
+ '客户追加了问题描述,请及时查看!',
595
+ onClick: () => {
596
+ }
597
+ })
598
+ }
599
+ }, err => {
600
+ console.log(err)
601
+ })
602
+ },
603
+ // 获取工单详情信息
604
+ getTicketDetail (num) {
605
+ this.showSpin = true
606
+ return post(TicketDetailsViewApi.getTicketDetails, {
607
+ ticketId: num
608
+ }).then(res => {
609
+ this.details = res[0]
610
+ this.step = res[0].status
611
+ if (this.details.status === 3) {
612
+ this.disableCloseBtn = true
613
+ }
614
+ const categoryValue = this.details.category
615
+ this.details.category = this.$appdata.getDictionaryList('ticketCategoryMap')[categoryValue].label
616
+ }, err => {
617
+ console.error(err)
618
+ })
619
+ },
620
+ // 日期格式化
621
+ format (date, format) {
622
+ return formatDate(date, format)
623
+ },
624
+ // 转换JSON
625
+ toJSON (value) {
626
+ try {
627
+ return JSON.parse(value)
628
+ } catch (e) {
629
+ return value
630
+ }
631
+ },
632
+ // 控制开始处理按钮可用状态
633
+ handlerBtnDisable () {
634
+ return this.step !== 0
635
+ },
636
+ // 控制移交他人按钮可用状态
637
+ transferBtnDisable () {
638
+ return this.step === 0 || this.step === 3
639
+ },
640
+ // 控制关闭工单按钮可用状态
641
+ closeBtnDisable () {
642
+ return this.step === 0 || this.disableCloseBtn || this.details.name !== this.currUser.ename
643
+ },
644
+ // 优先级文字显示
645
+ showPriority () {
646
+ if (this.details.priority === 2) {
647
+ return '一般'
648
+ } else if (this.details.priority === 1) {
649
+ return '紧急'
650
+ } else {
651
+ return '非常紧急'
652
+ }
653
+ },
654
+ // 优先度颜色控制
655
+ showPriorityColorControl () {
656
+ if (this.details.priority === 2) {
657
+ return 'info'
658
+ } else if (this.details.priority === 1) {
659
+ return 'warning'
660
+ } else {
661
+ return 'error'
662
+ }
663
+ },
664
+ // 单击工单流转历史图片
665
+ flowImageClick (image) {
666
+ this.selectedImage = image
667
+ this.selectedImageShow = !this.selectedImageShow
668
+ },
669
+ // 停止定时器
670
+ stopTimer () {
671
+ if (this.timer) {
672
+ clearInterval(this.timer)
673
+ this.timer = undefined
674
+ }
675
+ },
676
+ },
677
+ watch: {
678
+ 'visible' (val) {
679
+ if (val) {
680
+ this.initView()
681
+ }
682
+ },
683
+ 'step' (newVal) {
684
+ if (newVal === 3) {
685
+ this.stopTimer()
686
+ }
687
+ }
688
+ }
689
+ }
690
+ </script>
691
+
692
+ <style lang="less" scoped>
693
+ .high-priority{
694
+ background-color: rgba(163, 30, 30, 0.66);
695
+ border: red solid 1px;
696
+ font-size: large;
697
+ padding: 5px;
698
+ color: white;
699
+ border-radius: 10px;
700
+ }
701
+
702
+ .detail-layout {
703
+ margin-left: 44px;
704
+ }
705
+ .text {
706
+ color: rgba(0, 0, 0, .45);
707
+ }
708
+
709
+ .heading {
710
+ color: rgba(0, 0, 0, .85);
711
+ font-size: 20px;
712
+ }
713
+
714
+ .no-data {
715
+ color: rgba(0, 0, 0, .25);
716
+ text-align: center;
717
+ line-height: 64px;
718
+ font-size: 16px;
719
+
720
+ i {
721
+ font-size: 24px;
722
+ margin-right: 16px;
723
+ position: relative;
724
+ top: 3px;
725
+ }
726
+ }
727
+
728
+ .mobile {
729
+ .detail-layout {
730
+ margin-left: unset;
731
+ }
732
+ .text {
733
+
734
+ }
735
+ .status-list {
736
+ text-align: left;
737
+ }
738
+ }
739
+
740
+ .row {
741
+ display: flex;
742
+
743
+ .content {
744
+ -webkit-box-flex: 1;
745
+ flex: auto;
746
+ -ms-flex: auto;
747
+ }
748
+
749
+ .extra {
750
+ flex: 0 1 auto;
751
+ -webkit-box-flex: 0;
752
+ -ms-flex: 0 1 auto;
753
+ min-width: 242px;
754
+ margin-left: 88px;
755
+ text-align: right;
756
+ }
757
+ }
758
+
759
+ .img_sm {
760
+ border: rgba(84, 84, 84, 0.2) solid 1.5px;
761
+ border-radius: 5px;
762
+ padding: 10px;
763
+ width: 160px;
764
+ height: 120px;
765
+ margin-bottom: 20px;
766
+ margin-left: 20px;
767
+ }
768
+ .img_xl {
769
+ position: absolute;
770
+ top:0;bottom:0;left:0;right:0;
771
+ margin: auto;
772
+ width: 60%;
773
+ max-width: 1000px;
774
+ cursor: zoom-out;
775
+ z-index: 9999;
776
+ animation: imgZoomIn 0.4s;
777
+ -webkit-animation: imgZoomIn 0.4s;
778
+ }
779
+ @keyframes imgZoomIn
780
+ {
781
+ from {width: 160px;}
782
+ to {width: 60%;}
783
+ }
784
+ .img_sm:hover {
785
+ opacity: 0.6;
786
+ cursor: zoom-in;
787
+ }
788
+ .img_sm_dark{
789
+ filter: grayscale(100%);
790
+ opacity: 0.6;
791
+ border: rgba(84, 84, 84, 0.2) solid 1.5px;
792
+ border-radius: 5px;
793
+ padding: 10px;
794
+ width: 160px;
795
+ height: 120px;
796
+ margin-bottom: 20px;
797
+ margin-left: 20px;
798
+ }
799
+ .imgBackground {
800
+ position: absolute;
801
+ top:0;bottom:0;left:0;right:0;
802
+ width: 100%;
803
+ height: 100%;
804
+ z-index: 9998;
805
+ background-color: rgba(0,0,0,0.7);
806
+ }
807
+ </style>