index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <template>
  2. <div class="ghzc ResourceShare">
  3. <div class="innerContainer" v-drag>
  4. <custom-form ref="formRef" :model="model" :config="formConfig">
  5. <template #time>
  6. <el-date-picker
  7. v-model="model.sj"
  8. type="daterange"
  9. value-format="yyyy-MM-dd"
  10. range-separator="~"
  11. start-placeholder="开始日期"
  12. end-placeholder="结束日期"
  13. class="datepicker"
  14. size="mini"
  15. @change="changedate"
  16. >
  17. </el-date-picker>
  18. </template>
  19. <template #state>
  20. <el-select v-model="model.state" placeholder="申请状态" clearable>
  21. <el-option
  22. v-for="item in optionList"
  23. :key="item.code"
  24. :label="item.name"
  25. :value="item.code"
  26. >
  27. </el-option>
  28. </el-select>
  29. </template>
  30. <template #action>
  31. <!-- v-hasPermi="['monitor:job:add']" -->
  32. <el-button size="mini" @click="getTableData">查询</el-button>
  33. <el-button size="mini" @click="reset()">重置</el-button>
  34. </template>
  35. </custom-form>
  36. <!-- :total="table.total"
  37. :tableArrDate="table.data" -->
  38. <customForm></customForm>
  39. <tablePage
  40. class="tablePage"
  41. :cloumn="cloumn"
  42. :table="table"
  43. ref="tableDialogRef"
  44. @currentChange="searchFun"
  45. >
  46. <template #state="{ row }">
  47. <div :class="`state${row.state}`">
  48. {{ optionList[row.state].name }}
  49. </div>
  50. </template>
  51. <template #url="{ row }">
  52. <div v-if="row.zymlUrl" @click="copyText(row.zymlUrl)">
  53. {{ row.zymlUrl }}
  54. <i class="el-icon-document-copy usable"></i>
  55. </div>
  56. </template>
  57. <template #action="{ row }">
  58. <span class="usable" @click="detail(row)">详情</span>
  59. <span
  60. :class="row.state == 0 || row.state == 1 ? 'usable' : 'disable'"
  61. @click="review(row)"
  62. >审核</span
  63. >
  64. </template>
  65. </tablePage>
  66. </div>
  67. <addEdt ref="addEdtModal" @close="closeMdel"></addEdt>
  68. <review ref="reviewModal" @close="closeMdel"></review>
  69. </div>
  70. </template>
  71. <script>
  72. import Clipboard from "clipboard";
  73. import tablePage from "@/components/mapView/tablePage.vue";
  74. import customForm from "@/components/mapView/custom-form.vue";
  75. import addEdt from "../myApplication/components/addEdtModal.vue";
  76. import review from "./components/reviewModal";
  77. import { stateMap, FormConfig, TableHeader } from "../myApplication/config";
  78. import { Getexaminelist } from "@/api/shared.js";
  79. export default {
  80. components: {
  81. tablePage,
  82. customForm,
  83. addEdt,
  84. review,
  85. },
  86. props: {},
  87. data() {
  88. return {
  89. model: {
  90. zymlBy: "",
  91. state: "",
  92. startTime: "",
  93. endTime: "",
  94. sj: ["", ""],
  95. pageNum: 1,
  96. pageSize: 10,
  97. },
  98. formConfig: FormConfig,
  99. cloumn: TableHeader,
  100. optionList: stateMap,
  101. table: { data: [], total: 0 },
  102. };
  103. },
  104. methods: {
  105. searchFun(page) {
  106. this.getTableData(page);
  107. },
  108. async getTableData(page = { pageIndex: 1, size: 10 }) {
  109. this.model.pageNum = page.pageIndex;
  110. this.model.pageSize = page.size;
  111. this.model.startTime = this.model.sj[0];
  112. this.model.endTime = this.model.sj[1];
  113. let data = await Getexaminelist(this.model);
  114. // this.active_dableData = data.data;
  115. this.table = {
  116. data: data.rows,
  117. total: data.total,
  118. };
  119. },
  120. reset() {
  121. this.model = {
  122. zymlBy: "",
  123. state: "",
  124. startTime: "",
  125. endTime: "",
  126. sj: ["", ""],
  127. pageNum: 1,
  128. pageSize: 10,
  129. };
  130. this.searchFun();
  131. },
  132. // 详情
  133. detail(row) {
  134. this.$refs.addEdtModal.Init("info", row);
  135. },
  136. review(row) {
  137. if (row.state == 0 || row.state == 1)
  138. this.$refs.reviewModal.Init("reviewModal", row);
  139. },
  140. copyText(text) {
  141. this.$copyText(text).then(
  142. () => {
  143. this.$message.success("复制成功");
  144. },
  145. () => {
  146. this.$message.error("该浏览器不支持自动复制");
  147. }
  148. );
  149. },
  150. closeMdel() {
  151. this.searchFun();
  152. },
  153. },
  154. computed: {},
  155. watch: {},
  156. mounted() {
  157. this.searchFun();
  158. },
  159. };
  160. </script>
  161. <style lang="scss" scoped>
  162. @import "../resource.scss";
  163. </style>
  164. <style lang="scss">
  165. @import "../../cockpit/datePicker.scss";
  166. </style>