printTemplate.vue 8.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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/serven.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/eight.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/serven.png"],
  194. imgs_six: ["http://images.shengws.com/eight.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. "切换模版后,透析记录的字段会根据打印单来显示与隐藏,是否确定切换模版",
  208. "提示",
  209. {
  210. confirmButtonText: "确定",
  211. cancelButtonText: "取消",
  212. type: "info"
  213. }
  214. )
  215. .then(() => {
  216. this.loading = true;
  217. postPrintTemplate(val).then(response => {
  218. if (response.data.state == 1) {
  219. var template_id = response.data.data.template_id;
  220. this.radio = template_id.toString();
  221. this.tempRadio = template_id.toString();
  222. // 同步
  223. // console.log(response.data.data.fileds)
  224. this.loading = false;
  225. store.dispatch("updateAllFiledConfigList", response.data.data.fileds).then(() => {});
  226. this.$message({
  227. type: "success",
  228. message: "切换成功"
  229. });
  230. }
  231. });
  232. })
  233. .catch(() => {
  234. this.radio = this.tempRadio;
  235. });
  236. }
  237. },
  238. created() {
  239. getPrintTemplate().then(response => {
  240. if (response.data.state == 0) {
  241. this.$message.error(response.data.msg);
  242. return false;
  243. } else {
  244. var template = response.data.data.template;
  245. this.radio = template.template_id.toString();
  246. this.tempRadio = template.template_id.toString();
  247. }
  248. });
  249. }
  250. };
  251. </script>
  252. <style scoped>
  253. .el-row {
  254. margin-bottom: 20px;
  255. & :last-child {
  256. margin-bottom: 0;
  257. }
  258. }
  259. .el-col {
  260. border-radius: 4px;
  261. }
  262. </style>
  263. <style lang="scss">
  264. .app-print {
  265. .el-radio__label {
  266. padding-left: 10px;
  267. }
  268. }
  269. </style>