华西海圻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.

184 lines
5.5 KiB

  1. <template>
  2. <div>
  3. <div class="edit-container">
  4. <div class="edit-top">
  5. <div class="left-top">
  6. <img src="@/assets/images/back.png" @click="cancel()" />
  7. <div class="left-title"></div>
  8. </div>
  9. <div class="center-top">
  10. </div>
  11. <div class="right-top">
  12. <el-button @click="cancel()">{{ $t('form.close') }}</el-button>
  13. </div>
  14. </div>
  15. <div class="edit-content ">
  16. <div class="content">
  17. <div>
  18. <el-button type="primary" @click="dcqbjcgj">{{ $t('page.business.study.studyFormPlan.dcqbjcgj') }}
  19. </el-button>
  20. <el-button type="primary" @click="dclcjcgj">{{ $t('page.business.study.studyFormPlan.dclcjcgj') }}
  21. </el-button>
  22. <el-button type="primary" @click="dcbjjcgj">{{ $t('page.business.study.studyFormPlan.dcbjjcgj') }}
  23. </el-button>
  24. <el-button type="primary" @click="dcxgjcgj">{{ $t('page.business.study.studyFormPlan.dcxgjcgj') }}
  25. </el-button>
  26. <el-button type="primary" @click="dcbhsjgj">{{ $t('page.business.study.studyFormPlan.dcbhsjgj') }}
  27. </el-button>
  28. </div>
  29. <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="audit" :templateData="form" />
  30. <div class="content-title">
  31. <div class="line"></div>
  32. <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.qmxx') }}</div>
  33. </div>
  34. <div class="pal">
  35. <el-table :data="qmxxList" v-loading="loadingQmxx">
  36. <el-table-column :label="$t('page.business.study.studyFormPlan.qmr')" align="center" prop="qmrMc"
  37. width="150px" />
  38. <el-table-column :label="$t('page.business.study.studyFormPlan.qmyy')" align="center"
  39. :prop="$i18n.locale === 'zh_CN' ? 'qmyy' : 'qmyyEn'" width="150px" />
  40. <el-table-column :label="$t('page.business.study.studyFormPlan.qmsj')" align="center" prop="createTime"
  41. width="150px" />
  42. <el-table-column :label="$t('page.business.study.studyFormPlan.bzyy')" align="center" prop="remark"
  43. :show-overflow-tooltip="true" />
  44. </el-table>
  45. </div>
  46. <div class="pal">
  47. <pagination v-show="totalQmxx > 0" :total="totalQmxx" :page.sync="queryParamsQmxx.pageNum"
  48. :limit.sync="queryParamsQmxx.pageSize" @pagination="getQmxxList" />
  49. </div>
  50. <div class="content-title">
  51. <div class="line"></div>
  52. <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.jcgj') }}</div>
  53. </div>
  54. <JcgjList ref="jcgjList" @handleQuery="getJjcgjList" :showXg="true" />
  55. <pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
  56. @pagination="getJjcgjList" />
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. </template>
  62. <script>
  63. import { studyFormPlan_info, studyFormPlan_jcgj, studyFormPlan_qmxx } from "@/api/business/study/studyFormPlan"
  64. import { mapGetters } from 'vuex'
  65. import JcgjList from "@/views/business/comps/common/JcgjList";
  66. import TemplateTable from '@/views/business/comps/template/TemplateTable';
  67. export default {
  68. name: "Xq",
  69. components: { JcgjList, TemplateTable },
  70. data() {
  71. return {
  72. qmxxList: [],
  73. totalQmxx: 0,
  74. loadingQmxx: true,
  75. queryParamsQmxx: {
  76. formId: null,
  77. pageNum: 1,
  78. pageSize: 10
  79. },
  80. open: false,
  81. showIndex: 1,
  82. form: {},
  83. rules: {
  84. bdmc: [{
  85. required: true,
  86. message: ' ',
  87. trigger: 'blur'
  88. }],
  89. templateId: [{
  90. required: true,
  91. message: ' ',
  92. trigger: 'blur'
  93. }]
  94. },
  95. jcgjTotal: 0,
  96. jcgjList: [],
  97. queryParamsJcgj: {
  98. pageNum: 1,
  99. formId: null,
  100. pageSize: 10,
  101. }
  102. }
  103. },
  104. computed: {
  105. ...mapGetters([
  106. 'nickName', 'name'
  107. ]),
  108. },
  109. created() {
  110. },
  111. methods: {
  112. dcqbjcgj() {
  113. alert('todo')
  114. },
  115. dclcjcgj() {
  116. alert('todo')
  117. },
  118. dcbjjcgj() {
  119. alert('todo')
  120. },
  121. dcxgjcgj() {
  122. alert('todo')
  123. },
  124. dcbhsjgj() {
  125. alert('todo')
  126. },
  127. getJjcgjList(val) {
  128. this.$modal.loading()
  129. studyFormPlan_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => {
  130. this.jcgjList = response.rows
  131. this.jcgjTotal = response.total
  132. this.$refs.jcgjList.init(this.jcgjList)
  133. this.$modal.closeLoading()
  134. }).finally(() => {
  135. this.$modal.closeLoading()
  136. })
  137. },
  138. getQmxxList() {
  139. this.loadingQmxx = true
  140. studyFormPlan_qmxx(this.queryParamsQmxx).then(response => {
  141. this.qmxxList = response.rows
  142. this.totalQmxx = response.total
  143. this.loadingQmxx = false
  144. })
  145. },
  146. cancel() {
  147. this.$emit('close')
  148. },
  149. reset() {
  150. this.form = {
  151. id: null,
  152. studyId: null,
  153. bdbh: null,
  154. bdmc: null,
  155. bdsm: null,
  156. templateId: null,
  157. templateMc: null,
  158. bdnr: null
  159. }
  160. this.resetForm("form")
  161. },
  162. show(row) {
  163. this.reset()
  164. this.$modal.loading()
  165. this.queryParamsJcgj.formId = row.id
  166. this.queryParamsQmxx.formId = row.id
  167. studyFormPlan_info({ id: row.id }).then(response => {
  168. this.form = response.data
  169. this.getQmxxList()
  170. this.getJjcgjList()
  171. this.$modal.closeLoading()
  172. }).finally(() => {
  173. this.$modal.closeLoading()
  174. })
  175. }
  176. }
  177. }
  178. </script>