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

172 lines
5.2 KiB

  1. <template>
  2. <div>
  3. <!-- 签名弹窗 -->
  4. <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open" width="500px" append-to-body>
  5. <el-form ref="signForm" :model="form" :rules="rules" label-width="120px">
  6. <el-row>
  7. <el-col :span="24" v-if="showDate">
  8. <el-form-item :label="$t('page.business.study.study.jysj')" prop="startDate">
  9. <el-date-picker v-model="dateArr" clearable type="daterange" range-separator="-" :start-placeholder="$t('form.startDate')"
  10. :end-placeholder="$t('form.endDate')" value-format="yyyy-MM-dd" style="width: 100%" @change="changeDate" />
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="24">
  14. <el-form-item :label="$t('form.qmyy')" prop="qmyy">
  15. <el-input type="text" v-model="form.qmyy" maxlength="50" disabled
  16. :placeholder="$t('form.placeholderInput')" />
  17. </el-form-item>
  18. </el-col>
  19. <el-col :span="24">
  20. <el-form-item :label="isReson?$t('form.reason'):$t('form.remark')" prop="remark">
  21. <el-input type="textarea" v-model="form.remark" :rows="2" maxlength="500"
  22. :placeholder="$t('form.placeholderInput')">
  23. </el-input>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="24">
  27. <el-form-item :label="$t('form.signer')">
  28. <el-input type="text" v-model="form.qmrMc" maxlength="50" disabled
  29. :placeholder="$t('form.placeholderInput')" />
  30. </el-form-item>
  31. </el-col>
  32. <!-- <el-col :span="24" v-if="$i18n.locale === 'zh_CN'">
  33. <el-form-item :label="$t('form.signer')">
  34. <el-input type="text" v-model="form.qmrMc" maxlength="50" disabled
  35. :placeholder="$t('form.placeholderInput')" />
  36. </el-form-item>
  37. </el-col>
  38. <el-col :span="24" v-else>
  39. <el-form-item :label="$t('form.signer')">
  40. <el-input type="text" v-model="form.qmrMcEn" maxlength="50" disabled
  41. :placeholder="$t('form.placeholderInput')" />
  42. </el-form-item>
  43. </el-col> -->
  44. <el-col :span="24">
  45. <el-form-item :label="$t('form.password')" prop="qmrmm">
  46. <div class="sbzdtcma"> <input type="text"></div>
  47. <el-input type="password" v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" autocomplete="off" auto-complete="new-password" show-password />
  48. </el-form-item>
  49. </el-col>
  50. </el-row>
  51. </el-form>
  52. <div slot="footer" class="dialog-footer">
  53. <el-button type="primary" @click="save">{{ $t('form.confirm') }}</el-button>
  54. <el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
  55. </div>
  56. </el-dialog>
  57. </div>
  58. </template>
  59. <script>
  60. export default {
  61. name: "Sign",
  62. components: { },
  63. data() {
  64. return {
  65. title:'',
  66. open: false,
  67. form: {
  68. qmyy:'',
  69. remark:'',
  70. qmrId:'',
  71. qmrMc:'',
  72. qmrMcEn:'',
  73. qmrmm:'',
  74. startDate:'',
  75. endDate:''
  76. },
  77. dateArr:[],
  78. showDate:false,
  79. rules: {
  80. qmrmm: [{
  81. required: true,
  82. message: ' ',
  83. trigger: 'blur'
  84. }],
  85. startDate: [{
  86. required: true,
  87. message: ' ',
  88. trigger: 'change'
  89. }]
  90. },
  91. isReson:false
  92. }
  93. },
  94. computed: {
  95. },
  96. created() {
  97. },
  98. methods: {
  99. show(title,qmyy,showDate,selectedDate,isReson,reasonRequired) {
  100. this.showDate = showDate==undefined?false:showDate
  101. this.dateArr = selectedDate || []
  102. this.title = title
  103. this.form = {
  104. qmyy:qmyy,
  105. remark:'',
  106. qmrId:this.$store.getters.id,
  107. qmrMc:this.$store.getters.nickName,
  108. qmrMcEn:this.$store.getters.name,
  109. qmrmm:'',
  110. startDate:selectedDate&&selectedDate.length>0?selectedDate[0]:'',
  111. endDate:selectedDate&&selectedDate.length>1?selectedDate[1]:''
  112. }
  113. this.open = true
  114. this.isReson = isReson || false
  115. if(reasonRequired){
  116. this.rules ={
  117. qmrmm: [{
  118. required: true,
  119. message: ' ',
  120. trigger: 'blur'
  121. }],
  122. startDate: [{
  123. required: true,
  124. message: ' ',
  125. trigger: 'change'
  126. }],
  127. remark: [{
  128. required: true,
  129. message: ' ',
  130. trigger: 'blur'
  131. }]
  132. }
  133. }else{
  134. this.rules ={
  135. qmrmm: [{
  136. required: true,
  137. message: ' ',
  138. trigger: 'blur'
  139. }],
  140. startDate: [{
  141. required: true,
  142. message: ' ',
  143. trigger: 'change'
  144. }]
  145. }
  146. }
  147. this.clearFormValidate("signForm")
  148. },
  149. cancel() {
  150. this.open = false
  151. },
  152. changeDate(val){
  153. this.form.startDate = val && val.length>0?val[0]:''
  154. this.form.endDate = val && val.length>1?val[1]:''
  155. },
  156. save() {
  157. this.$refs["signForm"].validate(valid => {
  158. if (valid) {
  159. this.$emit('callback',this.form)
  160. }
  161. })
  162. }
  163. }
  164. }
  165. </script>