votingResultsDlg.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <div class="container vote-dlg-container">
  3. <!-- 投票结果 -->
  4. <el-dialog
  5. v-dialogDrag
  6. :close-on-click-modal="false"
  7. title="投票结果"
  8. :modal-append-to-body="false"
  9. center
  10. :append-to-body="true"
  11. :visible.sync="isVotinRgesultsDlg"
  12. :before-close="closeHandler"
  13. width="500px"
  14. >
  15. <el-table border :data="voteDetailList" style="margin-bottom: 20px" height="350">
  16. <el-table-column align="center" prop="ActivityTheme" key="name" label="主题"></el-table-column>
  17. <el-table-column width="100" align="center" prop="VoteTotal" key="name" label="票数">
  18. <template slot-scope="{ row }">
  19. <span class="editsty" @click="lookVoteDetailsHandler(row)"> {{ row.VoteTotal }}</span>
  20. </template>
  21. </el-table-column>
  22. </el-table>
  23. </el-dialog>
  24. <!-- 票数明细 -->
  25. <el-dialog
  26. v-dialogDrag
  27. :close-on-click-modal="false"
  28. title="票数明细"
  29. :modal-append-to-body="false"
  30. center
  31. :append-to-body="true"
  32. :visible.sync="isVoteDetails"
  33. :before-close="closeHandlerTwo"
  34. width="600px"
  35. >
  36. <el-table border :data="voteNumDetailList" style="margin-bottom: 20px" height="350">
  37. <el-table-column align="center" prop="RealName" key="name" label="投票人姓名"></el-table-column>
  38. <el-table-column align="center" prop="CompanyName" key="name" label="公司名"></el-table-column>
  39. <el-table-column align="center" prop="SellerName" key="name" label="所属销售"></el-table-column>
  40. <el-table-column width="160" align="center" prop="CreateTime" key="name" label="投票时间"></el-table-column>
  41. </el-table>
  42. </el-dialog>
  43. <!-- 其余主题 -->
  44. <el-dialog
  45. v-dialogDrag
  46. :close-on-click-modal="false"
  47. title="其余主题"
  48. :modal-append-to-body="false"
  49. center
  50. :append-to-body="true"
  51. :visible.sync="theRemainingThemeDlg"
  52. :before-close="closeHandlerThree"
  53. width="600px"
  54. >
  55. <el-table border :data="voteOtherList" style="margin-bottom: 20px" height="350">
  56. <el-table-column align="center" prop="Content" key="name" label="主题内容"></el-table-column>
  57. <el-table-column align="center" prop="RealName" key="name" label="提交人姓名"></el-table-column>
  58. <el-table-column align="center" prop="CompanyName" key="name" label="公司名"></el-table-column>
  59. <el-table-column align="center" prop="SellerName" key="name" label="所属销售"></el-table-column>
  60. <el-table-column width="160" align="center" prop="CreateTime" key="name" label="提交时间"></el-table-column>
  61. </el-table>
  62. </el-dialog>
  63. </div>
  64. </template>
  65. <script>
  66. import { raiInterface, raiSpecial } from "@/api/api.js";
  67. export default {
  68. name: "",
  69. props: {
  70. isVotinRgesultsDlg: {
  71. type: Boolean,
  72. default: false,
  73. },
  74. theRemainingThemeDlg: {
  75. type: Boolean,
  76. default: false,
  77. },
  78. rowForm: {
  79. type: Object,
  80. default: {},
  81. },
  82. },
  83. data() {
  84. return {
  85. isVoteDetails: false,
  86. voteDetailList: [], //投票结果
  87. voteNumDetailList: [], //查看票数详情
  88. voteOtherList: [], //查看其余主题
  89. };
  90. },
  91. computed: {},
  92. watch: {
  93. isVotinRgesultsDlg: {
  94. handler(newValue) {
  95. newValue && this.getVoteDetail();
  96. },
  97. },
  98. theRemainingThemeDlg: {
  99. handler(newValue) {
  100. newValue && this.lookVoteOther();
  101. },
  102. },
  103. },
  104. created() {},
  105. mounted() {},
  106. methods: {
  107. // 关闭弹框事件
  108. closeHandler(type) {
  109. this.$emit("update:isVotinRgesultsDlg", false);
  110. this.$emit("update:rowForm", {});
  111. },
  112. closeHandlerTwo() {
  113. this.isVoteDetails = false;
  114. },
  115. closeHandlerThree() {
  116. this.$emit("update:theRemainingThemeDlg", false);
  117. this.$emit("update:rowForm", {});
  118. },
  119. // 投票结果
  120. async getVoteDetail() {
  121. const res = await raiInterface.questionnaireVote_detail({
  122. QuestionnaireId: this.rowForm.QuestionnaireId,
  123. });
  124. if (res.Ret === 200) {
  125. this.$nextTick(() => {
  126. this.voteDetailList = res.Data.List || [];
  127. });
  128. }
  129. },
  130. // 查看票数详情
  131. async lookVoteDetailsHandler(item) {
  132. const res = await raiInterface.questionnaireVote_list({
  133. QuestionnaireThemeId: item.QuestionnaireThemeId,
  134. });
  135. if (res.Ret === 200) {
  136. this.isVoteDetails = true;
  137. this.$nextTick(() => {
  138. this.voteNumDetailList = res.Data.List || [];
  139. });
  140. }
  141. },
  142. // 查看其余主题
  143. async lookVoteOther() {
  144. console.log(this.rowForm);
  145. const res = await raiInterface.questionnaireVote_other({
  146. QuestionnaireId: this.rowForm.QuestionnaireId,
  147. });
  148. if (res.Ret === 200) {
  149. this.$nextTick(() => {
  150. this.voteOtherList = res.Data.List || [];
  151. });
  152. }
  153. },
  154. },
  155. };
  156. </script>
  157. <style scoped lang="scss">
  158. .vote-dlg-container-theme-survey {
  159. .add-theme-content {
  160. display: flex;
  161. align-items: center;
  162. }
  163. .delete-item-icon {
  164. display: flex;
  165. align-items: center;
  166. margin-left: 20px;
  167. cursor: pointer;
  168. img {
  169. width: 15px;
  170. height: 15px;
  171. }
  172. }
  173. .add-theme-box {
  174. display: flex;
  175. align-items: center;
  176. }
  177. }
  178. .fr-wrapper-content-vote-dlg-container {
  179. border-top: 1px solid #cccccc !important;
  180. border-bottom: 1px solid #cccccc !important;
  181. }
  182. </style>