codeDialog.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <ele-modal title="自定义编码" :visible.sync="visible" :before-close="handleClose" :close-on-click-modal="false"
  3. :close-on-press-escape="false" append-to-body width="40%" :maxable="true">
  4. <el-form label-width="120px" ref="formRef" :model="formData" :rules="rules" class="rx-sc">
  5. <el-form-item label="">
  6. <el-input v-model="formData.leave" readonly style="width: 120px;margin-left: 8px;"></el-input>
  7. </el-form-item>
  8. <span>-</span>
  9. <el-form-item label="" prop="leave2">
  10. <DictSelection :ChinEng="true" dictName="二级编码规则" clearable v-model="formData.leave2">
  11. </DictSelection>
  12. </el-form-item>
  13. <span>-</span>
  14. <el-form-item label="" prop="leave3">
  15. <DictSelection :ChinEng="true" dictName="三级编码规则" clearable v-model="formData.leave3">
  16. </DictSelection>
  17. </el-form-item>
  18. <span>-</span>
  19. <el-form-item label="" prop="code">
  20. <el-input v-model="formData.code" maxlength="3" placeholder="流水号"
  21. style="width: 120px;margin-left: 8px;"></el-input>
  22. </el-form-item>
  23. </el-form>
  24. <div class="des">设备\模具\周转车\舟皿三级编码规则,例如:CX-JY-SB(本级)-001 </div>
  25. <template v-slot:footer>
  26. <el-button @click="handleClose">取消</el-button>
  27. <el-button type="primary" @click="save" :loading="loading">
  28. 保存
  29. </el-button>
  30. </template>
  31. </ele-modal>
  32. </template>
  33. <script>
  34. export default {
  35. data() {
  36. return {
  37. visible: true,
  38. loading: false,
  39. formData: {
  40. leave: 'SL',
  41. leave2: null,
  42. leave3: null,
  43. code: null
  44. },
  45. rules: {
  46. leave2: { required: true, message: '请选择', trigger: 'change' },
  47. leave3: { required: true, message: '请选择', trigger: 'change' },
  48. code: [
  49. { required: true, message: '请输入流水号', trigger: 'blur' },
  50. {
  51. pattern: /^\d{3}$/,
  52. message: '请输入三位数的流水号'
  53. }
  54. ]
  55. }
  56. }
  57. },
  58. watch: {
  59. },
  60. methods: {
  61. handleClose() {
  62. this.$emit('close')
  63. },
  64. save() {
  65. this.$refs.formRef.validate((valid) => {
  66. if (!valid) {
  67. return false;
  68. }
  69. let code = this.formData.leave + '-' + this.formData.leave2 + '-' + this.formData.leave3 + '-' + this.formData.code
  70. this.$emit('chooseCode', code)
  71. this.handleClose()
  72. })
  73. },
  74. }
  75. }
  76. </script>
  77. <style lang="scss" scoped>
  78. .row_flex {
  79. display: flex;
  80. flex-direction: row;
  81. align-items: center;
  82. }
  83. ::v-deep .el-form-item__content {
  84. margin: 0 8px !important;
  85. }
  86. ::v-deep .el-form-item {
  87. margin-bottom: 0px;
  88. }
  89. ::v-deep .el-form-item:last-child {
  90. margin-bottom: 0px !important;
  91. }
  92. .des {
  93. margin-top: 20px;
  94. }
  95. </style>