index.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <div class="doc-attr">
  3. <el-form>
  4. <el-form-item label="标题:">
  5. <el-input
  6. v-model="attrs.title"
  7. style="width: 100%"
  8. class="input-item"
  9. placeholder="请填写模版名称"
  10. :disabled="articleId"
  11. />
  12. </el-form-item>
  13. <el-form-item label="选择分类:">
  14. <el-select v-model="attrs.document_type" style="width:100%;" placeholder="请选择所属分类">
  15. <el-option
  16. v-for="(item,index) in articleCategoryList"
  17. :key="index"
  18. :label="item.label"
  19. :value="item.value"
  20. />
  21. </el-select>
  22. </el-form-item>
  23. <!--<el-form-item label="选择分类:">
  24. <el-select v-model="attrs.category_id" style="width:100%;" placeholder="请选择所属分类">
  25. <el-option
  26. v-for="(item,index) in articleCategoryList"
  27. :key="index"
  28. :label="item.name"
  29. :value="item.id"
  30. />
  31. </el-select>
  32. </el-form-item>
  33. <el-form-item label="适用产品:">
  34. <el-select v-model="attrs.linkProduct" :multiple="true" style="width:100%;" @change="onChangeProduct" placeholder="请选择适用产品">
  35. <el-option
  36. v-for="(item,index) in productList"
  37. :key="item.id"
  38. :label="item.name"
  39. :value="item.id"
  40. />
  41. </el-select>
  42. </el-form-item>
  43. <el-form-item label="适用项目:">
  44. <el-select v-model="attrs.linkProject" :multiple="true" style="width:100%;" @change="onChangeProject" placeholder="请选择适用项目">
  45. <el-option
  46. v-for="(item,index) in projectList"
  47. :key="item.id"
  48. :label="item.name"
  49. :value="item.id"
  50. />
  51. </el-select>
  52. </el-form-item> -->
  53. </el-form>
  54. </div>
  55. </template>
  56. <script>
  57. import { searchDocumentCategory } from "@/api/document";
  58. import { searchProduct } from "@/api/product";
  59. import { searchProject } from "@/api/project";
  60. export default {
  61. name: "docAttr",
  62. props: {
  63. attrs: {
  64. type: Object,
  65. default: () => {
  66. return {
  67. category_id: "",
  68. title: "",
  69. document_type:"",
  70. linkProduct: [],
  71. linkProject: [],
  72. };
  73. },
  74. },
  75. },
  76. watch: {
  77. attrs: {
  78. handler(val) {},
  79. immediate: true, //立即执行
  80. deep: true,
  81. },
  82. },
  83. data() {
  84. return {
  85. articleCategoryList: [{
  86. label:'临床',
  87. value:'Clinical'
  88. },
  89. {
  90. label:'非临床',
  91. value:'NonClinical'
  92. }],
  93. productList: [],
  94. projectList: [],
  95. articleId:0
  96. };
  97. },
  98. created() {
  99. this.initArticleCategoryList();
  100. this.initProjectList();
  101. this.initGoodsList();
  102. this.articleId=this.$route.query.articleId
  103. },
  104. methods: {
  105. onChangeProduct(e) {
  106. let _this = this;
  107. },
  108. onChangeProject(e) {},
  109. //初始化产品列表
  110. initProjectList() {
  111. let _this = this;
  112. searchProject({ page: 1, pageSize: 9999, status: 5 }).then((res) => {
  113. if (res.status != 200) return;
  114. _this.projectList = res.data.dataList;
  115. });
  116. },
  117. //初始化产品列表
  118. initGoodsList() {
  119. let _this = this;
  120. searchProduct({ page: 1, pageSize: 9999, status: 5 }).then((res) => {
  121. if (res.status != 200) return;
  122. _this.productList = res.data.dataList;
  123. });
  124. },
  125. //加载文档分类
  126. initArticleCategoryList() {
  127. let _this = this;
  128. searchDocumentCategory({ page: 1, pageSize: 99, status: 5 }).then(
  129. (res) => {
  130. if (res.status != 200) return;
  131. //_this.articleCategoryList = res.data.dataList;
  132. }
  133. );
  134. },
  135. },
  136. };
  137. </script>
  138. <style lang="scss">
  139. @import "./index.scss";
  140. </style>