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

137 lines
4.0 KiB

  1. <template>
  2. <div>
  3. <!-- 借阅弹窗 -->
  4. <el-dialog :title="$t('page.business.resource.sj.jieyue')" :visible.sync="open" width="500px" append-to-body
  5. :close-on-click-modal="false">
  6. <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-show="open">
  7. <el-row>
  8. <el-col :span="24">
  9. <el-form-item :label="$t('page.business.resource.sj.jieyuesj')" prop="qmyy">
  10. <el-date-picker v-model="daterange" class="chat-histogram-daterange" type="daterange" range-separator="-"
  11. :start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')"
  12. value-format="yyyy-MM-dd" @change="daterangeChange" style="width: 100%" />
  13. </el-form-item>
  14. </el-col>
  15. </el-row>
  16. <el-row>
  17. <el-col :span="24">
  18. <el-form-item :label="$t('form.qmyy')" prop="qmyy">
  19. <el-input type="text" :value="form.qmyy" maxlength="50" disabled
  20. :placeholder="$t('form.placeholderInput')" />
  21. </el-form-item>
  22. </el-col>
  23. </el-row>
  24. <el-row>
  25. <el-col :span="24">
  26. <el-form-item :label="$t('form.remark')" prop="remark">
  27. <el-input type="textarea" v-model="form.remark" :rows="2" maxlength="500"
  28. :placeholder="$t('form.placeholderInput')">
  29. </el-input>
  30. </el-form-item>
  31. </el-col>
  32. </el-row>
  33. <el-row>
  34. <el-col :span="24">
  35. <el-form-item :label="$t('form.signer')">
  36. <el-input type="text" v-model="nickName" maxlength="50" disabled
  37. :placeholder="$t('form.placeholderInput')" />
  38. </el-form-item>
  39. </el-col>
  40. </el-row>
  41. <el-row>
  42. <el-col :span="24">
  43. <el-form-item :label="$t('form.password')" prop="qmrmm">
  44. <div class="sbzdtcma"> <input type="text"></div>
  45. <el-input type="password" v-model="form.qmrmm" autocomplete="off" auto-complete="new-password" show-password maxlength="20" :placeholder="$t('form.placeholderInput')" />
  46. </el-form-item>
  47. </el-col>
  48. </el-row>
  49. </el-form>
  50. <div slot="footer" class="dialog-footer">
  51. <el-button type="primary" @click="save">{{ $t('form.confirm') }}</el-button>
  52. <el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
  53. </div>
  54. </el-dialog>
  55. </div>
  56. </template>
  57. <script>
  58. import { sj_jy } from "@/api/business/sj/sj"
  59. import { mapGetters } from 'vuex'
  60. import SelectList from "./SelectList";
  61. export default {
  62. name: "SjJy",
  63. components: { SelectList },
  64. data() {
  65. return {
  66. isBatch: false,
  67. ids: [],
  68. selectList: [],
  69. open: false,
  70. form: {},
  71. daterange: [],
  72. rules: {
  73. qmrmm: [{
  74. required: true,
  75. message: ' ',
  76. trigger: 'blur'
  77. }]
  78. }
  79. }
  80. },
  81. computed: {
  82. ...mapGetters([
  83. 'nickName','name'
  84. ]),
  85. },
  86. created() {
  87. },
  88. methods: {
  89. daterangeChange() {
  90. if (this.daterange != null && this.daterange.length > 0) {
  91. this.form.startDate = this.daterange[0]
  92. this.form.endDate = this.daterange[1];
  93. } else {
  94. this.form.startDate = ''
  95. this.form.endDate = ''
  96. }
  97. },
  98. cancel() {
  99. this.open = false
  100. },
  101. reset() {
  102. this.form = {
  103. id: null,
  104. ids: null,
  105. mc: null,
  106. bh: null,
  107. qmyy: this.$t('page.business.resource.sj.sqjy'),
  108. qmrmm: null
  109. }
  110. this.resetForm("form")
  111. },
  112. show(row) {
  113. this.reset()
  114. this.isBatch = false
  115. this.form.ids = []
  116. this.selectList = []
  117. this.form.id = row.id
  118. this.form.mc = row.mc
  119. this.form.bh = row.bh
  120. this.daterange = []
  121. this.open = true
  122. },
  123. save() {
  124. this.$refs["form"].validate(valid => {
  125. if (valid) {
  126. sj_jy(this.form).then(response => {
  127. this.open = false
  128. this.$emit('callback')
  129. })
  130. }
  131. })
  132. }
  133. }
  134. }
  135. </script>