sale-client 3.4.74 → 3.4.78

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 (421) hide show
  1. package/.babelrc +5 -5
  2. package/.gradle/{5.4.1/fileChanges → 3.5.1/file-changes}/last-build.bin +0 -0
  3. package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
  4. package/.gradle/{5.4.1/gc.properties → buildOutputCleanup/built.bin} +0 -0
  5. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  6. package/.gradle/buildOutputCleanup/cache.properties.lock +1 -0
  7. package/build/dev-server.js +22 -17
  8. package/dist/index.html +26 -0
  9. package/{.gradle/vcs-1/gc.properties → dist/mergeUser/.gitkeep} +0 -0
  10. package/dist/mergeUser/CalculateGasUsage.html +1 -0
  11. package/dist/mergeUser/CalculateGasUsageApp.css +1 -0
  12. package/dist/mergeUser/CalculateGasUsageApp.js +132 -0
  13. package/dist/mergeUser/ManageHomePic//346/244/255/345/234/2064.png +0 -0
  14. package/dist/mergeUser/ManagementControl/echarts10.png +0 -0
  15. package/dist/mergeUser/ManagementControl/echarts11.png +0 -0
  16. package/dist/mergeUser/ManagementControl/echarts12.png +0 -0
  17. package/dist/mergeUser/ManagementControl/echarts13.png +0 -0
  18. package/dist/mergeUser/ManagementControl/echarts14.png +0 -0
  19. package/dist/mergeUser/ManagementControl/echarts15.png +0 -0
  20. package/dist/mergeUser/ManagementControl/echarts16.png +0 -0
  21. package/dist/mergeUser/ManagementControl/echarts17.png +0 -0
  22. package/dist/mergeUser/ManagementControl/echarts18.png +0 -0
  23. package/dist/mergeUser/ManagementControl/echarts4.png +0 -0
  24. package/dist/mergeUser/ManagementControl/echarts5.png +0 -0
  25. package/dist/mergeUser/ManagementControl/echarts51.png +0 -0
  26. package/dist/mergeUser/ManagementControl/echarts6.png +0 -0
  27. package/dist/mergeUser/ManagementControl/echarts7.png +0 -0
  28. package/dist/mergeUser/ManagementControl/echarts71.png +0 -0
  29. package/dist/mergeUser/ManagementControl/echarts8.png +0 -0
  30. package/dist/mergeUser/ManagementControl//345/233/276/345/261/20211/346/213/267/350/264/235.png +0 -0
  31. package/dist/mergeUser/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2353.png +0 -0
  32. package/dist/mergeUser/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2355.png +0 -0
  33. package/dist/mergeUser/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2356.png +0 -0
  34. package/dist/mergeUser/ParamSet.html +1 -0
  35. package/dist/mergeUser/ParamSetApp.css +1 -0
  36. package/dist/mergeUser/ParamSetApp.js +131 -0
  37. package/dist/mergeUser/PingFangSC-Regular.ttf +0 -0
  38. package/dist/mergeUser/ReadCard.html +1 -0
  39. package/dist/mergeUser/ReadCardApp.css +1 -0
  40. package/dist/mergeUser/ReadCardApp.js +132 -0
  41. package/dist/mergeUser/WebMetericon/0001.png +0 -0
  42. package/dist/mergeUser/WebMetericon/0002.png +0 -0
  43. package/dist/mergeUser/WebMetericon/0003.png +0 -0
  44. package/dist/mergeUser/WebMetericon/0004.png +0 -0
  45. package/dist/mergeUser/WebMetericon/001.png +0 -0
  46. package/dist/mergeUser/WebMetericon/002.png +0 -0
  47. package/dist/mergeUser/WebMetericon/003.png +0 -0
  48. package/dist/mergeUser/WebMetericon/004.png +0 -0
  49. package/dist/mergeUser/WebMetericon/01.png +0 -0
  50. package/dist/mergeUser/WebMetericon/02.png +0 -0
  51. package/dist/mergeUser/WebMetericon/03.png +0 -0
  52. package/dist/mergeUser/WebMetericon/04.png +0 -0
  53. package/dist/mergeUser/WebMetericon/1.png +0 -0
  54. package/dist/mergeUser/WebMetericon/2.png +0 -0
  55. package/dist/mergeUser/WebMetericon/3.png +0 -0
  56. package/dist/mergeUser/WebMetericon/4.png +0 -0
  57. package/dist/mergeUser/WebMetericon/Cell1.png +0 -0
  58. package/dist/mergeUser/WebMetericon/Cell2.png +0 -0
  59. package/dist/mergeUser/WebMetericon/Cell3.png +0 -0
  60. package/dist/mergeUser/WebMetericon/Cell4.png +0 -0
  61. package/dist/mergeUser/WebMetericon/Cell5.png +0 -0
  62. package/dist/mergeUser/WebMetericon/Cell6.png +0 -0
  63. package/dist/mergeUser/WebMetericon/Signal1.png +0 -0
  64. package/dist/mergeUser/WebMetericon/Signal2.png +0 -0
  65. package/dist/mergeUser/WebMetericon/Signal3.png +0 -0
  66. package/dist/mergeUser/WebMetericon/Signal4.png +0 -0
  67. package/dist/mergeUser/WebMetericon/guzhang.png +0 -0
  68. package/dist/mergeUser/WebMetericon/zhengchang.png +0 -0
  69. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2021554.png +0 -0
  70. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2021558.png +0 -0
  71. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2021558/346/213/267/350/264/2352.png +0 -0
  72. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2021573/346/213/267/350/264/235.png +0 -0
  73. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2021573/346/213/267/350/264/2352.png +0 -0
  74. package/dist/mergeUser/WebMetericon//345/233/276/345/261/20216/346/213/267/350/264/2353.png +0 -0
  75. package/dist/mergeUser/WebMetericon//345/233/276/345/261/20217/346/213/267/350/264/2357.png +0 -0
  76. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2022556.png +0 -0
  77. package/dist/mergeUser/WebMetericon//345/233/276/345/261/20225560.png +0 -0
  78. package/dist/mergeUser/WebMetericon//345/233/276/345/261/2025/346/213/267/350/264/2353.png +0 -0
  79. package/dist/mergeUser/WebMetericon//345/233/276/345/261/202872/346/213/267/350/264/235.png +0 -0
  80. package/dist/mergeUser/WebMetericon//346/244/255/345/234/206874.png +0 -0
  81. package/dist/mergeUser/WebMetericon//346/244/255/345/234/206874/346/213/267/350/264/235.png +0 -0
  82. package/dist/mergeUser/WebMetericon//347/237/251/345/275/2421538/346/213/267/350/264/2353.png +0 -0
  83. package/{src/filiale/WEINAN/static/mainicon → dist/mergeUser/WebMetericon}//347/237/251/345/275/2421828.png +0 -0
  84. package/dist/mergeUser/WebMetericon//350/256/276/347/275/256/345/217/202/346/225/260.png +0 -0
  85. package/dist/mergeUser/batchleft.png +0 -0
  86. package/dist/mergeUser/batchright.png +0 -0
  87. package/dist/mergeUser/bluemainbg.jpg +0 -0
  88. package/dist/mergeUser/deduction.html +1 -0
  89. package/dist/mergeUser/deductionApp.css +1 -0
  90. package/dist/mergeUser/deductionApp.js +131 -0
  91. package/dist/mergeUser/doc.jpg +0 -0
  92. package/dist/mergeUser/glyphicons-halflings-regular.eot +0 -0
  93. package/dist/mergeUser/glyphicons-halflings-regular.svg +288 -0
  94. package/dist/mergeUser/glyphicons-halflings-regular.ttf +0 -0
  95. package/dist/mergeUser/glyphicons-halflings-regular.woff +0 -0
  96. package/dist/mergeUser/glyphicons-halflings-regular.woff2 +0 -0
  97. package/dist/mergeUser/gzh.png +0 -0
  98. package/dist/mergeUser/huangtengbiaozhi.png +0 -0
  99. package/dist/mergeUser/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  100. package/dist/mergeUser/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  101. package/dist/mergeUser/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  102. package/dist/mergeUser/images/lefticon//345/233/276/345/261/2021361.png +0 -0
  103. package/dist/mergeUser/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  104. package/dist/mergeUser/images/lefticon//345/233/276/345/261/202532.png +0 -0
  105. package/dist/mergeUser/images/lefticon//345/233/276/345/261/202577.png +0 -0
  106. package/dist/mergeUser/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  107. package/dist/mergeUser/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  108. package/dist/mergeUser/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  109. package/dist/mergeUser/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  110. package/dist/mergeUser/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  111. package/dist/mergeUser/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  112. package/dist/mergeUser/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  113. package/dist/mergeUser/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  114. package/dist/mergeUser/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  115. package/dist/mergeUser/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  116. package/dist/mergeUser/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  117. package/dist/mergeUser/images/lefticon//347/237/251/345/275/2421183.png +0 -0
  118. package/dist/mergeUser/images/lefticon//347/237/251/345/275/242533/346/213/267/350/264/2352.png +0 -0
  119. package/dist/mergeUser/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  120. package/dist/mergeUser/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  121. package/dist/mergeUser/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  122. package/dist/mergeUser/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  123. package/dist/mergeUser/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  124. package/dist/mergeUser/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  125. package/dist/mergeUser/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  126. package/dist/mergeUser/images/mergeUser/drag.png +0 -0
  127. package/dist/mergeUser/images/mergeUser/help.png +0 -0
  128. package/dist/mergeUser/images/meterBook/drag.png +0 -0
  129. package/dist/mergeUser/jcwx.jpg +0 -0
  130. package/dist/mergeUser/jsoneditor-icons.svg +893 -0
  131. package/dist/mergeUser/juxing.png +0 -0
  132. package/dist/mergeUser/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  133. package/dist/mergeUser/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  134. package/dist/mergeUser/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  135. package/dist/mergeUser/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  136. package/dist/mergeUser/lefticon//345/233/276/345/261/202577.png +0 -0
  137. package/dist/mergeUser/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  138. package/dist/mergeUser/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  139. package/dist/mergeUser/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  140. package/dist/mergeUser/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  141. package/dist/mergeUser/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  142. package/dist/mergeUser/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  143. package/dist/mergeUser/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  144. package/dist/mergeUser/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  145. package/dist/mergeUser/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  146. package/dist/mergeUser/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  147. package/dist/mergeUser/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  148. package/dist/mergeUser/lefticon//347/237/251/345/275/2421828.png +0 -0
  149. package/dist/mergeUser/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  150. package/dist/mergeUser/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  151. package/dist/mergeUser/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  152. package/dist/mergeUser/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  153. package/dist/mergeUser/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  154. package/dist/mergeUser/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  155. package/dist/mergeUser/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  156. package/dist/mergeUser/login_bg.jpg +0 -0
  157. package/dist/mergeUser/login_title.png +0 -0
  158. package/dist/mergeUser/login_title1.png +0 -0
  159. package/dist/mergeUser/loginbg.gif +0 -0
  160. package/dist/mergeUser/loginbg.jpg +0 -0
  161. package/dist/mergeUser/loginbg1.jpg +0 -0
  162. package/dist/mergeUser/loginbg1280.gif +0 -0
  163. package/dist/mergeUser/loginbg1366.gif +0 -0
  164. package/dist/mergeUser/loginbg_jincheng.jpg +0 -0
  165. package/dist/mergeUser/loginbgmain.jpg +0 -0
  166. package/dist/mergeUser/loginlogo.png +0 -0
  167. package/dist/mergeUser/main_logo.png +0 -0
  168. package/dist/mergeUser/mainbg.jpg +0 -0
  169. package/dist/mergeUser/mainicon/adddevice.png +0 -0
  170. package/dist/mergeUser/mainicon/addmeter.png +0 -0
  171. package/dist/mergeUser/mainicon/bank.png +0 -0
  172. package/dist/mergeUser/mainicon/biaopan.png +0 -0
  173. package/dist/mergeUser/mainicon/cad.jpg +0 -0
  174. package/dist/mergeUser/mainicon/chaobiaoyuan.png +0 -0
  175. package/dist/mergeUser/mainicon/danganguanli.png +0 -0
  176. package/dist/mergeUser/mainicon/deletedevice.png +0 -0
  177. package/dist/mergeUser/mainicon/excel.jpg +0 -0
  178. package/dist/mergeUser/mainicon/huizong.png +0 -0
  179. package/dist/mergeUser/mainicon/jibiaoguanli.png +0 -0
  180. package/dist/mergeUser/mainicon/jibiaoguanli2.png +0 -0
  181. package/dist/mergeUser/mainicon/jiezhang.png +0 -0
  182. package/dist/mergeUser/mainicon/loginbg.jpg +0 -0
  183. package/dist/mergeUser/mainicon/shouqishoufei.png +0 -0
  184. package/dist/mergeUser/mainicon/treeopen.png +0 -0
  185. package/dist/mergeUser/mainicon/treeout.png +0 -0
  186. package/dist/mergeUser/mainicon/treeset.png +0 -0
  187. package/dist/mergeUser/mainicon/word.jpg +0 -0
  188. package/dist/mergeUser/mainicon/wulianwang.png +0 -0
  189. package/dist/mergeUser/mainicon/yingyechaxun.png +0 -0
  190. package/dist/mergeUser/mainicon/zongheyewu.png +0 -0
  191. package/dist/mergeUser/mainicon//347/237/251/345/275/2421828.png +0 -0
  192. package/dist/mergeUser/menulogo.png +0 -0
  193. package/dist/mergeUser/mergeUser.html +1 -0
  194. package/dist/mergeUser/mergeUserApp.css +1 -0
  195. package/dist/mergeUser/mergeUserApp.js +132 -0
  196. package/dist/mergeUser/meterBook(filesBox).html +1 -0
  197. package/dist/mergeUser/meterBook(filesBox)App.css +1 -0
  198. package/dist/mergeUser/meterBook(filesBox)App.js +133 -0
  199. package/dist/mergeUser/meterBook.html +1 -0
  200. package/dist/mergeUser/meterBookApp.css +1 -0
  201. package/dist/mergeUser/meterBookApp.js +133 -0
  202. package/dist/mergeUser/newStyle/clear.png +0 -0
  203. package/dist/mergeUser/newStyle/fife.png +0 -0
  204. package/dist/mergeUser/newStyle/hidden.png +0 -0
  205. package/dist/mergeUser/newStyle/label-clear.png +0 -0
  206. package/dist/mergeUser/newStyle/left-img.png +0 -0
  207. package/dist/mergeUser/newStyle/list_ok.png +0 -0
  208. package/dist/mergeUser/newStyle/login-check.png +0 -0
  209. package/dist/mergeUser/newStyle/login-con.png +0 -0
  210. package/dist/mergeUser/newStyle/login-do.gif +0 -0
  211. package/dist/mergeUser/newStyle/login-f.png +0 -0
  212. package/dist/mergeUser/newStyle/login-info.png +0 -0
  213. package/dist/mergeUser/newStyle/login-left.png +0 -0
  214. package/dist/mergeUser/newStyle/login-org.png +0 -0
  215. package/dist/mergeUser/newStyle/login-pwd.png +0 -0
  216. package/dist/mergeUser/newStyle/login-user.png +0 -0
  217. package/dist/mergeUser/newStyle/loginbg.gif +0 -0
  218. package/dist/mergeUser/newStyle/loginbg1280.gif +0 -0
  219. package/dist/mergeUser/newStyle/loginbg1366.gif +0 -0
  220. package/dist/mergeUser/newStyle/setting.png +0 -0
  221. package/dist/mergeUser/newStyle/setting1.png +0 -0
  222. package/dist/mergeUser/newStyle/shirk.png +0 -0
  223. package/dist/mergeUser/newStyle/stretch_bottom.png +0 -0
  224. package/dist/mergeUser/newStyle/stretch_left.png +0 -0
  225. package/dist/mergeUser/newStyle/stretch_right.png +0 -0
  226. package/dist/mergeUser/newStyle/stretch_top.png +0 -0
  227. package/dist/mergeUser/newStyle/system-off.png +0 -0
  228. package/dist/mergeUser/newmainbg.jpg +0 -0
  229. package/dist/mergeUser/pdf.jpg +0 -0
  230. package/dist/mergeUser/pingfang-bold.ttf +0 -0
  231. package/dist/mergeUser/pingfang-medium.ttf +0 -0
  232. package/dist/mergeUser/pingfang-regular.ttf +0 -0
  233. package/dist/mergeUser/psicon.png +0 -0
  234. package/dist/mergeUser/refresh.png +0 -0
  235. package/dist/mergeUser/showAdd.html +1 -0
  236. package/dist/mergeUser/showAddApp.css +1 -0
  237. package/dist/mergeUser/showAddApp.js +131 -0
  238. package/dist/mergeUser/showAddHtml.html +14 -0
  239. package/dist/mergeUser/showAddHtmlApp.css +1 -0
  240. package/dist/mergeUser/showAddHtmlApp.js +131 -0
  241. package/dist/mergeUser/showAddPrint.html +14 -0
  242. package/dist/mergeUser/showAddPrintApp.css +1 -0
  243. package/dist/mergeUser/showAddPrintApp.js +131 -0
  244. package/dist/mergeUser/singleleft.png +0 -0
  245. package/dist/mergeUser/singleright.png +0 -0
  246. package/dist/mergeUser/treeclose.png +0 -0
  247. package/dist/mergeUser/treeopen.png +0 -0
  248. package/dist/mergeUser/treeout.png +0 -0
  249. package/dist/mergeUser/treeset.png +0 -0
  250. package/dist/mergeUser/trendstrends.ttf +0 -0
  251. package/dist/mergeUser/usericon.png +0 -0
  252. package/dist/mergeUser/webMeter/0001.png +0 -0
  253. package/dist/mergeUser/webMeter/0002.png +0 -0
  254. package/dist/mergeUser/webMeter/0003.png +0 -0
  255. package/dist/mergeUser/webMeter/0004.png +0 -0
  256. package/dist/mergeUser/webMeter/001.png +0 -0
  257. package/dist/mergeUser/webMeter/002.png +0 -0
  258. package/dist/mergeUser/webMeter/003.png +0 -0
  259. package/dist/mergeUser/webMeter/004.png +0 -0
  260. package/dist/mergeUser/webMeter/01.png +0 -0
  261. package/dist/mergeUser/webMeter/02.png +0 -0
  262. package/dist/mergeUser/webMeter/03.png +0 -0
  263. package/dist/mergeUser/webMeter/04.png +0 -0
  264. package/dist/mergeUser/webMeter/1.png +0 -0
  265. package/dist/mergeUser/webMeter/2.png +0 -0
  266. package/dist/mergeUser/webMeter/3.png +0 -0
  267. package/dist/mergeUser/webMeter/4.png +0 -0
  268. package/dist/mergeUser/webMeter/Cell1.png +0 -0
  269. package/dist/mergeUser/webMeter/Cell2.png +0 -0
  270. package/dist/mergeUser/webMeter/Cell3.png +0 -0
  271. package/dist/mergeUser/webMeter/Cell4.png +0 -0
  272. package/dist/mergeUser/webMeter/Cell5.png +0 -0
  273. package/dist/mergeUser/webMeter/Cell6.png +0 -0
  274. package/dist/mergeUser/webMeter/Signal1.png +0 -0
  275. package/dist/mergeUser/webMeter/Signal2.png +0 -0
  276. package/dist/mergeUser/webMeter/Signal3.png +0 -0
  277. package/dist/mergeUser/webMeter/Signal4.png +0 -0
  278. package/dist/mergeUser/webMeter/guzhang.png +0 -0
  279. package/dist/mergeUser/webMeter/shangsheng.png +0 -0
  280. package/dist/mergeUser/webMeter/shousuo.png +0 -0
  281. package/dist/mergeUser/webMeter/shuaxin.png +0 -0
  282. package/dist/mergeUser/webMeter/zhengchang.png +0 -0
  283. package/dist/mergeUser/webMeter//345/233/276/345/261/2021554.png +0 -0
  284. package/dist/mergeUser/webMeter//345/233/276/345/261/2021558.png +0 -0
  285. package/dist/mergeUser/webMeter//345/233/276/345/261/2021558/346/213/267/350/264/2352.png +0 -0
  286. package/dist/mergeUser/webMeter//345/233/276/345/261/2021573/346/213/267/350/264/235.png +0 -0
  287. package/dist/mergeUser/webMeter//345/233/276/345/261/2021573/346/213/267/350/264/2352.png +0 -0
  288. package/dist/mergeUser/webMeter//345/233/276/345/261/20216/346/213/267/350/264/2353.png +0 -0
  289. package/dist/mergeUser/webMeter//345/233/276/345/261/20217/346/213/267/350/264/2357.png +0 -0
  290. package/dist/mergeUser/webMeter//345/233/276/345/261/2022556.png +0 -0
  291. package/dist/mergeUser/webMeter//345/233/276/345/261/20225560.png +0 -0
  292. package/dist/mergeUser/webMeter//345/233/276/345/261/2025/346/213/267/350/264/235.png +0 -0
  293. package/dist/mergeUser/webMeter//345/233/276/345/261/2025/346/213/267/350/264/2353.png +0 -0
  294. package/dist/mergeUser/webMeter//345/233/276/345/261/2025/346/213/267/350/264/2355.png +0 -0
  295. package/dist/mergeUser/webMeter//345/233/276/345/261/2025/346/213/267/350/264/2356.png +0 -0
  296. package/dist/mergeUser/webMeter//345/233/276/345/261/202872/346/213/267/350/264/235.png +0 -0
  297. package/dist/mergeUser/webMeter//345/275/242/347/212/2665.png +0 -0
  298. package/dist/mergeUser/webMeter//346/244/255/345/234/206874.png +0 -0
  299. package/dist/mergeUser/webMeter//346/244/255/345/234/206874/346/213/267/350/264/235.png +0 -0
  300. package/dist/mergeUser/webMeter//347/237/251/345/275/2421538/346/213/267/350/264/2353.png +0 -0
  301. package/dist/mergeUser/webMeter//347/237/251/345/275/2421828.png +0 -0
  302. package/dist/mergeUser/webMeter//350/256/276/347/275/256/345/217/202/346/225/260.png +0 -0
  303. package/dist/mergeUser/xinxi.png +0 -0
  304. package/package.json +2 -2
  305. package/src/components/FilesManage/TemplateManage.vue +167 -167
  306. package/src/components/archives/ArchivesList.vue +205 -205
  307. package/src/components/charge/ChargeManage.vue +243 -243
  308. package/src/components/charge/business/DigitalCharge.vue +6 -6
  309. package/src/components/charge/business/IOTMeterCenter.vue +800 -800
  310. package/src/components/charge/business/OtherChargeNew.vue +588 -589
  311. package/src/components/charge/business/ShowCardSellGas.vue +867 -867
  312. package/src/components/charge/business/depositCharge/DepositCharge.vue +452 -452
  313. package/src/components/charge/business/machine/MachineCharge.vue +168 -168
  314. package/src/components/charge/business/machine/MachineMeterCenter.vue +721 -721
  315. package/src/components/chargeBatch/CardList.vue +459 -459
  316. package/src/components/chargeBatch/ChargeBatchList.vue +460 -460
  317. package/src/components/chargeBatch/ChargeGroupList.vue +281 -267
  318. package/src/components/chargeBatch/ChargeManageBatch.vue +214 -214
  319. package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +2 -2
  320. package/src/components/revenue/Common/EticketModal.vue +90 -90
  321. package/src/components/revenue/Common/EticketPrint.vue +367 -367
  322. package/src/components/revenue/Common/EticketPrintAsync.vue +184 -184
  323. package/src/components/revenue/comprehen/Bill/Eticket/EticketOpenCard.vue +305 -305
  324. package/src/components/revenue/comprehen/Bill/Eticket/EticketOpenJBPage.vue +307 -307
  325. package/src/components/revenue/comprehen/Bill/Eticket/EticketOpenPage.vue +305 -305
  326. package/src/components/revenue/comprehen/ComprehenOperation/ChangeAccount/TransferManage.vue +403 -397
  327. package/src/components/revenue/comprehen/ComprehenOperation/OverCharge/OverUseCharge.vue +6 -7
  328. package/src/components/revenue/comprehen/ComprehenOperation/ReplaceCard/ReplaceCardManage.vue +413 -413
  329. package/src/components/revenue/comprehen/Maintenance/bill/billOperate.vue +266 -266
  330. package/src/components/revenue/comprehen/Maintenance/changeMeter/changemeterOperate.vue +296 -296
  331. package/src/components/revenue/comprehen/Maintenance/fillgas/fillgasSpecific.vue +293 -293
  332. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +407 -407
  333. package/src/components/revenue/comprehen/Maintenance/otherRecords/specificInformation.vue +388 -388
  334. package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +382 -382
  335. package/src/components/revenue/comprehen/Message/MessageList.vue +19 -0
  336. package/src/components/revenue/comprehen/common/TabButton.vue +155 -155
  337. package/src/components/revenue/comprehen/common/Tabs.vue +67 -67
  338. package/src/components/revenue/comprehen/replacement/replacementSingleInfoOperation.vue +293 -293
  339. package/src/components/revenue/machineHandManage/machineHandAudit.vue +633 -633
  340. package/src/components/revenue/machineHandManage/machineHandManager.vue +84 -84
  341. package/src/components/webMeter/MeterManage/WebMeterBatchOperate.vue +150 -0
  342. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +285 -269
  343. package/src/components/webMeter/meterinfo/NewMeterList.vue +526 -526
  344. package/src/components/webMeter/webInfo/WebMeterInfo.vue +1 -1
  345. package/src/components/webMeter/webInfo/WebMeterList.vue +424 -384
  346. package/src/filiale/gaomi/components/IOTMeterCenter.vue +723 -723
  347. package/src/filiale/macheng/UserBaseInfoNew.vue +346 -0
  348. package/src/filiale/macheng/sale.js +2 -1
  349. package/src/filiale/qianneng/FilesManage/UserEssentialInfoTest.vue +322 -322
  350. package/src/filiale/qianneng/GasPrice.vue +526 -526
  351. package/src/filiale/qianneng/MachineCharge.vue +169 -169
  352. package/src/filiale/rongchuang/CardMeterCenter.vue +831 -831
  353. package/src/filiale/rongchuang/DepositCharge.vue +373 -373
  354. package/src/filiale/rongchuang/EticketRecordList.vue +265 -265
  355. package/src/filiale/rongchuang/IOTMeterCenter.vue +773 -773
  356. package/src/filiale/rongchuang/NoCardMeterCenter.vue +467 -467
  357. package/src/filiale/rongchuang/OtherChargeNew.vue +443 -443
  358. package/src/filiale/rongchuang/OverUseCharge.vue +435 -435
  359. package/src/filiale/rongchuang/ReplaceCardManage.vue +412 -412
  360. package/src/filiale/rongchuang/ShowCardSellGas.vue +805 -805
  361. package/src/filiale/rongchuang/bill/CustQueryEticket.vue +243 -243
  362. package/src/filiale/rongchuang/bill/EticketOpenCard.vue +260 -260
  363. package/src/filiale/rongchuang/bill/EticketOpenJBPage.vue +257 -257
  364. package/src/filiale/rongchuang/bill/EticketOpenPage.vue +245 -245
  365. package/src/filiale/rongchuang/bill/EticketRecordList.vue +278 -278
  366. package/src/filiale/rongchuang/sale.js +41 -41
  367. package/src/filiale/tongchuan/IOTMeterCenter.vue +800 -800
  368. package/src/filiale/tongchuan/Message/AllUser.vue +569 -0
  369. package/src/filiale/tongchuan/Message/MessageManage.vue +137 -0
  370. package/src/filiale/tongchuan/bill/CustQueryEticket.vue +304 -304
  371. package/src/filiale/tongchuan/sale.js +6 -1
  372. package/src/filiale/{WEINAN → weinan}/AutomaticPurse.vue +0 -0
  373. package/src/filiale/{WEINAN → weinan}/CardList.vue +0 -0
  374. package/src/filiale/{WEINAN → weinan}/CardMeterCenter.vue +0 -0
  375. package/src/filiale/{WEINAN → weinan}/CardMeterChargeCancel.vue +0 -0
  376. package/src/filiale/{WEINAN → weinan}/ChangeMeter.vue +0 -0
  377. package/src/filiale/{WEINAN → weinan}/ChargeList.vue +0 -0
  378. package/src/filiale/{WEINAN → weinan}/ChargeManageNew.vue +0 -0
  379. package/src/filiale/{WEINAN → weinan}/ChargeQueryUser.vue +0 -0
  380. package/src/filiale/{WEINAN → weinan}/ChargeRecordQuery.vue +0 -0
  381. package/src/filiale/{WEINAN → weinan}/DisableManage.vue +0 -0
  382. package/src/filiale/{WEINAN → weinan}/EnableManage.vue +0 -0
  383. package/src/filiale/{WEINAN → weinan}/FileAddressManage.vue +0 -0
  384. package/src/filiale/{WEINAN → weinan}/FileUserAddress.vue +0 -0
  385. package/src/filiale/{WEINAN → weinan}/HighMeter.vue +0 -0
  386. package/src/filiale/{WEINAN → weinan}/IOTMeterCenter.vue +0 -0
  387. package/src/filiale/{WEINAN → weinan}/MachineMeterCenter.vue +0 -0
  388. package/src/filiale/{WEINAN → weinan}/MeterMessage.vue +0 -0
  389. package/src/filiale/{WEINAN → weinan}/MeterinfoTest.vue +0 -0
  390. package/src/filiale/{WEINAN → weinan}/OffGasAddGas.vue +0 -0
  391. package/src/filiale/{WEINAN → weinan}/OtherGas.vue +0 -0
  392. package/src/filiale/{WEINAN → weinan}/OverUseCharge.vue +0 -0
  393. package/src/filiale/{WEINAN → weinan}/RecordCancel.vue +0 -0
  394. package/src/filiale/{WEINAN → weinan}/RecordQueryUser.vue +0 -0
  395. package/src/filiale/{WEINAN → weinan}/ReplaceCardManage.vue +0 -0
  396. package/src/filiale/{WEINAN → weinan}/ShowCardSellGas.vue +0 -0
  397. package/src/filiale/{WEINAN → weinan}/Stairinfo.vue +0 -0
  398. package/src/filiale/{WEINAN → weinan}/TransferManage.vue +0 -0
  399. package/src/filiale/{WEINAN → weinan}/UserBaseInfoNew.vue +0 -0
  400. package/src/filiale/{WEINAN → weinan}/UserEssentialInfoTest.vue +0 -0
  401. package/src/filiale/{WEINAN → weinan}/UserGeneralInfoTest.vue +0 -0
  402. package/src/filiale/{WEINAN → weinan}/UserInfoDetailManageNew.vue +0 -0
  403. package/src/filiale/{WEINAN → weinan}/Userinfo.vue +0 -0
  404. package/src/filiale/{WEINAN → weinan}/gasmove.vue +0 -0
  405. package/src/filiale/{WEINAN → weinan}/meterinfodetail.vue +0 -0
  406. package/src/filiale/{WEINAN → weinan}/plugins/FileManageService.js +0 -0
  407. package/src/filiale/{WEINAN → weinan}/plugins/getTimeService.js +0 -0
  408. package/src/filiale/{WEINAN → weinan}/sale.js +0 -0
  409. package/src/filiale/{WEINAN → weinan}/sale.js~Stashed changes +0 -0
  410. package/src/filiale/weinan/static/mainicon//347/237/251/345/275/2421828.png +0 -0
  411. package/src/filiale/wuan/UserEssentialInfoTest.vue +328 -328
  412. package/src/filiale/wuhai/MeterinfoTest.vue +1 -2
  413. package/src/filiale/wuhai/OtherChargeNew.vue +590 -0
  414. package/src/filiale/wuhai/TransferManage.vue +403 -0
  415. package/src/filiale/wuhai/UserEssentialInfoTest.vue +320 -0
  416. package/src/filiale/wuhai/sale.js +21 -16
  417. package/src/main.js +23 -23
  418. package/src/plugins/LogicService.js +477 -474
  419. package/src/sale.js +2 -0
  420. package/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  421. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
@@ -1,805 +1,805 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="span" style="overflow-y: auto;">
4
- <validator name='v' v-ref:valid>
5
- <form novalidate class="form-horizontal">
6
- <div class="row" style="margin-top:5px;">
7
- <div class="col-sm-4 form-group" :class="[$v.payment.required ? 'has-error' : '']">
8
- <label for="f_paytype" class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
9
- <input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>
10
- <v-select id="f_payment"
11
- v-model="f_payment"
12
- placeholder='请选择'
13
- :value.sync="model.f_payment"
14
- :options='paytype' clear-button v-ref:payment></v-select>
15
- </div>
16
- <div class="col-sm-4 form-group"
17
- :class="[$v.f_pregas.required || $v.f_pregas.dctest? 'has-error' : 'has-success']">
18
- <label for="f_pregas" class=" font_normal_body">*预购气量</label>
19
- <input class="input_search" style="width:60%" type="number"
20
- @blur="pregas()" v-model="model.f_pregas"
21
- v-validate:f_pregas='{required: true, dctest: [maxgas, "<=" ]}' placeholder="预购气量"
22
- v-next-el='sk' >
23
- </div>
24
-
25
- <div class="col-sm-4 form-group"
26
- :class="[$v.f_preamount.required || $v.f_preamount.dctest? 'has-error' : 'has-success']">
27
- <label for="f_preamount" class=" font_normal_body" >*预购金额</label>
28
- <input class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
29
- @blur="preamount()" v-validate:f_preamount='{required: true, dctest: [maxmoney, "<=" ]}' placeholder="预购金额"
30
- v-scale="[model.f_preamount, 4]" placeholder="预购金额" >
31
- </div>
32
- </div>
33
- <div class="row" style="margin-top:5px;">
34
-
35
- <div class="col-sm-4 form-group" :class="[$v.printstyle.required ? 'select-error' : '']">
36
- <!-- <print-style :print.sync='model.f_print'></print-style> -->
37
- <label for="f_print" class="font_normal_body">打印格式</label>
38
- <input type="text" v-show="false" v-model="$refs.printstyle.selectedItems"
39
- v-validate:printstyle='{required: true }'>
40
- <v-select id="print"
41
- v-model="f_print"
42
- placeholder='请选择'
43
- :value.sync="model.f_print"
44
- :options='printstyle'
45
- close-on-select clear-button v-ref:printstyle>
46
- </v-select>
47
- </div>
48
- <div class="col-sm-4 form-group" v-if="hasLimit&&limitgas">
49
- <label class="font_normal_body">&nbsp;购气上限</label>
50
- <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxgas"
51
- v-scale="[maxgas, 4]" placeholder='限购余气' disabled>
52
- </div>
53
- <div class="col-sm-4 form-group" v-if="hasLimit&&limitmoney">
54
- <label class="font_normal_body">金额上限</label>
55
- <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxmoney"
56
- v-scale="[maxmoney, 2]" placeholder='限购金额' disabled>
57
- </div>
58
- <div class="col-sm-4 form-group" v-if="!hasLimit">
59
- </div>
60
- <div class="col-sm-4 form-group" >
61
- <label for="f_temp_amount" v-if="row.f_collection_type === '按气量'"
62
- class=" font_normal_body">&nbsp;应收金额</label>
63
- <label for="f_temp_amount" v-if="row.f_collection_type === '按金额'"
64
- class=" font_normal_body">*本次缴费</label>
65
- <input class="input_search" style="width:60%" type="number"
66
- v-model="model.f_totalcost"
67
- v-validate:f_totalcost='{required: true, dctest: [(openFee - 0), ">=" ] }' placeholder="应收金额"
68
- v-next-el='sk' v-scale="[model.f_totalcost, 4]" disabled >
69
- </div>
70
- </div>
71
-
72
-
73
- <div class="row" style="margin-top:5px;">
74
- <div class="col-sm-4 form-group">
75
- <label for="f_balance" class="font_normal_body">上期结余</label>
76
- <input class="input_search" style="width:60%" type="number" v-model="model.f_balance"
77
- v-scale="[model.f_balance, 4]" placeholder="上期结余" disabled>
78
- </div>
79
- <div class="col-sm-4 form-group">
80
- <label for="f_curbalance" class="font_normal_body">&nbsp;本期结余</label>
81
- <input class="input_search" style="width:60%" type="number" v-model="curbalance"
82
- v-scale="[model.f_curbalance, 4]" placeholder="本期结余" disabled>
83
- </div>
84
-
85
- <div class="col-sm-4 form-group" v-if="row.f_collection_type === '按气量'"
86
- :class="[$v.f_collection.required || $v.f_collection.dctest ? 'has-error' : 'has-success']">
87
- <label for="f_collection" class=" font_normal_body">*收&emsp;&emsp;款</label>
88
- <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
89
- v-validate:f_collection='{required: true, dctest: [(model.f_totalcost - 0) + (openFee - 0), ">=" ] }'
90
- v-el:sk v-scale="[model.f_collection, 4]">
91
- </div>
92
- <div class="col-sm-4 form-group" v-if="row.f_collection_type === '按金额'">
93
- <label for="f_collection" class=" font_normal_body">*收&emsp;&emsp;款</label>
94
- <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
95
- v-el:sk v-scale="[model.f_collection, 4]">
96
- </div>
97
- </div>
98
- <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')">
99
- <div class="col-sm-4 form-group">
100
- <label class="font_normal_body">优惠方式</label>
101
- <v-select v-model="model.f_privilege_id" @blur.native.capture="privilegeCalculate"
102
- placeholder='请选择'
103
- :value.sync="model.f_privilege_id"
104
- :options='privilegeList' clear-button value-single>
105
- </v-select>
106
- </div>
107
- <div class="col-sm-4 form-group">
108
- <label for="f_pregas" class=" font_normal_body">&nbsp;优惠气量</label>
109
- <input class="input_search" style="width:60%" type="number" v-model="model.f_privilege_gas"
110
- v-scale="[model.f_privilege_gas, 2]" placeholder="优惠气量" disabled>
111
- </div>
112
- <div class="col-sm-4 form-group">
113
- <label for="f_preamount" class=" font_normal_body">&nbsp;优惠金额</label>
114
- <input class="input_search" style="width:60%" type="number" v-model="model.f_privilege_money"
115
- v-scale="[model.f_privilege_money, 2]" placeholder="优惠金额" disabled>
116
- </div>
117
- <div class="col-sm-4 form-group">
118
- <label for="f_preamount" class=" font_normal_body">&nbsp;实际收款</label>
119
- <input class="input_search" style="width:60%" type="number" v-model="model.f_after_discount"
120
- v-scale="[model.f_after_discount, 2]" placeholder="优惠后收款" disabled>
121
- </div>
122
- </div>
123
- <div class="row" v-if="openFee > 0">
124
- <div class="col-sm-4 form-group">
125
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;开卡费</label>
126
- <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="openFee" placeholder='开卡费' disabled>
127
- </div>
128
- </div>
129
- <div class="row" style="margin-top:5px;">
130
- <div class="col-sm-9">
131
- </div>
132
- <div class="col-sm-3">
133
- <span v-if="$v.f_collection.dctest" style="color:red ">收款不能小于应收金额</span>
134
- </div>
135
- </div>
136
- <div class="row" v-if="model.f_payment[0].includes('POS')">
137
- <div class="col-sm-4 form-group">
138
- <label for="f_voucher_number" class="font_normal_body">&nbsp;&nbsp;&nbsp;凭证号</label>
139
- <input type="text" class="input_search" style="width:60%" v-model="model.f_voucher_number" placeholder="凭证号">
140
- </div>
141
- </div>
142
- <div class="row" style="padding-top: 0.5em;">
143
-
144
- <div class="col-sm-4" v-if="!mjshow" >
145
- <label for="f_serial_number" class=" font_normal_body">业务单号</label>
146
- <input class="input_search" style="width:60%" type="text"
147
- v-model="model.f_serial_number" placeholder="业务单号">
148
- </div>
149
- <div class="col-sm-4" v-if="mjshow" :class="[$v.f_serial_number.required || $v.f_serial_number.dctest ? 'has-error' : 'has-success']">
150
- <label for="f_serial_number" class=" font_normal_body">业务单号</label>
151
- <input class="input_search" style="width:60%" type="text" v-validate:f_serial_number='{required: true }'
152
- v-model="model.f_serial_number" placeholder="业务单号">
153
- </div>
154
-
155
-
156
- <div class="col-sm-8">
157
- <label for="f_comments" class="font_normal_body">&nbsp;备&emsp;&emsp;注</label>
158
- <input class="input_search" style="width:74%" v-model="model.f_comments" placeholder="备注">
159
- </div>
160
- </div>
161
- <div v-if="paymentModel.length >1">
162
- <div class="row" style="margin-top:10px;" >
163
- <p class="col-sm-2 text-left" style="padding: 10px;"><img src="../../../static/juxing.png"/><strong style="margin-left: 4%">付款明细</strong></p>
164
- </div>
165
- <div class="row" style="margin-top:10px;" >
166
- <div class="col-sm-4 form-group " v-for="pay in paymentModel" >
167
- <label class="font_normal_body">{{pay.f_payment}}:</label>
168
- <input id="f_money" type="text" class="input_search" style="width:60%" v-model="pay.f_money">
169
- </div>
170
- <div class="col-sm-4 form-group ">
171
- <strong v-if="!islegal" style="color: red">所输入的金额必须等于收款金额</strong>
172
- </div>
173
- </div>
174
- </div>
175
- </form>
176
- <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
177
- <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="close"
178
- :data='row' @printok="printok" v-ref:printbill></print-bill>
179
- <div style="text-align:right; height: 25%">
180
- <strong style="font-size: large" >计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong><br/>
181
- <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk || !islegal || clickConfirm'>确认</button>
182
- <button class="button_clear btn-gn" @click="clean()" >取消</button>
183
- </div>
184
- </validator>
185
- </div>
186
-
187
- <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_after_discount"></payment-code>
188
- </div>
189
- <upload v-if="config.showupload" isremark="true" fusetype="发卡售气"></upload>
190
- <eticket-modal :show="eticket_msg" :row="row" @confirm="confirm"></eticket-modal>
191
- <eticket-print-async :show="eticket_show" @toggle="eticket_toggle" v-ref:asynceticket></eticket-print-async>
192
- </template>
193
- <script>
194
- /**
195
- *综合业务
196
- *发卡售气组件
197
- */
198
-
199
- import {HttpResetClass} from 'vue-client'
200
-
201
- let preamountGen = async function (self) {
202
- // let calFee = (self.model.f_totalcost - 0) + (self.row.f_balance - 0)
203
- if (self.row.f_balance == null) self.row.f_balance = 0
204
- let calFee = ((self.model.f_preamount - 0) + (self.row.f_balance - 0)).toFixed(2)
205
- // 通过金额进行划价
206
- let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
207
- if (getGas.data.gas) {
208
- if (self.row.f_isdecimal === '是') {
209
- if (self.row.f_alias === 'QiaoSong') {
210
- self.model.f_pregas = (getGas.data.gas - 0).toFixed(1)
211
- } else {
212
- self.model.f_pregas = (getGas.data.gas - 0).toFixed(4)
213
- }
214
- self.dymoney = 0
215
- } else {
216
- // 如果不支持小数,将划价出的多余非整数气量进行划价为金额
217
- // 如果不支持小数,将划价出的多余非整数气量进行划价为金额
218
- let tempnum = Math.floor(getGas.data.gas - 0)
219
- if (getGas.data.gas > tempnum) { // getGas.data.gas-tempnum-0
220
- let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
221
- if (dymoney1.data.money) {
222
- self.dymoney = (getGas.data.money - 0).toFixed(2) - (dymoney1.data.money - 0).toFixed(2)
223
- }
224
- } else {
225
- self.dymoney = 0
226
- }
227
- self.model.f_pregas = Math.floor(getGas.data.gas - 0)
228
- }
229
- }
230
- self.model.f_totalcost = ((self.row.f_balance - 0) > (calFee - 0) ? 0 : ((calFee - 0) - (self.row.f_balance - 0)).toFixed(2))
231
- // self.model.f_preamount = calFee
232
- self.model.chargeprice = getGas.data.chargeprice
233
- Object.assign(self.model, self.model, getGas.data)
234
- self.model.f_collection = self.model.f_totalcost
235
- self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(2)
236
- self.calText(getGas.data.chargeprice)
237
- }
238
-
239
- let pregasGen = async function (self) {
240
- if (self.row.f_isdecimal === '是') {
241
- self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
242
- } else {
243
- self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
244
- }
245
- self.model.f_meter_type = self.row.f_meter_type
246
- if ((self.model.f_pregas - 0) - (self.maxgas - 0) <= 0) {
247
- let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
248
- console.log('划价返回', getAmount, self.openFee, self.row.f_balance)
249
- self.model.f_preamount = getAmount.data.chargenum
250
- // 计算气费和其他费用(暂时只有开卡费,之后有其他费在加)
251
- let total = (getAmount.data.chargenum - 0) + (self.openFee - 0)
252
- self.model.f_totalcost = (self.row.f_balance - 0) > (total - 0) ? 0 : ((total - 0) - (self.row.f_balance - 0)).toFixed(4)
253
- Object.assign(self.model, self.model, getAmount.data)
254
- self.model.chargeprice = getAmount.data.chargeprice
255
- self.model.f_collection = self.model.f_totalcost
256
- self.calText(getAmount.data.chargeprice)
257
- }
258
- }
259
-
260
- // 写卡操作
261
- let initCardGen = async function (self) {
262
- try {
263
- if (self.paymentModel.length === 0) {
264
- self.paymentModel = [{
265
- f_payment: self.model.f_payment[0],
266
- f_money: self.model.f_preamount
267
- }]
268
- }
269
-
270
- self.model.payments = self.paymentModel
271
- // 加入扫码盒付款码支付流水号
272
- self.model.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
273
- let res = await self.$CardService.initCard(self.model, self.row, self.cardallot)
274
- let param = []
275
- for (let row of self.resid) {
276
- param.push({id: row.id})
277
- }
278
- let data = {
279
- param: param,
280
- f_blobid: res.data
281
- }
282
-
283
- await self.$resetpost('rs/logic/updatefiles', data)
284
-
285
- console.log('发卡售气返回id', res, self.model)
286
- // 开始打票
287
- if (self.config.hasPrint) {
288
- if (self.model.f_print.indexOf('电子发票') == -1) {
289
- if (self.config.hasBillManage) {
290
- // 启用发票管理,获取票据管理中的票号并存储记录 d
291
- self.row.id = res.data.id
292
- self.row.f_bill_type = '发卡售气'
293
- self.row.f_bill_style = self.model.f_print[0]
294
- self.print = true
295
- } else {
296
- self.row.id = res.data.id
297
- self.print = true
298
- }
299
- } else {
300
- if (self.model.f_print[0] === '电子发票') {
301
- self.eticket_show=true
302
- await self.$refs.asynceticket.openEticket(res.data.id, self.row,'发卡售气')
303
- }
304
- }
305
- } else {
306
- self.$showAlert('发卡售气成功', 'success', 2000)
307
- self.$dispatch('success')
308
- }
309
- self.clickConfirm = false
310
- } catch (error) {
311
- console.log('抛出的错误。。', error)
312
- self.$showAlert(error, 'danger', 0)
313
- self.$dispatch('refresh')
314
- self.clickConfirm = false
315
- }
316
- }
317
-
318
- let asyncShowCardSellGas = async function (self) {
319
- await self.$getConfig(self, 'ShowCardSellGas')
320
- console.log('发卡售气config', self.config)
321
- if(self.row.f_paper_type){
322
- self.model.f_print=self.row.f_paper_type instanceof Array ? self.row.f_paper_type : [self.row.f_paper_type ]
323
- console.log(" this.model.f_print", this.model.f_print)
324
- }else{
325
- self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
326
- }
327
- // self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
328
- self.model.f_payment = [self.config.payment]
329
- self.mulPrint = self.config.printType instanceof Array
330
-
331
- self.model.f_use_type = self.config.billType
332
- self.model.f_bill_type = self.model.f_print
333
- self.hasValidateBill = self.config.hasBillManage
334
-
335
- // 判断限购
336
- // 获取限购值
337
- let limit_param = {
338
- f_userinfo_id: self.row.f_userinfo_id,
339
- f_user_id: self.row.f_user_id,
340
- f_stairprice_id: self.row.f_stairprice_id
341
- }
342
- let http = new HttpResetClass()
343
- let getLimit = await http.load('POST', 'rs/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, rejectMsg: '获取限购值失败!!'})
344
- console.log('获取限购值', getLimit)
345
- self.hasLimit = getLimit.data.hasLimit
346
- if (self.hasLimit) {
347
- if (getLimit.data.f_limit_value || getLimit.data.f_limit_amount) {
348
- if (getLimit.data.f_limit_value < 0 && getLimit.data.f_limit_amount < 0) {
349
- self.$showAlert(`${getLimit.data.msg}`, 'warning', 3000)
350
- self.$dispatch('refresh')
351
- } else {
352
- if (getLimit.data.f_limit_value) {
353
- self.maxgas = (getLimit.data.f_limit_value - 0)
354
- self.limitgas = true
355
- }
356
- if (getLimit.data.f_limit_amount) {
357
- self.maxmoney = (getLimit.data.f_limit_amount - 0)
358
- self.limitmoney = true
359
- }
360
- }
361
- }
362
- }
363
- }
364
-
365
- export default {
366
- title: '发卡售气',
367
- data () {
368
- return {
369
- //发票相关
370
- eticket_msg:false,
371
- eticket_show: false,
372
- serialShow: false,
373
- resid: [],
374
- config: {
375
- showupload: true, // 默认不显示上传附件
376
- hasPrint: false, // 默认打票
377
- hasBillManage: false, // 默认不启用发票管理
378
- billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
379
- printType: '普通收据', // 收据/电子票/专用发票/国税发票
380
- payment: '现金缴费'
381
- },
382
- model: {
383
- f_stairprice_id: '',
384
- f_payment: '现金缴费',
385
- f_pregas: '',
386
- f_preamount: 0,
387
- f_totalcost: 0,
388
- f_balance: 0,
389
- f_curbalance: this.f_curbalance,
390
- f_collection: '',
391
- chargeprice: [],
392
- f_print: [],
393
- f_meter_type: '',
394
- f_voucher_number: '',
395
- f_privilege_id: 0,
396
- f_privilege_money: 0,
397
- f_privilege_gas: 0,
398
- f_after_discount: 0,
399
- f_comments: ''
400
- },
401
- cardallot: null,
402
- calculatedetail: '',
403
-
404
- billData: {
405
- url: 'rs/report/sendCard_bill',
406
- bill: ''
407
- },
408
-
409
- print: false,
410
-
411
- // 是否有限购
412
- hasLimit: false,
413
-
414
- // 启用发票管理需要对票号进行验证
415
- hasValidateBill: false,
416
- validateOk: false,
417
- blodid: '',
418
- maxgas: 99999999, // 限购
419
- maxmoney: 99999999,
420
- limitmoney: false,
421
- limitgas: false,
422
-
423
- clickConfirm: false,
424
-
425
- mulPrint: false, // 控制打印格式是否可以多选
426
- openFee: 0, // 是否有开卡费
427
- paymentModel: [], // 多笔付款方式
428
- paytype: [],
429
- printstyle: this.$appdata.getParam('打印格式') ? this.$appdata.getParam('打印格式') : [],
430
- privilegeList: [{label: '无优惠', value: '0'}],
431
- mjshow: false,
432
- // 小数是否支持,导致划价产生的多余气量,金额
433
- dymoney: 0
434
- }
435
- },
436
- props: ['row'],
437
- ready () {
438
- console.log('==>' + this.$refs.valid)
439
- if (this.authArr.includes('余额写卡限定')) {
440
- this.paytype = [{label: '余额写卡', value: '余额写卡'}]
441
- } else {
442
- this.paytype = this.$appdata.getParam('付款方式') ? this.$appdata.getParam('付款方式') : []
443
- if (!this.$login.r.includes('免交充值付款')) {
444
- this.paytype = this.paytype.filter((item) => {
445
- return item.label != '免交'
446
- })
447
- }
448
- }
449
- this.blodid = this.row.f_userinfo_id
450
- this.model.f_price_id = this.row.f_price_id
451
- this.model.f_user_id = this.row.f_user_id
452
- this.model.f_userfiles_id = this.row.f_userfiles_id
453
- this.model.f_userinfo_id = this.row.f_userinfo_id
454
- this.newPhone = this.row.f_user_phone
455
- if (this.row.f_collection_type == '按金额') {
456
- this.model.f_totalcost = ''
457
- this.model.f_pregas = 0
458
- }
459
-
460
- if (this.row.f_user_type === '民用') {
461
- this.openFee = this.$appdata.getSingleValue('民用开卡费') ? this.$appdata.getSingleValue('民用开卡费') : 0
462
- } else {
463
- this.openFee = this.$appdata.getSingleValue('非民用开卡费') ? this.$appdata.getSingleValue('非民用开卡费') : 0
464
- }
465
-
466
- if (this.$appdata.getSingleValue('是否启用发卡管理')) {
467
- this.$CardManageService.getCardNumber()
468
- .then((res) => {
469
- this.cardallot = Object.assign({}, this.cardallot, res.data)
470
- })
471
- }
472
- asyncShowCardSellGas(this)
473
- },
474
- events: {
475
- // 删除Resid数组元素
476
- 'delResid' (val) {
477
- this.resid.$remove({id: val, f_biobid: ''})
478
- // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
479
- },
480
- // 增加Resid数组元素
481
- 'resid' (val) {
482
- this.resid.push({id: val, f_biobid: ''})
483
- }
484
- },
485
- watch: {
486
- 'row' (val) {
487
- this.model.f_balance = val.f_balance
488
- },
489
- 'model.f_payment.length' (val) {
490
- console.log('付款方式多选。。', val)
491
- if (val > 3) {
492
- this.$showAlert('目前只支持三种支付方式', 'warning', 2000)
493
- return
494
- }
495
- if (val > 1 && !this.model.f_preamount) {
496
- this.model.f_payment = ['现金缴费']
497
- this.$showAlert('请先计算付款金额', 'warning', 2000)
498
- } else {
499
- this.paymentModel = []
500
- this.model.f_payment.forEach((res) => {
501
- let temp = {
502
- f_payment: res,
503
- f_money: 0
504
- }
505
- this.paymentModel.push(temp)
506
- })
507
- this.$resetValidation()
508
- // 获取计算优惠
509
- this.getPrivilegeList()
510
- }
511
- },
512
- 'model.f_payment' (val) {
513
- if (val == '免交') {
514
- this.mjshow = true
515
- } else {
516
- this.mjshow = false
517
- }
518
- },
519
- 'model.f_collection' (val) {
520
- // 获取计算优惠
521
- this.getPrivilegeList()
522
- },
523
- '$v' (val) {
524
- },
525
- '$v': {
526
- handler: function (val) {
527
- },
528
- deep: true
529
- },
530
- '$v.f_serial_number': {
531
- handler: function (val) {
532
- },
533
- deep: true
534
- },
535
- '$v.f_serial_number.valid' (val) {
536
- }
537
- },
538
- methods: {
539
- checkInvoiceMsg () {
540
- if (this.model.f_print[0] === '电子发票') {
541
- if (!this.row.f_taxpayer_id) {
542
- this.row.f_taxpayer_id = this.row.f_idnumber
543
- }
544
- if (!this.row.f_paper_name) {
545
- this.row.f_paper_name = this.row.f_user_name
546
- }
547
- if (!this.row.f_address_phone) {
548
- this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
549
- }
550
- this.confirm()
551
- } else {
552
- this.confirm()
553
- }
554
- },
555
- eticket_toggle () {
556
- this.eticket_show = false
557
- this.$dispatch('success')
558
- },
559
- confirm () {
560
- this.eticket_msg=false
561
- if (this.model.f_payment.length > 0 && this.model.f_payment[0] == '余额写卡') {
562
- if (this.model.f_collection > this.row.f_balance) {
563
- this.$showAlert('请注意!您的账户余额小于当前写卡金额,无法进行余额写卡,请修改后重试', 'warning', 1000)
564
- return
565
- }
566
- if (this.model.f_collection > 0) {
567
- this.$showAlert('请注意!进行余额写卡,收款不能大于0', 'warning', 1000)
568
- return
569
- }
570
- }
571
-
572
- this.clickConfirm = true
573
- this.model.f_curbalance = this.curbalance
574
- this.model.f_open_fee = this.openFee
575
- // 用于获取卡号
576
- console.log('开始发卡售气。。', this.model, this.row)
577
- this.$showMessage(`对客户${this.row.f_user_name}进行发卡售气操作。请确保你已经插入了${this.row.f_meter_brand}的卡?`, ['confirm', 'cancel']).then(async (res) => {
578
- if (res === 'confirm') {
579
- // 先调用付款码支付组件流程
580
- let ss = await this.$refs.paymentcode.flowPath()
581
- this.$refs.paymentcode.paymentCodeShow = false
582
- console.log('付款码操作返回', ss)
583
- if (!ss.result) return
584
-
585
- initCardGen(this)
586
- } else {
587
- this.$dispatch('has-button')
588
- this.clickConfirm = false
589
- }
590
- })
591
- },
592
- clean () {
593
- this.$info('取消操作')
594
- this.$dispatch('refresh', this.row)
595
- },
596
- pregas () {
597
- if (this.model.f_pregas && this.model.f_pregas > 0) {
598
- try {
599
- // 对气量进行验证
600
- if ((this.row.f_topup_ceil - 0) > 0 && (this.model.f_pregas - 0) > (this.row.f_topup_ceil - 0)) {
601
- this.$showAlert(`您输入的气量不能大于该表的充值上限: ${this.row.f_topup_ceil}`, 'warning', 5000)
602
- this.model.f_pregas = null
603
- } else {
604
- pregasGen(this)
605
- }
606
- } catch (error) {
607
- this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
608
- this.$dispatch('error', '发卡售气', this.model, error)
609
- }
610
- } else {
611
- this.model.f_pregas = 0
612
- }
613
- },
614
- preamount () {
615
- // if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
616
- // if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
617
- try {
618
- preamountGen(this)
619
- } catch (error) {
620
- this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
621
- this.$dispatch('error', '发卡售气', this.model, error)
622
- }
623
- // } else {
624
- // this.model.f_totalcost = null
625
- // }
626
- },
627
-
628
- validateBill (val) {
629
- this.validateOk = !val.isOk
630
- this.billData.bill = val.bill
631
- },
632
- printok () {
633
- // 收据打完,判断是否还有其他票据进行请求
634
- for (let i = 0; i < this.model.f_print.length; i++) {
635
- if (this.model.f_print[i] === '电子发票') {
636
- this.$CommonService.openEticket(this.row.id, '售气收费')
637
- }
638
- }
639
- this.$dispatch('success')
640
- },
641
- calText (val) {
642
- let str = ''
643
- let num = 0
644
- val.forEach((item) => {
645
- if (item.f_gas > 0) {
646
- num = num + 1
647
- }
648
- if (this.row.f_isdecimal === '是') {
649
- str = str + item.f_price + ' x ' + item.f_gas + '+'
650
- } else {
651
- str = str + item.f_price + ' x ' + Math.floor(item.f_gas) + '+'
652
- }
653
- })
654
- str = str.slice(0, str.length - 1)
655
- this.calculatedetail = str
656
- if (num > 1) {
657
- this.$showAlert('友好提示:本次购气已跨阶梯', 'warning', 3000)
658
- }
659
- },
660
- close () {
661
- this.showprint = false
662
- this.print = false
663
- this.clean()
664
- },
665
- // 根据选择的付款方式 获取优惠列表
666
- async getPrivilegeList () {
667
- // 初始化下拉选择列表
668
- this.privilegeList = [{label: '无优惠', value: '0'}]
669
- // 初始为无优惠
670
- this.model.f_privilege_id = '0'
671
- if (this.model.f_payment && this.model.f_payment.length) {
672
- // 查询条件
673
- let payments = JSON.stringify(this.model.f_payment)
674
- payments = payments.replace('[', '(').replace(']', ')').replace(/"/g, '\'')
675
- let HttpReset = new HttpResetClass()
676
- let privilege = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
677
- data: {
678
- items: 'id,f_privilege_name,f_privilege_type',
679
- tablename: 't_privilege',
680
- condition: `f_payment in ${payments} and f_gasproperties = '${this.row.f_gasproperties}' and f_user_type = '${this.row.f_user_type}' and f_perform_date <= GETDATE() and f_end_date >= GETDATE() and f_state = '有效'`,
681
- orderitem: 'id'
682
- }
683
- }, {resolveMsg: null, rejectMsg: '查询优惠信息失败'})
684
- // 查询结果放到下拉列表
685
- for (let p of privilege.data) {
686
- this.privilegeList.push({label: p.f_privilege_name, value: p.id, type: p.f_privilege_type})
687
- }
688
- this.privilegeCalculate()
689
- }
690
- },
691
- // 优惠计算
692
- async privilegeCalculate () {
693
- // 初始化减免金额
694
- this.model.f_privilege_money = 0
695
- this.model.f_after_discount = this.model.f_collection
696
- // 判断是否是自定义优惠
697
- if (this.model.f_privilege_id != null && parseInt(this.model.f_privilege_id)) {
698
- for (let p of this.privilegeList) {
699
- if (p.value == this.model.f_privilege_id && p.type == '自定义') {
700
- this.model.f_privilege_money = window.prompt('请输入你想优惠的金额')
701
- if (!(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money) || !(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money)) {
702
- this.$showMessage('金额输入格式不正确!')
703
- this.model.f_privilege_money = 0
704
- return
705
- }
706
- if ((this.model.f_privilege_money - 0) >= this.model.f_collection) {
707
- this.$showMessage('减免金额不能大于等于收款金额')
708
- this.model.f_privilege_money = 0
709
- return
710
- }
711
- this.model.f_comments = this.model.f_comments + ' 优惠金额:' + this.model.f_privilege_money
712
- }
713
- if (p.value == this.model.f_privilege_id && p.type == '自定义气量') {
714
- this.model.f_privilege_gas = window.prompt('请输入你想优惠的气量')
715
- if (!(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_gas) || !(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_gas)) {
716
- this.$showMessage('金额输入格式不正确!')
717
- this.model.f_privilege_gas = 0
718
- return
719
- }
720
- let f_price = 0
721
- let param = {
722
- tablename: 't_detailprice',
723
- condition: `f_price_name = '1' and f_stairprice_id = '${this.row.f_stairprice_id}'`
724
- }
725
- let res = await this.$resetpost('rs/sql/saleSingleTable', {
726
- data: param
727
- }, {
728
- resolveMsg: null,
729
- rejectMsg: '获取一阶单价!!'
730
- })
731
- if (res.data.length > 0) {
732
- f_price = res.data[0].f_price
733
- }
734
- this.model.f_privilege_money = (this.model.f_privilege_gas - 0) * (f_price - 0)
735
- if ((this.model.f_privilege_money - 0) >= this.model.f_collection) {
736
- this.$showMessage('减免金额不能大于等于收款金额')
737
- this.model.f_privilege_money = 0
738
- this.model.f_privilege_gas = 0
739
- return
740
- }
741
- this.model.f_comments = this.model.f_comments + ' 优惠气量:' + this.model.f_privilege_gas
742
- }
743
- }
744
- }
745
- // 优惠方式, 收款 缺一不计算
746
- if (this.model.f_payment && this.model.f_payment.length && parseInt(this.model.f_privilege_id) && this.model.f_collection) {
747
- let c = {
748
- f_privilege_id: this.model.f_privilege_id,
749
- f_collection: this.model.f_collection,
750
- f_privilege_money: this.model.f_privilege_money
751
- }
752
- let privilegeData = await this.$resetpost('rs/logic/calculatePrivilege', c, {
753
- resolveMsg: null,
754
- rejectMsg: '计算优惠金额出错'
755
- })
756
- // 减免金额
757
- this.model.f_privilege_money = privilegeData.data.f_privilege_money
758
- // 减免后收款金额
759
- this.model.f_after_discount = privilegeData.data.f_collection
760
- }
761
- }
762
- },
763
- computed: {
764
- authArr () {
765
- return this.$login.r ? this.$login.r : []
766
- },
767
- 'curbalance' () {
768
- if (this.model.f_preamount) {
769
- if (this.row.f_collection_type === '按金额') {
770
- return ((this.model.f_totalcost - 0) + (this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
771
- } else {
772
- return ((this.model.f_collection - 0) - (this.model.f_totalcost - 0)).toFixed(4)
773
- }
774
- } else {
775
- return 0
776
- }
777
- },
778
- 'islegal' () {
779
- if (this.paymentModel.length > 1 && this.model.f_collection) {
780
- let sum = 0
781
- this.paymentModel.forEach((res) => {
782
- sum += (res.f_money - 0)
783
- })
784
-
785
- return (this.model.f_collection - 0) === (sum - 0)
786
- } else {
787
- return true
788
- }
789
- }
790
- }
791
- }
792
- </script>
793
-
794
-
795
- <style>
796
- input::-webkit-outer-spin-button,
797
- input::-webkit-inner-spin-button {
798
- -webkit-appearance: none;
799
- }
800
-
801
- input[type="number"] {
802
- -moz-appearance: textfield;
803
- }
804
- </style>
805
-
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="span" style="overflow-y: auto;">
4
+ <validator name='v' v-ref:valid>
5
+ <form novalidate class="form-horizontal">
6
+ <div class="row" style="margin-top:5px;">
7
+ <div class="col-sm-4 form-group" :class="[$v.payment.required ? 'has-error' : '']">
8
+ <label for="f_paytype" class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
9
+ <input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>
10
+ <v-select id="f_payment"
11
+ v-model="f_payment"
12
+ placeholder='请选择'
13
+ :value.sync="model.f_payment"
14
+ :options='paytype' clear-button v-ref:payment></v-select>
15
+ </div>
16
+ <div class="col-sm-4 form-group"
17
+ :class="[$v.f_pregas.required || $v.f_pregas.dctest? 'has-error' : 'has-success']">
18
+ <label for="f_pregas" class=" font_normal_body">*预购气量</label>
19
+ <input class="input_search" style="width:60%" type="number"
20
+ @blur="pregas()" v-model="model.f_pregas"
21
+ v-validate:f_pregas='{required: true, dctest: [maxgas, "<=" ]}' placeholder="预购气量"
22
+ v-next-el='sk' >
23
+ </div>
24
+
25
+ <div class="col-sm-4 form-group"
26
+ :class="[$v.f_preamount.required || $v.f_preamount.dctest? 'has-error' : 'has-success']">
27
+ <label for="f_preamount" class=" font_normal_body" >*预购金额</label>
28
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
29
+ @blur="preamount()" v-validate:f_preamount='{required: true, dctest: [maxmoney, "<=" ]}' placeholder="预购金额"
30
+ v-scale="[model.f_preamount, 4]" placeholder="预购金额" >
31
+ </div>
32
+ </div>
33
+ <div class="row" style="margin-top:5px;">
34
+
35
+ <div class="col-sm-4 form-group" :class="[$v.printstyle.required ? 'select-error' : '']">
36
+ <!-- <print-style :print.sync='model.f_print'></print-style> -->
37
+ <label for="f_print" class="font_normal_body">打印格式</label>
38
+ <input type="text" v-show="false" v-model="$refs.printstyle.selectedItems"
39
+ v-validate:printstyle='{required: true }'>
40
+ <v-select id="print"
41
+ v-model="f_print"
42
+ placeholder='请选择'
43
+ :value.sync="model.f_print"
44
+ :options='printstyle'
45
+ close-on-select clear-button v-ref:printstyle>
46
+ </v-select>
47
+ </div>
48
+ <div class="col-sm-4 form-group" v-if="hasLimit&&limitgas">
49
+ <label class="font_normal_body">&nbsp;购气上限</label>
50
+ <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxgas"
51
+ v-scale="[maxgas, 4]" placeholder='限购余气' disabled>
52
+ </div>
53
+ <div class="col-sm-4 form-group" v-if="hasLimit&&limitmoney">
54
+ <label class="font_normal_body">金额上限</label>
55
+ <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxmoney"
56
+ v-scale="[maxmoney, 2]" placeholder='限购金额' disabled>
57
+ </div>
58
+ <div class="col-sm-4 form-group" v-if="!hasLimit">
59
+ </div>
60
+ <div class="col-sm-4 form-group" >
61
+ <label for="f_temp_amount" v-if="row.f_collection_type === '按气量'"
62
+ class=" font_normal_body">&nbsp;应收金额</label>
63
+ <label for="f_temp_amount" v-if="row.f_collection_type === '按金额'"
64
+ class=" font_normal_body">*本次缴费</label>
65
+ <input class="input_search" style="width:60%" type="number"
66
+ v-model="model.f_totalcost"
67
+ v-validate:f_totalcost='{required: true, dctest: [(openFee - 0), ">=" ] }' placeholder="应收金额"
68
+ v-next-el='sk' v-scale="[model.f_totalcost, 4]" disabled >
69
+ </div>
70
+ </div>
71
+
72
+
73
+ <div class="row" style="margin-top:5px;">
74
+ <div class="col-sm-4 form-group">
75
+ <label for="f_balance" class="font_normal_body">上期结余</label>
76
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_balance"
77
+ v-scale="[model.f_balance, 4]" placeholder="上期结余" disabled>
78
+ </div>
79
+ <div class="col-sm-4 form-group">
80
+ <label for="f_curbalance" class="font_normal_body">&nbsp;本期结余</label>
81
+ <input class="input_search" style="width:60%" type="number" v-model="curbalance"
82
+ v-scale="[model.f_curbalance, 4]" placeholder="本期结余" disabled>
83
+ </div>
84
+
85
+ <div class="col-sm-4 form-group" v-if="row.f_collection_type === '按气量'"
86
+ :class="[$v.f_collection.required || $v.f_collection.dctest ? 'has-error' : 'has-success']">
87
+ <label for="f_collection" class=" font_normal_body">*收&emsp;&emsp;款</label>
88
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
89
+ v-validate:f_collection='{required: true, dctest: [(model.f_totalcost - 0) + (openFee - 0), ">=" ] }'
90
+ v-el:sk v-scale="[model.f_collection, 4]">
91
+ </div>
92
+ <div class="col-sm-4 form-group" v-if="row.f_collection_type === '按金额'">
93
+ <label for="f_collection" class=" font_normal_body">*收&emsp;&emsp;款</label>
94
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
95
+ v-el:sk v-scale="[model.f_collection, 4]">
96
+ </div>
97
+ </div>
98
+ <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')">
99
+ <div class="col-sm-4 form-group">
100
+ <label class="font_normal_body">优惠方式</label>
101
+ <v-select v-model="model.f_privilege_id" @blur.native.capture="privilegeCalculate"
102
+ placeholder='请选择'
103
+ :value.sync="model.f_privilege_id"
104
+ :options='privilegeList' clear-button value-single>
105
+ </v-select>
106
+ </div>
107
+ <div class="col-sm-4 form-group">
108
+ <label for="f_pregas" class=" font_normal_body">&nbsp;优惠气量</label>
109
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_privilege_gas"
110
+ v-scale="[model.f_privilege_gas, 2]" placeholder="优惠气量" disabled>
111
+ </div>
112
+ <div class="col-sm-4 form-group">
113
+ <label for="f_preamount" class=" font_normal_body">&nbsp;优惠金额</label>
114
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_privilege_money"
115
+ v-scale="[model.f_privilege_money, 2]" placeholder="优惠金额" disabled>
116
+ </div>
117
+ <div class="col-sm-4 form-group">
118
+ <label for="f_preamount" class=" font_normal_body">&nbsp;实际收款</label>
119
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_after_discount"
120
+ v-scale="[model.f_after_discount, 2]" placeholder="优惠后收款" disabled>
121
+ </div>
122
+ </div>
123
+ <div class="row" v-if="openFee > 0">
124
+ <div class="col-sm-4 form-group">
125
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;开卡费</label>
126
+ <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="openFee" placeholder='开卡费' disabled>
127
+ </div>
128
+ </div>
129
+ <div class="row" style="margin-top:5px;">
130
+ <div class="col-sm-9">
131
+ </div>
132
+ <div class="col-sm-3">
133
+ <span v-if="$v.f_collection.dctest" style="color:red ">收款不能小于应收金额</span>
134
+ </div>
135
+ </div>
136
+ <div class="row" v-if="model.f_payment[0].includes('POS')">
137
+ <div class="col-sm-4 form-group">
138
+ <label for="f_voucher_number" class="font_normal_body">&nbsp;&nbsp;&nbsp;凭证号</label>
139
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_voucher_number" placeholder="凭证号">
140
+ </div>
141
+ </div>
142
+ <div class="row" style="padding-top: 0.5em;">
143
+
144
+ <div class="col-sm-4" v-if="!mjshow" >
145
+ <label for="f_serial_number" class=" font_normal_body">业务单号</label>
146
+ <input class="input_search" style="width:60%" type="text"
147
+ v-model="model.f_serial_number" placeholder="业务单号">
148
+ </div>
149
+ <div class="col-sm-4" v-if="mjshow" :class="[$v.f_serial_number.required || $v.f_serial_number.dctest ? 'has-error' : 'has-success']">
150
+ <label for="f_serial_number" class=" font_normal_body">业务单号</label>
151
+ <input class="input_search" style="width:60%" type="text" v-validate:f_serial_number='{required: true }'
152
+ v-model="model.f_serial_number" placeholder="业务单号">
153
+ </div>
154
+
155
+
156
+ <div class="col-sm-8">
157
+ <label for="f_comments" class="font_normal_body">&nbsp;备&emsp;&emsp;注</label>
158
+ <input class="input_search" style="width:74%" v-model="model.f_comments" placeholder="备注">
159
+ </div>
160
+ </div>
161
+ <div v-if="paymentModel.length >1">
162
+ <div class="row" style="margin-top:10px;" >
163
+ <p class="col-sm-2 text-left" style="padding: 10px;"><img src="../../../static/juxing.png"/><strong style="margin-left: 4%">付款明细</strong></p>
164
+ </div>
165
+ <div class="row" style="margin-top:10px;" >
166
+ <div class="col-sm-4 form-group " v-for="pay in paymentModel" >
167
+ <label class="font_normal_body">{{pay.f_payment}}:</label>
168
+ <input id="f_money" type="text" class="input_search" style="width:60%" v-model="pay.f_money">
169
+ </div>
170
+ <div class="col-sm-4 form-group ">
171
+ <strong v-if="!islegal" style="color: red">所输入的金额必须等于收款金额</strong>
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </form>
176
+ <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
177
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="close"
178
+ :data='row' @printok="printok" v-ref:printbill></print-bill>
179
+ <div style="text-align:right; height: 25%">
180
+ <strong style="font-size: large" >计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong><br/>
181
+ <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk || !islegal || clickConfirm'>确认</button>
182
+ <button class="button_clear btn-gn" @click="clean()" >取消</button>
183
+ </div>
184
+ </validator>
185
+ </div>
186
+
187
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_after_discount"></payment-code>
188
+ </div>
189
+ <upload v-if="config.showupload" isremark="true" fusetype="发卡售气"></upload>
190
+ <eticket-modal :show="eticket_msg" :row="row" @confirm="confirm"></eticket-modal>
191
+ <eticket-print-async :show="eticket_show" @toggle="eticket_toggle" v-ref:asynceticket></eticket-print-async>
192
+ </template>
193
+ <script>
194
+ /**
195
+ *综合业务
196
+ *发卡售气组件
197
+ */
198
+
199
+ import {HttpResetClass} from 'vue-client'
200
+
201
+ let preamountGen = async function (self) {
202
+ // let calFee = (self.model.f_totalcost - 0) + (self.row.f_balance - 0)
203
+ if (self.row.f_balance == null) self.row.f_balance = 0
204
+ let calFee = ((self.model.f_preamount - 0) + (self.row.f_balance - 0)).toFixed(2)
205
+ // 通过金额进行划价
206
+ let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
207
+ if (getGas.data.gas) {
208
+ if (self.row.f_isdecimal === '是') {
209
+ if (self.row.f_alias === 'QiaoSong') {
210
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(1)
211
+ } else {
212
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(4)
213
+ }
214
+ self.dymoney = 0
215
+ } else {
216
+ // 如果不支持小数,将划价出的多余非整数气量进行划价为金额
217
+ // 如果不支持小数,将划价出的多余非整数气量进行划价为金额
218
+ let tempnum = Math.floor(getGas.data.gas - 0)
219
+ if (getGas.data.gas > tempnum) { // getGas.data.gas-tempnum-0
220
+ let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
221
+ if (dymoney1.data.money) {
222
+ self.dymoney = (getGas.data.money - 0).toFixed(2) - (dymoney1.data.money - 0).toFixed(2)
223
+ }
224
+ } else {
225
+ self.dymoney = 0
226
+ }
227
+ self.model.f_pregas = Math.floor(getGas.data.gas - 0)
228
+ }
229
+ }
230
+ self.model.f_totalcost = ((self.row.f_balance - 0) > (calFee - 0) ? 0 : ((calFee - 0) - (self.row.f_balance - 0)).toFixed(2))
231
+ // self.model.f_preamount = calFee
232
+ self.model.chargeprice = getGas.data.chargeprice
233
+ Object.assign(self.model, self.model, getGas.data)
234
+ self.model.f_collection = self.model.f_totalcost
235
+ self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(2)
236
+ self.calText(getGas.data.chargeprice)
237
+ }
238
+
239
+ let pregasGen = async function (self) {
240
+ if (self.row.f_isdecimal === '是') {
241
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
242
+ } else {
243
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
244
+ }
245
+ self.model.f_meter_type = self.row.f_meter_type
246
+ if ((self.model.f_pregas - 0) - (self.maxgas - 0) <= 0) {
247
+ let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
248
+ console.log('划价返回', getAmount, self.openFee, self.row.f_balance)
249
+ self.model.f_preamount = getAmount.data.chargenum
250
+ // 计算气费和其他费用(暂时只有开卡费,之后有其他费在加)
251
+ let total = (getAmount.data.chargenum - 0) + (self.openFee - 0)
252
+ self.model.f_totalcost = (self.row.f_balance - 0) > (total - 0) ? 0 : ((total - 0) - (self.row.f_balance - 0)).toFixed(4)
253
+ Object.assign(self.model, self.model, getAmount.data)
254
+ self.model.chargeprice = getAmount.data.chargeprice
255
+ self.model.f_collection = self.model.f_totalcost
256
+ self.calText(getAmount.data.chargeprice)
257
+ }
258
+ }
259
+
260
+ // 写卡操作
261
+ let initCardGen = async function (self) {
262
+ try {
263
+ if (self.paymentModel.length === 0) {
264
+ self.paymentModel = [{
265
+ f_payment: self.model.f_payment[0],
266
+ f_money: self.model.f_preamount
267
+ }]
268
+ }
269
+
270
+ self.model.payments = self.paymentModel
271
+ // 加入扫码盒付款码支付流水号
272
+ self.model.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
273
+ let res = await self.$CardService.initCard(self.model, self.row, self.cardallot)
274
+ let param = []
275
+ for (let row of self.resid) {
276
+ param.push({id: row.id})
277
+ }
278
+ let data = {
279
+ param: param,
280
+ f_blobid: res.data
281
+ }
282
+
283
+ await self.$resetpost('rs/logic/updatefiles', data)
284
+
285
+ console.log('发卡售气返回id', res, self.model)
286
+ // 开始打票
287
+ if (self.config.hasPrint) {
288
+ if (self.model.f_print.indexOf('电子发票') == -1) {
289
+ if (self.config.hasBillManage) {
290
+ // 启用发票管理,获取票据管理中的票号并存储记录 d
291
+ self.row.id = res.data.id
292
+ self.row.f_bill_type = '发卡售气'
293
+ self.row.f_bill_style = self.model.f_print[0]
294
+ self.print = true
295
+ } else {
296
+ self.row.id = res.data.id
297
+ self.print = true
298
+ }
299
+ } else {
300
+ if (self.model.f_print[0] === '电子发票') {
301
+ self.eticket_show=true
302
+ await self.$refs.asynceticket.openEticket(res.data.id, self.row,'发卡售气')
303
+ }
304
+ }
305
+ } else {
306
+ self.$showAlert('发卡售气成功', 'success', 2000)
307
+ self.$dispatch('success')
308
+ }
309
+ self.clickConfirm = false
310
+ } catch (error) {
311
+ console.log('抛出的错误。。', error)
312
+ self.$showAlert(error, 'danger', 0)
313
+ self.$dispatch('refresh')
314
+ self.clickConfirm = false
315
+ }
316
+ }
317
+
318
+ let asyncShowCardSellGas = async function (self) {
319
+ await self.$getConfig(self, 'ShowCardSellGas')
320
+ console.log('发卡售气config', self.config)
321
+ if(self.row.f_paper_type){
322
+ self.model.f_print=self.row.f_paper_type instanceof Array ? self.row.f_paper_type : [self.row.f_paper_type ]
323
+ console.log(" this.model.f_print", this.model.f_print)
324
+ }else{
325
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
326
+ }
327
+ // self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
328
+ self.model.f_payment = [self.config.payment]
329
+ self.mulPrint = self.config.printType instanceof Array
330
+
331
+ self.model.f_use_type = self.config.billType
332
+ self.model.f_bill_type = self.model.f_print
333
+ self.hasValidateBill = self.config.hasBillManage
334
+
335
+ // 判断限购
336
+ // 获取限购值
337
+ let limit_param = {
338
+ f_userinfo_id: self.row.f_userinfo_id,
339
+ f_user_id: self.row.f_user_id,
340
+ f_stairprice_id: self.row.f_stairprice_id
341
+ }
342
+ let http = new HttpResetClass()
343
+ let getLimit = await http.load('POST', 'rs/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, rejectMsg: '获取限购值失败!!'})
344
+ console.log('获取限购值', getLimit)
345
+ self.hasLimit = getLimit.data.hasLimit
346
+ if (self.hasLimit) {
347
+ if (getLimit.data.f_limit_value || getLimit.data.f_limit_amount) {
348
+ if (getLimit.data.f_limit_value < 0 && getLimit.data.f_limit_amount < 0) {
349
+ self.$showAlert(`${getLimit.data.msg}`, 'warning', 3000)
350
+ self.$dispatch('refresh')
351
+ } else {
352
+ if (getLimit.data.f_limit_value) {
353
+ self.maxgas = (getLimit.data.f_limit_value - 0)
354
+ self.limitgas = true
355
+ }
356
+ if (getLimit.data.f_limit_amount) {
357
+ self.maxmoney = (getLimit.data.f_limit_amount - 0)
358
+ self.limitmoney = true
359
+ }
360
+ }
361
+ }
362
+ }
363
+ }
364
+
365
+ export default {
366
+ title: '发卡售气',
367
+ data () {
368
+ return {
369
+ //发票相关
370
+ eticket_msg:false,
371
+ eticket_show: false,
372
+ serialShow: false,
373
+ resid: [],
374
+ config: {
375
+ showupload: true, // 默认不显示上传附件
376
+ hasPrint: false, // 默认打票
377
+ hasBillManage: false, // 默认不启用发票管理
378
+ billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
379
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
380
+ payment: '现金缴费'
381
+ },
382
+ model: {
383
+ f_stairprice_id: '',
384
+ f_payment: '现金缴费',
385
+ f_pregas: '',
386
+ f_preamount: 0,
387
+ f_totalcost: 0,
388
+ f_balance: 0,
389
+ f_curbalance: this.f_curbalance,
390
+ f_collection: '',
391
+ chargeprice: [],
392
+ f_print: [],
393
+ f_meter_type: '',
394
+ f_voucher_number: '',
395
+ f_privilege_id: 0,
396
+ f_privilege_money: 0,
397
+ f_privilege_gas: 0,
398
+ f_after_discount: 0,
399
+ f_comments: ''
400
+ },
401
+ cardallot: null,
402
+ calculatedetail: '',
403
+
404
+ billData: {
405
+ url: 'rs/report/sendCard_bill',
406
+ bill: ''
407
+ },
408
+
409
+ print: false,
410
+
411
+ // 是否有限购
412
+ hasLimit: false,
413
+
414
+ // 启用发票管理需要对票号进行验证
415
+ hasValidateBill: false,
416
+ validateOk: false,
417
+ blodid: '',
418
+ maxgas: 99999999, // 限购
419
+ maxmoney: 99999999,
420
+ limitmoney: false,
421
+ limitgas: false,
422
+
423
+ clickConfirm: false,
424
+
425
+ mulPrint: false, // 控制打印格式是否可以多选
426
+ openFee: 0, // 是否有开卡费
427
+ paymentModel: [], // 多笔付款方式
428
+ paytype: [],
429
+ printstyle: this.$appdata.getParam('打印格式') ? this.$appdata.getParam('打印格式') : [],
430
+ privilegeList: [{label: '无优惠', value: '0'}],
431
+ mjshow: false,
432
+ // 小数是否支持,导致划价产生的多余气量,金额
433
+ dymoney: 0
434
+ }
435
+ },
436
+ props: ['row'],
437
+ ready () {
438
+ console.log('==>' + this.$refs.valid)
439
+ if (this.authArr.includes('余额写卡限定')) {
440
+ this.paytype = [{label: '余额写卡', value: '余额写卡'}]
441
+ } else {
442
+ this.paytype = this.$appdata.getParam('付款方式') ? this.$appdata.getParam('付款方式') : []
443
+ if (!this.$login.r.includes('免交充值付款')) {
444
+ this.paytype = this.paytype.filter((item) => {
445
+ return item.label != '免交'
446
+ })
447
+ }
448
+ }
449
+ this.blodid = this.row.f_userinfo_id
450
+ this.model.f_price_id = this.row.f_price_id
451
+ this.model.f_user_id = this.row.f_user_id
452
+ this.model.f_userfiles_id = this.row.f_userfiles_id
453
+ this.model.f_userinfo_id = this.row.f_userinfo_id
454
+ this.newPhone = this.row.f_user_phone
455
+ if (this.row.f_collection_type == '按金额') {
456
+ this.model.f_totalcost = ''
457
+ this.model.f_pregas = 0
458
+ }
459
+
460
+ if (this.row.f_user_type === '民用') {
461
+ this.openFee = this.$appdata.getSingleValue('民用开卡费') ? this.$appdata.getSingleValue('民用开卡费') : 0
462
+ } else {
463
+ this.openFee = this.$appdata.getSingleValue('非民用开卡费') ? this.$appdata.getSingleValue('非民用开卡费') : 0
464
+ }
465
+
466
+ if (this.$appdata.getSingleValue('是否启用发卡管理')) {
467
+ this.$CardManageService.getCardNumber()
468
+ .then((res) => {
469
+ this.cardallot = Object.assign({}, this.cardallot, res.data)
470
+ })
471
+ }
472
+ asyncShowCardSellGas(this)
473
+ },
474
+ events: {
475
+ // 删除Resid数组元素
476
+ 'delResid' (val) {
477
+ this.resid.$remove({id: val, f_biobid: ''})
478
+ // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
479
+ },
480
+ // 增加Resid数组元素
481
+ 'resid' (val) {
482
+ this.resid.push({id: val, f_biobid: ''})
483
+ }
484
+ },
485
+ watch: {
486
+ 'row' (val) {
487
+ this.model.f_balance = val.f_balance
488
+ },
489
+ 'model.f_payment.length' (val) {
490
+ console.log('付款方式多选。。', val)
491
+ if (val > 3) {
492
+ this.$showAlert('目前只支持三种支付方式', 'warning', 2000)
493
+ return
494
+ }
495
+ if (val > 1 && !this.model.f_preamount) {
496
+ this.model.f_payment = ['现金缴费']
497
+ this.$showAlert('请先计算付款金额', 'warning', 2000)
498
+ } else {
499
+ this.paymentModel = []
500
+ this.model.f_payment.forEach((res) => {
501
+ let temp = {
502
+ f_payment: res,
503
+ f_money: 0
504
+ }
505
+ this.paymentModel.push(temp)
506
+ })
507
+ this.$resetValidation()
508
+ // 获取计算优惠
509
+ this.getPrivilegeList()
510
+ }
511
+ },
512
+ 'model.f_payment' (val) {
513
+ if (val == '免交') {
514
+ this.mjshow = true
515
+ } else {
516
+ this.mjshow = false
517
+ }
518
+ },
519
+ 'model.f_collection' (val) {
520
+ // 获取计算优惠
521
+ this.getPrivilegeList()
522
+ },
523
+ '$v' (val) {
524
+ },
525
+ '$v': {
526
+ handler: function (val) {
527
+ },
528
+ deep: true
529
+ },
530
+ '$v.f_serial_number': {
531
+ handler: function (val) {
532
+ },
533
+ deep: true
534
+ },
535
+ '$v.f_serial_number.valid' (val) {
536
+ }
537
+ },
538
+ methods: {
539
+ checkInvoiceMsg () {
540
+ if (this.model.f_print[0] === '电子发票') {
541
+ if (!this.row.f_taxpayer_id) {
542
+ this.row.f_taxpayer_id = this.row.f_idnumber
543
+ }
544
+ if (!this.row.f_paper_name) {
545
+ this.row.f_paper_name = this.row.f_user_name
546
+ }
547
+ if (!this.row.f_address_phone) {
548
+ this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
549
+ }
550
+ this.confirm()
551
+ } else {
552
+ this.confirm()
553
+ }
554
+ },
555
+ eticket_toggle () {
556
+ this.eticket_show = false
557
+ this.$dispatch('success')
558
+ },
559
+ confirm () {
560
+ this.eticket_msg=false
561
+ if (this.model.f_payment.length > 0 && this.model.f_payment[0] == '余额写卡') {
562
+ if (this.model.f_collection > this.row.f_balance) {
563
+ this.$showAlert('请注意!您的账户余额小于当前写卡金额,无法进行余额写卡,请修改后重试', 'warning', 1000)
564
+ return
565
+ }
566
+ if (this.model.f_collection > 0) {
567
+ this.$showAlert('请注意!进行余额写卡,收款不能大于0', 'warning', 1000)
568
+ return
569
+ }
570
+ }
571
+
572
+ this.clickConfirm = true
573
+ this.model.f_curbalance = this.curbalance
574
+ this.model.f_open_fee = this.openFee
575
+ // 用于获取卡号
576
+ console.log('开始发卡售气。。', this.model, this.row)
577
+ this.$showMessage(`对客户${this.row.f_user_name}进行发卡售气操作。请确保你已经插入了${this.row.f_meter_brand}的卡?`, ['confirm', 'cancel']).then(async (res) => {
578
+ if (res === 'confirm') {
579
+ // 先调用付款码支付组件流程
580
+ let ss = await this.$refs.paymentcode.flowPath()
581
+ this.$refs.paymentcode.paymentCodeShow = false
582
+ console.log('付款码操作返回', ss)
583
+ if (!ss.result) return
584
+
585
+ initCardGen(this)
586
+ } else {
587
+ this.$dispatch('has-button')
588
+ this.clickConfirm = false
589
+ }
590
+ })
591
+ },
592
+ clean () {
593
+ this.$info('取消操作')
594
+ this.$dispatch('refresh', this.row)
595
+ },
596
+ pregas () {
597
+ if (this.model.f_pregas && this.model.f_pregas > 0) {
598
+ try {
599
+ // 对气量进行验证
600
+ if ((this.row.f_topup_ceil - 0) > 0 && (this.model.f_pregas - 0) > (this.row.f_topup_ceil - 0)) {
601
+ this.$showAlert(`您输入的气量不能大于该表的充值上限: ${this.row.f_topup_ceil}`, 'warning', 5000)
602
+ this.model.f_pregas = null
603
+ } else {
604
+ pregasGen(this)
605
+ }
606
+ } catch (error) {
607
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
608
+ this.$dispatch('error', '发卡售气', this.model, error)
609
+ }
610
+ } else {
611
+ this.model.f_pregas = 0
612
+ }
613
+ },
614
+ preamount () {
615
+ // if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
616
+ // if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
617
+ try {
618
+ preamountGen(this)
619
+ } catch (error) {
620
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
621
+ this.$dispatch('error', '发卡售气', this.model, error)
622
+ }
623
+ // } else {
624
+ // this.model.f_totalcost = null
625
+ // }
626
+ },
627
+
628
+ validateBill (val) {
629
+ this.validateOk = !val.isOk
630
+ this.billData.bill = val.bill
631
+ },
632
+ printok () {
633
+ // 收据打完,判断是否还有其他票据进行请求
634
+ for (let i = 0; i < this.model.f_print.length; i++) {
635
+ if (this.model.f_print[i] === '电子发票') {
636
+ this.$CommonService.openEticket(this.row.id, '售气收费')
637
+ }
638
+ }
639
+ this.$dispatch('success')
640
+ },
641
+ calText (val) {
642
+ let str = ''
643
+ let num = 0
644
+ val.forEach((item) => {
645
+ if (item.f_gas > 0) {
646
+ num = num + 1
647
+ }
648
+ if (this.row.f_isdecimal === '是') {
649
+ str = str + item.f_price + ' x ' + item.f_gas + '+'
650
+ } else {
651
+ str = str + item.f_price + ' x ' + Math.floor(item.f_gas) + '+'
652
+ }
653
+ })
654
+ str = str.slice(0, str.length - 1)
655
+ this.calculatedetail = str
656
+ if (num > 1) {
657
+ this.$showAlert('友好提示:本次购气已跨阶梯', 'warning', 3000)
658
+ }
659
+ },
660
+ close () {
661
+ this.showprint = false
662
+ this.print = false
663
+ this.clean()
664
+ },
665
+ // 根据选择的付款方式 获取优惠列表
666
+ async getPrivilegeList () {
667
+ // 初始化下拉选择列表
668
+ this.privilegeList = [{label: '无优惠', value: '0'}]
669
+ // 初始为无优惠
670
+ this.model.f_privilege_id = '0'
671
+ if (this.model.f_payment && this.model.f_payment.length) {
672
+ // 查询条件
673
+ let payments = JSON.stringify(this.model.f_payment)
674
+ payments = payments.replace('[', '(').replace(']', ')').replace(/"/g, '\'')
675
+ let HttpReset = new HttpResetClass()
676
+ let privilege = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
677
+ data: {
678
+ items: 'id,f_privilege_name,f_privilege_type',
679
+ tablename: 't_privilege',
680
+ condition: `f_payment in ${payments} and f_gasproperties = '${this.row.f_gasproperties}' and f_user_type = '${this.row.f_user_type}' and f_perform_date <= GETDATE() and f_end_date >= GETDATE() and f_state = '有效'`,
681
+ orderitem: 'id'
682
+ }
683
+ }, {resolveMsg: null, rejectMsg: '查询优惠信息失败'})
684
+ // 查询结果放到下拉列表
685
+ for (let p of privilege.data) {
686
+ this.privilegeList.push({label: p.f_privilege_name, value: p.id, type: p.f_privilege_type})
687
+ }
688
+ this.privilegeCalculate()
689
+ }
690
+ },
691
+ // 优惠计算
692
+ async privilegeCalculate () {
693
+ // 初始化减免金额
694
+ this.model.f_privilege_money = 0
695
+ this.model.f_after_discount = this.model.f_collection
696
+ // 判断是否是自定义优惠
697
+ if (this.model.f_privilege_id != null && parseInt(this.model.f_privilege_id)) {
698
+ for (let p of this.privilegeList) {
699
+ if (p.value == this.model.f_privilege_id && p.type == '自定义') {
700
+ this.model.f_privilege_money = window.prompt('请输入你想优惠的金额')
701
+ if (!(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money) || !(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money)) {
702
+ this.$showMessage('金额输入格式不正确!')
703
+ this.model.f_privilege_money = 0
704
+ return
705
+ }
706
+ if ((this.model.f_privilege_money - 0) >= this.model.f_collection) {
707
+ this.$showMessage('减免金额不能大于等于收款金额')
708
+ this.model.f_privilege_money = 0
709
+ return
710
+ }
711
+ this.model.f_comments = this.model.f_comments + ' 优惠金额:' + this.model.f_privilege_money
712
+ }
713
+ if (p.value == this.model.f_privilege_id && p.type == '自定义气量') {
714
+ this.model.f_privilege_gas = window.prompt('请输入你想优惠的气量')
715
+ if (!(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_gas) || !(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_gas)) {
716
+ this.$showMessage('金额输入格式不正确!')
717
+ this.model.f_privilege_gas = 0
718
+ return
719
+ }
720
+ let f_price = 0
721
+ let param = {
722
+ tablename: 't_detailprice',
723
+ condition: `f_price_name = '1' and f_stairprice_id = '${this.row.f_stairprice_id}'`
724
+ }
725
+ let res = await this.$resetpost('rs/sql/saleSingleTable', {
726
+ data: param
727
+ }, {
728
+ resolveMsg: null,
729
+ rejectMsg: '获取一阶单价!!'
730
+ })
731
+ if (res.data.length > 0) {
732
+ f_price = res.data[0].f_price
733
+ }
734
+ this.model.f_privilege_money = (this.model.f_privilege_gas - 0) * (f_price - 0)
735
+ if ((this.model.f_privilege_money - 0) >= this.model.f_collection) {
736
+ this.$showMessage('减免金额不能大于等于收款金额')
737
+ this.model.f_privilege_money = 0
738
+ this.model.f_privilege_gas = 0
739
+ return
740
+ }
741
+ this.model.f_comments = this.model.f_comments + ' 优惠气量:' + this.model.f_privilege_gas
742
+ }
743
+ }
744
+ }
745
+ // 优惠方式, 收款 缺一不计算
746
+ if (this.model.f_payment && this.model.f_payment.length && parseInt(this.model.f_privilege_id) && this.model.f_collection) {
747
+ let c = {
748
+ f_privilege_id: this.model.f_privilege_id,
749
+ f_collection: this.model.f_collection,
750
+ f_privilege_money: this.model.f_privilege_money
751
+ }
752
+ let privilegeData = await this.$resetpost('rs/logic/calculatePrivilege', c, {
753
+ resolveMsg: null,
754
+ rejectMsg: '计算优惠金额出错'
755
+ })
756
+ // 减免金额
757
+ this.model.f_privilege_money = privilegeData.data.f_privilege_money
758
+ // 减免后收款金额
759
+ this.model.f_after_discount = privilegeData.data.f_collection
760
+ }
761
+ }
762
+ },
763
+ computed: {
764
+ authArr () {
765
+ return this.$login.r ? this.$login.r : []
766
+ },
767
+ 'curbalance' () {
768
+ if (this.model.f_preamount) {
769
+ if (this.row.f_collection_type === '按金额') {
770
+ return ((this.model.f_totalcost - 0) + (this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
771
+ } else {
772
+ return ((this.model.f_collection - 0) - (this.model.f_totalcost - 0)).toFixed(4)
773
+ }
774
+ } else {
775
+ return 0
776
+ }
777
+ },
778
+ 'islegal' () {
779
+ if (this.paymentModel.length > 1 && this.model.f_collection) {
780
+ let sum = 0
781
+ this.paymentModel.forEach((res) => {
782
+ sum += (res.f_money - 0)
783
+ })
784
+
785
+ return (this.model.f_collection - 0) === (sum - 0)
786
+ } else {
787
+ return true
788
+ }
789
+ }
790
+ }
791
+ }
792
+ </script>
793
+
794
+
795
+ <style>
796
+ input::-webkit-outer-spin-button,
797
+ input::-webkit-inner-spin-button {
798
+ -webkit-appearance: none;
799
+ }
800
+
801
+ input[type="number"] {
802
+ -moz-appearance: textfield;
803
+ }
804
+ </style>
805
+