orangelog.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <template>
  2. <div>
  3. <tool-bar
  4. :text="['uid']"
  5. :label="['uid']"
  6. @confirm="onSearch"
  7. @cancel="onCancel"
  8. >
  9. <template #picker>
  10. <p class="label">充值日期</p>
  11. <a-range-picker
  12. v-model:value="pickered"
  13. format="YYYY/MM/DD"
  14. @change="changeTime"
  15. />
  16. </template>
  17. </tool-bar>
  18. <div>
  19. <a-table
  20. :columns="columns"
  21. :data-source="loglist"
  22. bordered
  23. :loading="loading"
  24. :scroll="{ x: 1450, y: 600 }"
  25. >
  26. <template #report_action="{ text, record }">
  27. <p v-if="record.report_status == 'success'">已上报</p>
  28. <a-popconfirm
  29. title="是否要继续强制回传?"
  30. ok-text="是"
  31. cancel-text="否"
  32. @confirm="orangeAction(record)"
  33. >
  34. <p v-if="record.report_status != 'success'">
  35. <a>强制回传</a>
  36. </p>
  37. </a-popconfirm>
  38. </template>
  39. <template #report_status="{ text, record }">
  40. <p>{{ record.report_status == "success" ? "成功" : "失败" }}</p>
  41. </template>
  42. </a-table>
  43. </div>
  44. </div>
  45. </template>
  46. <script lang="ts">
  47. import logList from "./log.vue";
  48. import { TableColumnLogOfOrange } from "@/views/_pageOptions/table-account";
  49. import ToolBar from "@/components/tool-bar/index.vue";
  50. import { message } from "ant-design-vue";
  51. import {
  52. defineComponent,
  53. onMounted,
  54. reactive,
  55. watch,
  56. toRefs,
  57. ref,
  58. } from "@vue/runtime-core";
  59. import { getOrangeLogListApi, getforceReportApi } from "@/api";
  60. import { picker } from "@/helper/config/range";
  61. import { ILogitem } from "#/api";
  62. export default defineComponent({
  63. component: {
  64. logList,
  65. },
  66. props: {
  67. Logappflag: String || undefined,
  68. },
  69. components: {
  70. ToolBar,
  71. },
  72. setup(props) {
  73. const state = reactive({
  74. isShowflag: true,
  75. rangePick: picker,
  76. loading: true,
  77. list: {
  78. guid: "",
  79. start_time: "",
  80. end_time: "",
  81. appflag: "",
  82. },
  83. orangeActionList: {
  84. appflag: "",
  85. guid: "",
  86. reportType: "",
  87. },
  88. loglist: ref<ILogitem[]>([]), //?
  89. columns: TableColumnLogOfOrange,
  90. pickered: [],
  91. });
  92. const getLogOrangeList = async () => {
  93. state.loading = true;
  94. const res = await getOrangeLogListApi(state.list);
  95. if (res) {
  96. state.loglist = res.data.list;
  97. state.loading = false;
  98. }
  99. };
  100. //初始化
  101. onMounted(() => {
  102. // state.list.appflag = props.Logappflag as string;
  103. console.log(1);
  104. // getLogOrangeList();
  105. test();
  106. });
  107. //监听传过来的值appflag
  108. watch(props, () => {
  109. state.list.appflag = props.Logappflag as string;
  110. console.log("appflag改变了");
  111. getLogOrangeList();
  112. });
  113. const test = () => {
  114. console.log("test函数执行了");
  115. };
  116. const changeTime = (time: string, stringtime: string) => {
  117. state.list.start_time = stringtime[0];
  118. state.list.end_time = stringtime[1];
  119. };
  120. //搜索时发的异步请求
  121. const getSearchList = async () => {
  122. state.loading = true;
  123. const Searchlist = await getOrangeLogListApi(state.list);
  124. if (Searchlist.data) {
  125. state.loglist = Searchlist.data.list;
  126. state.loading = false;
  127. }
  128. };
  129. const onSearch = (fields: Record<string, string>) => {
  130. const uid = fields.uid;
  131. state.list.guid = uid;
  132. getSearchList();
  133. getOrangeLogListApi(state.list);
  134. };
  135. const onCancel = () => {
  136. state.list.guid = "";
  137. (state.list.start_time = ""), (state.list.end_time = ""), getSearchList();
  138. };
  139. //强制回传操作
  140. const getOrangeActionRes = async () => {
  141. //放入强制回传的参数
  142. const res = await getforceReportApi(state.orangeActionList as any);
  143. if (res.data.result == "success") {
  144. message.success("上报成功!");
  145. }
  146. };
  147. const orangeAction = (record: ILogitem) => {
  148. console.log(record);
  149. state.orangeActionList.guid = record.guid;
  150. state.orangeActionList.appflag = props.Logappflag as string;
  151. state.orangeActionList.reportType = record.report_type;
  152. getOrangeActionRes();
  153. getLogOrangeList();
  154. };
  155. return {
  156. ...toRefs(state),
  157. changeTime,
  158. onSearch,
  159. onCancel,
  160. orangeAction,
  161. getLogOrangeList,
  162. };
  163. },
  164. mounted() {
  165. this.list.appflag = this.$props.Logappflag as string;
  166. this.getLogOrangeList();
  167. },
  168. });
  169. </script>
  170. <style lang="scss" scoped>
  171. </style>