examine.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="title"
  5. :visible.sync="dialogVisible"
  6. width="600px"
  7. :before-close="handleClose"
  8. :close-on-click-modal="false"
  9. >
  10. <el-form
  11. :model="form"
  12. status-icon
  13. :rules="rules"
  14. ref="form"
  15. label-width="120px"
  16. class="demo-ruleForm"
  17. >
  18. <el-form-item label="审核人:" prop="name">
  19. <el-select style="width:100%;" ref="select1" v-model="form.select1" clearable filterable remote placeholder="请输入审核人" >
  20. <el-option v-for="item in personnelList" :key="item.value" :label="item.label" :value="item.value" :disabled="!item.value">
  21. <span style="float: left" >{{ item.label }}</span>
  22. <span style="float: right; color: #8492a6; font-size: 13px;" v-if="!item.value"><el-button size="small" >创建</el-button></span>
  23. </el-option>
  24. </el-select>
  25. </el-form-item>
  26. <el-form-item label="抄送人:">
  27. <el-select
  28. multiple
  29. v-model="form.value"
  30. placeholder="请选择抄送人"
  31. style="width: 100%"
  32. >
  33. <el-option
  34. v-for="item in options"
  35. :key="item.value"
  36. :label="item.label"
  37. :value="item.value"
  38. >
  39. </el-option>
  40. </el-select>
  41. </el-form-item>
  42. <el-form-item label="截止时间:">
  43. <el-date-picker
  44. style="width: 100%"
  45. v-model="form.endTime"
  46. type="datetime"
  47. value-format="yyyy-MM-dd HH:mm:ss"
  48. placeholder="请选择截止日期时间"
  49. >
  50. </el-date-picker>
  51. </el-form-item>
  52. <el-form-item label="审核备注:">
  53. <el-input
  54. type="textarea"
  55. :rows="3"
  56. placeholder="请输入内容"
  57. v-model="form.remark"
  58. ></el-input>
  59. </el-form-item>
  60. </el-form>
  61. <span slot="footer" class="dialog-footer">
  62. <el-button @click="handleClose">取 消</el-button>
  63. <el-button type="primary" @click="submit">确 定</el-button>
  64. </span>
  65. </el-dialog>
  66. </div>
  67. </template>
  68. <script>
  69. export default {
  70. data() {
  71. return {
  72. title: "",
  73. dialogVisible: false,
  74. form: {},
  75. rules: {
  76. name: [
  77. { required: true, message: "请输入项目审核人", trigger: "blur" },
  78. ],
  79. },
  80. options: [],
  81. checked: [],
  82. queryParams: {},
  83. personnelList: [],
  84. };
  85. },
  86. mounted() {
  87. this.getList()
  88. },
  89. methods: {
  90. // 远程搜索
  91. remoteMethod(query) { },
  92. change() { },
  93. // 打开或关闭下拉时触发
  94. visibleChange(){},
  95. open() {
  96. this.title = "项目审核";
  97. this.dialogVisible = true;
  98. },
  99. getList() {
  100. // // this.queryParams.tenant = this.userinfo.tenantId
  101. this.$api.getAllPersonnel()
  102. .then((response) => {
  103. let allPersonnelList = response.data;
  104. this.personnelList = allPersonnelList.map(item => {
  105. return { value: `${item.id}`, label: `${item.personnelName}<${item.personnelEmail}>` };
  106. });
  107. })
  108. },
  109. //
  110. submit() {
  111. this.$refs.form.validate((valid) => {
  112. if (valid) {
  113. this.handleClose();
  114. } else {
  115. this.$message.error("信息未输入完整");
  116. }
  117. });
  118. },
  119. // 关闭
  120. handleClose() {
  121. this.$refs.form.resetFields();
  122. this.form = {};
  123. this.dialogVisible = false;
  124. },
  125. },
  126. };
  127. </script>
  128. <style lang="scss" scoped></style>