华西海圻ELN前端工程
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

245 lines
9.6 KiB

  1. <template>
  2. <!-- 详情 -->
  3. <div v-show="open">
  4. <div class="detail-container">
  5. <div class="detail-top">
  6. <div class="left-top">
  7. <img src="@/assets/images/back.png" @click="cancel()" />
  8. <div class="left-title"></div>
  9. </div>
  10. <div class="right-top">
  11. <el-button @click="cancel()">{{ $t('form.cancel') }}</el-button>
  12. <el-button @click="exportPDF()">{{ $t('form.export') }}</el-button>
  13. </div>
  14. </div>
  15. <div class="detail-title"><img src="@/assets/images/detail-title.png">{{ $t('page.business.resource.sj.sjxq')
  16. }}<img src="@/assets/images/detail-title.png" /></div>
  17. <div class="detail-content">
  18. <div class="content-left">
  19. <div class="content-title">
  20. <div class="line"></div>
  21. <div class="subtitle"> {{ $t('page.business.resource.sj.jbxx') }}</div>
  22. </div>
  23. <div class="pal">
  24. <div class="left">
  25. <div class="left-title">{{ $t('page.business.resource.sj.mc') }}</div>
  26. <el-input type="text" :value="form.mc" maxlength="50" disabled />
  27. </div>
  28. <div class="right">
  29. <div class="right-title">{{ $t('page.business.resource.sj.bh') }}</div>
  30. <el-input type="text" :value="form.bh" maxlength="50" disabled />
  31. </div>
  32. </div>
  33. <div class="pal">
  34. <div class="left">
  35. <div class="left-title">{{ $t('page.business.resource.sj.ph') }}</div>
  36. <el-input type="text" :value="form.ph" maxlength="50" disabled />
  37. </div>
  38. <div class="right">
  39. <div class="right-title">{{ $t('page.business.resource.sj.gg') }}</div>
  40. <el-input type="text" :value="form.gg" maxlength="50" disabled />
  41. </div>
  42. </div>
  43. <div class="pal">
  44. <div class="left">
  45. <div class="left-title">{{ $t('page.business.resource.sj.nd') }}</div>
  46. <el-input type="text" :value="form.nd" maxlength="50" disabled> <template slot="append">{{
  47. form.nddw }}</template>
  48. </el-input>
  49. </div>
  50. <div class="right">
  51. <div class="right-title">{{ $t('page.business.resource.sj.kcl') }}</div>
  52. <el-input type="text" :value="form.kc" maxlength="50" disabled> <template slot="append">{{
  53. form.kcdw }}</template> </el-input>
  54. </div>
  55. </div>
  56. <div class="pal">
  57. <div class="left">
  58. <div class="left-title">{{ $t('page.business.resource.sj.ly') }}</div>
  59. <el-input type="text" :value="form.ly" maxlength="50" disabled />
  60. </div>
  61. <div class="right">
  62. <div class="right-title">{{ $t('page.business.resource.sj.cctj') }}</div>
  63. <el-input type="text" :value="form.cctj" maxlength="50" disabled />
  64. </div>
  65. </div>
  66. <div class="pal">
  67. <div class="left">
  68. <div class="left-title">{{ $t('page.business.resource.sj.ccwz') }}</div>
  69. <el-input type="text" :value="form.ccwz" maxlength="50" disabled />
  70. </div>
  71. <div class="right">
  72. <div class="right-title">{{ $t('page.business.resource.sj.yxzq') }}</div>
  73. <el-input type="text" :value="form.yxzq" maxlength="50" disabled />
  74. </div>
  75. </div>
  76. <div class="pal">
  77. <div class="left">
  78. <div class="left-title">{{ $t('page.business.resource.sj.sxr') }}</div>
  79. <el-input type="text" :value="form.sxr" maxlength="50" disabled />
  80. </div>
  81. <div class="right">
  82. <div class="right-title">{{ $t('page.business.resource.sj.pzrq') }}</div>
  83. <el-input type="text" :value="form.pzrq" maxlength="50" disabled />
  84. </div>
  85. </div>
  86. <div class="content-title">
  87. <div class="line"></div>
  88. <div class="subtitle"> 表单信息</div>
  89. </div>
  90. <div class="pal">
  91. <div class="left">
  92. <div class="left-title">{{ $t('page.business.resource.sj.ssbd') }}</div>
  93. <el-input type="text" :value="form.formName" maxlength="50" disabled />
  94. </div>
  95. <div class="right">
  96. <div class="right-title">{{ $t('page.business.resource.sj.bdsssy') }}</div>
  97. <el-input type="text" :value="form.studyName" maxlength="50" disabled />
  98. </div>
  99. </div>
  100. <div class="pal">
  101. <div class="left">
  102. <div class="left-title">{{ $t('page.business.resource.sj.bdssr') }}</div>
  103. <el-input type="text" :value="form.formUserName" maxlength="50" disabled />
  104. </div>
  105. <div class="right">
  106. <div class="right-title">{{ $t('page.business.resource.sj.bdssbm') }}</div>
  107. <el-input type="text" :value="form.deptName" maxlength="50" disabled />
  108. </div>
  109. </div>
  110. <div class="content-title">
  111. <div class="line"></div>
  112. <div class="subtitle"> {{ $t('page.business.resource.sj.tz') }}</div>
  113. </div>
  114. <div class="pal">
  115. <el-table :data="tzList" v-loading="loadingTz">
  116. <el-table-column :label="$t('page.business.resource.sj.qmr')" align="center" prop="qmrMc"
  117. :show-overflow-tooltip="true" >
  118. <template slot-scope="scope">
  119. {{ $i18n.locale === 'zh_CN' ? scope.row.qmrMc : scope.row.qmrMcEn }}
  120. </template>
  121. </el-table-column>
  122. <el-table-column :label="$t('page.business.resource.sj.czlx')" align="center" prop="qmyy"
  123. :show-overflow-tooltip="true">
  124. <template slot-scope="scope">
  125. {{ $i18n.locale === 'zh_CN' ? scope.row.qmyy : scope.row.qmyyEn }}
  126. </template>
  127. </el-table-column>
  128. <el-table-column :label="$t('page.business.resource.sj.czl')" align="center"
  129. :show-overflow-tooltip="true">
  130. <template slot-scope="scope">
  131. {{ scope.row.czl }}{{ scope.row.czldw }}
  132. </template>
  133. </el-table-column>
  134. <el-table-column :label="$t('page.business.resource.sj.bz')" align="center" prop="remark"
  135. :show-overflow-tooltip="true" />
  136. <el-table-column :label="$t('page.business.resource.sj.czsj')" align="center" prop="createTime"
  137. width="150px" />
  138. </el-table>
  139. </div>
  140. <div class="pal">
  141. <pagination v-show="totalTz > 0" :total="totalTz" :page.sync="queryParamstZ.pageNum"
  142. :limit.sync="queryParamstZ.pageSize" @pagination="getTzList" />
  143. </div>
  144. </div>
  145. <div class="content-right">
  146. <div class="content-title">
  147. <div class="line"></div>
  148. <div class="subtitle"> {{ $t('page.business.resource.sj.jcgj') }}</div>
  149. </div>
  150. <jcgjList ref="jcgjList" @handleQuery="jcgjListHandleQuery" />
  151. <pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
  152. @pagination="getJjcgjList" />
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. </template>
  158. <script>
  159. import { sj_info, tzList, jcgjList, exportDetail } from "@/api/business/sj/sj"
  160. import JcgjList from "@/views/business/comps/common/JcgjList";
  161. export default {
  162. name: "SjXq",
  163. components: { JcgjList },
  164. data() {
  165. return {
  166. form: {},
  167. tzList: [],
  168. totalTz: 0,
  169. loadingTz: true,
  170. open: false,
  171. queryParamstZ: {
  172. mjyId: null,
  173. pageNum: 1,
  174. pageSize: 10
  175. },
  176. jcgjTotal: 0,
  177. jcgjList: [],
  178. queryJcgjParams: {
  179. pageNum: 1,
  180. mjyId: null,
  181. pageSize: 10,
  182. }
  183. }
  184. },
  185. created() {
  186. },
  187. methods: {
  188. exportPDF() {
  189. this.$modal.loading()
  190. exportDetail({ id: this.form.id,lang:this.$store.getters.language.split("_")[0],version:this.$store.getters.language.split("_")[0]=='zh'?this.appTitle:this.appTitleEn }).then(response => {
  191. window.open(process.env.VUE_APP_FILE_DOMAIN +response.msg)
  192. this.saveSimpleLog({name:this.form.bh,nameEn:this.form.bh,jcmc:'试剂导出',jcmcEn:'Reagent Export'})
  193. this.$modal.closeLoading()
  194. }).finally(() => {
  195. this.$modal.closeLoading()
  196. })
  197. },
  198. jcgjListHandleQuery(val) {
  199. this.$modal.loading()
  200. jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
  201. this.jcgjList = response.rows
  202. this.jcgjTotal = response.total
  203. this.$refs.jcgjList.init(this.jcgjList)
  204. this.$modal.closeLoading()
  205. })
  206. },
  207. getJjcgjList() {
  208. jcgjList(this.queryJcgjParams).then(response => {
  209. this.jcgjList = response.rows
  210. this.jcgjTotal = response.total
  211. this.$refs.jcgjList.init(this.jcgjList)
  212. this.$modal.closeLoading()
  213. })
  214. },
  215. cancel() {
  216. this.open = false
  217. this.$emit('callback')
  218. },
  219. getTzList() {
  220. this.loadingTz = true
  221. tzList(this.queryParamstZ).then(response => {
  222. this.tzList = response.rows
  223. this.totalTz = response.total
  224. this.loadingTz = false
  225. this.getJjcgjList()
  226. })
  227. },
  228. show(row) {
  229. this.$modal.loading()
  230. this.queryParamstZ.sjId = row.id
  231. this.queryJcgjParams.sjId = row.id
  232. sj_info({ id: row.id }).then(response => {
  233. this.form = response.data
  234. this.getTzList()
  235. this.open = true
  236. this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'试剂详情',jcmcEn:'Reagent Detail'})
  237. })
  238. }
  239. }
  240. }
  241. </script>