printTemplate.vue 8.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs="crumbs"></bread-crumb>
  5. </div>
  6. <div
  7. v-loading="loading"
  8. element-loading-text="服务器处理数据中,请稍候......."
  9. element-loading-spinner="el-icon-loading"
  10. element-loading-background="rgba(0, 0, 0, 0.8)"
  11. >
  12. <div class="app-container app-print" style="text-align: center">
  13. <p style="margin-top: 10px;margin-bottom: 30px">
  14. 请选择你需要打印的血液透析护理记录单样式
  15. </p>
  16. <el-row :gutter="20" type="flex" justify="center">
  17. <el-col :span="6" style="text-align: center">
  18. <div>
  19. <el-tooltip
  20. class="item"
  21. effect="dark"
  22. :hide-after="2000"
  23. content="点击查看大图"
  24. placement="top-start"
  25. >
  26. <el-image
  27. style="width: 200px; height: 200px"
  28. :src="require('@/assets/home/1.jpg')"
  29. :preview-src-list="imgs_one"
  30. ></el-image>
  31. </el-tooltip>
  32. </div>
  33. <el-radio v-model="radio" label="1" @change="change"
  34. >模版一</el-radio
  35. >
  36. </el-col>
  37. <el-col
  38. :span="6"
  39. style="margin-left: 100px;margin-right: 100px;text-align: center"
  40. >
  41. <div>
  42. <el-tooltip
  43. class="item"
  44. effect="dark"
  45. content="点击查看大图"
  46. placement="top-start"
  47. :hide-after="2000"
  48. >
  49. <el-image
  50. style="width: 200px; height: 200px"
  51. :src="require('@/assets/home/2.jpg')"
  52. :preview-src-list="imgs_two"
  53. ></el-image>
  54. </el-tooltip>
  55. </div>
  56. <el-radio v-model="radio" label="2" @change="change"
  57. >模版二</el-radio
  58. >
  59. </el-col>
  60. <el-col :span="6" style="text-align: center">
  61. <div class="demo-image__preview">
  62. <el-tooltip
  63. class="item"
  64. effect="dark"
  65. content="点击查看大图"
  66. placement="top-start"
  67. :hide-after="2000"
  68. >
  69. <el-image
  70. style="width: 200px; height: 200px"
  71. :src="require('@/assets/home/5.jpg')"
  72. :preview-src-list="imgs_five"
  73. ></el-image>
  74. </el-tooltip>
  75. </div>
  76. <el-radio v-model="radio" label="5" @change="change"
  77. >模版三</el-radio
  78. >
  79. </el-col>
  80. <el-col :span="6" style="text-align: center">
  81. <div class="demo-image__preview">
  82. <el-tooltip
  83. class="item"
  84. effect="dark"
  85. content="点击查看大图"
  86. placement="top-start"
  87. :hide-after="2000"
  88. >
  89. <el-image
  90. style="width: 200px; height: 200px"
  91. :src="require('@/assets/home/4.png')"
  92. :preview-src-list="imgs_seven"
  93. ></el-image>
  94. </el-tooltip>
  95. </div>
  96. <el-radio v-model="radio" label="7" @change="change"
  97. >模版四</el-radio
  98. >
  99. </el-col>
  100. </el-row>
  101. <el-row :gutter="20" type="flex">
  102. <el-col :span="6" style="text-align: center">
  103. <div class="demo-image__preview">
  104. <el-tooltip
  105. class="item"
  106. effect="dark"
  107. content="点击查看大图"
  108. placement="top-start"
  109. :hide-after="2000"
  110. >
  111. <el-image
  112. style="width: 200px; height: 200px;margin-left:-60px"
  113. :src="require('@/assets/home/5.png')"
  114. :preview-src-list="imgs_six"
  115. ></el-image>
  116. </el-tooltip>
  117. </div>
  118. <el-radio
  119. v-model="radio"
  120. label="8"
  121. @change="change"
  122. style="margin-left:-60px"
  123. >模版五</el-radio
  124. >
  125. </el-col>
  126. <el-col :span="6" style="text-align: center">
  127. <div class="demo-image__preview">
  128. <el-tooltip
  129. class="item"
  130. effect="dark"
  131. content="点击查看大图"
  132. placement="top-start"
  133. :hide-after="2000"
  134. >
  135. <el-image
  136. style="width: 200px; height: 200px;margin-left:30px"
  137. :src="require('@/assets/home/template_six.png')"
  138. :preview-src-list="imgs_eight"
  139. ></el-image>
  140. </el-tooltip>
  141. </div>
  142. <el-radio v-model="radio" label="6" @change="change"
  143. >模版六</el-radio
  144. >
  145. </el-col>
  146. <!--<el-col :span="6" style="text-align: center">-->
  147. <!--<div class="demo-image__preview">-->
  148. <!--<el-tooltip-->
  149. <!--class="item"-->
  150. <!--effect="dark"-->
  151. <!--content="点击查看大图"-->
  152. <!--placement="top-start"-->
  153. <!--:hide-after="2000"-->
  154. <!--&gt;-->
  155. <!--<el-image-->
  156. <!--style="width: 200px; height: 200px;margin-left:30px"-->
  157. <!--:src="require('@/assets/home/template_ten.jpg')"-->
  158. <!--:preview-src-list="imgs_ten"-->
  159. <!--&gt;</el-image>-->
  160. <!--</el-tooltip>-->
  161. <!--</div>-->
  162. <!--<el-radio v-model="radio" label="10" @change="change"-->
  163. <!--&gt;模版十</el-radio-->
  164. <!--&gt;-->
  165. <!--</el-col>-->
  166. </el-row>
  167. </div>
  168. </div>
  169. </div>
  170. </template>
  171. <script>
  172. import BreadCrumb from "@/xt_pages/components/bread-crumb";
  173. import { getPrintTemplate, postPrintTemplate } from "@/api/data";
  174. import store from "@/store";
  175. export default {
  176. name: "printTemplate",
  177. components: { BreadCrumb },
  178. data() {
  179. return {
  180. crumbs: [
  181. { path: false, name: "管理中心" },
  182. { path: "data/print", name: "打印模版" }
  183. ],
  184. imgUrl_One: require("@/assets/home/1.jpg"),
  185. imgUrl_Two: require("@/assets/home/2.jpg"),
  186. imgUrl_Five: require("@/assets/home/5.jpg"),
  187. imgs_one: [
  188. // 'https://images.shengws.com/template_one.jpg'
  189. "https://images.shengws.com/fangji.jpg"
  190. ],
  191. imgs_two: ["https://images.shengws.com/template_two.jpg"],
  192. imgs_five: ["https://images.shengws.com/template_five.jpg"],
  193. imgs_seven: ["http://images.shengws.com/7.png"],
  194. imgs_six: ["https://images.shengws.com/5.png"],
  195. imgs_eight: ["https://images.shengws.com/template_six.png"],
  196. imgs_ten: ["https://kuyi.shengws.com/template_ten.jpg"],
  197. delay: 500,
  198. radio: 0,
  199. tempRadio: 0,
  200. loading: false
  201. };
  202. },
  203. methods: {
  204. change: function(val) {
  205. console.log("val是什么", val);
  206. this.$confirm("切换模版后,透析记录的字段会根据打印单来显示与隐藏,是否确定切换模版", "提示", {
  207. confirmButtonText: "确定",
  208. cancelButtonText: "取消",
  209. type: "info"
  210. })
  211. .then(() => {
  212. this.loading = true;
  213. postPrintTemplate(val).then(response => {
  214. if (response.data.state == 1) {
  215. var template_id = response.data.data.template_id;
  216. this.radio = template_id.toString();
  217. this.tempRadio = template_id.toString();
  218. // 同步
  219. this.loading = false;
  220. store.dispatch("updateAllFiledConfigList", response.data.data.fileds).then(() => {});
  221. this.$message({
  222. type: "success",
  223. message: "切换成功"
  224. });
  225. }
  226. });
  227. })
  228. .catch(() => {
  229. this.radio = this.tempRadio;
  230. });
  231. }
  232. },
  233. created() {
  234. getPrintTemplate().then(response => {
  235. if (response.data.state == 0) {
  236. this.$message.error(response.data.msg);
  237. return false;
  238. } else {
  239. var template = response.data.data.template;
  240. this.radio = template.template_id.toString();
  241. this.tempRadio = template.template_id.toString();
  242. }
  243. });
  244. }
  245. };
  246. </script>
  247. <style scoped>
  248. .el-row {
  249. margin-bottom: 20px;
  250. & :last-child {
  251. margin-bottom: 0;
  252. }
  253. }
  254. .el-col {
  255. border-radius: 4px;
  256. }
  257. </style>
  258. <style lang="scss">
  259. .app-print {
  260. .el-radio__label {
  261. padding-left: 10px;
  262. }
  263. }
  264. </style>