index.vue 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <template>
  2. <div class="app-container">
  3. <el-tabs v-model="activeName" @tab-click="handleClick">
  4. <el-tab-pane label="SPD商机" name="0">
  5. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
  6. <el-form-item label="商机名称" prop="boName">
  7. <el-input
  8. v-model="queryParams.boName"
  9. clearable
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="客户" prop="customerName">
  14. <el-input
  15. v-model="queryParams.customerName"
  16. clearable
  17. @keyup.enter.native="handleQuery"
  18. />
  19. </el-form-item>
  20. <el-form-item label="负责人" prop="principalName">
  21. <el-input
  22. v-model="queryParams.principalName"
  23. clearable
  24. @keyup.enter.native="handleQuery"
  25. />
  26. </el-form-item>
  27. <el-form-item label="商机来源" prop="boSource">
  28. <el-input
  29. v-model="queryParams.boSource"
  30. clearable
  31. @keyup.enter.native="handleQuery"
  32. />
  33. </el-form-item>
  34. <el-form-item>
  35. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  36. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  37. </el-form-item>
  38. </el-form>
  39. <el-table :data="boList" >
  40. <el-table-column label="客户" align="center" prop="customerName" />
  41. <el-table-column label="部门" align="center" prop="deptName" />
  42. <el-table-column label="负责人" align="center" prop="principalName" />
  43. <el-table-column label="商机名称" align="center" prop="boName" />
  44. <el-table-column label="商机编码" align="center" prop="boCode" />
  45. <el-table-column label="创建日期" align="center" prop="createTime" />
  46. <el-table-column label="商机挖掘" align="center" prop="b000">
  47. <template slot-scope="scope">
  48. <dev v-if="scope.row.b000">
  49. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  50. {{scope.row.b000}}
  51. </dev>
  52. </template>
  53. </el-table-column>
  54. <el-table-column label="商机审核" align="center" prop="b001" >
  55. <template slot-scope="scope">
  56. <dev v-if="scope.row.b001">
  57. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  58. {{scope.row.b001}}
  59. </dev>
  60. </template>
  61. </el-table-column>
  62. <el-table-column label="项目立项" align="center" prop="b002" >
  63. <template slot-scope="scope">
  64. <dev v-if="scope.row.b002">
  65. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  66. {{scope.row.b002}}
  67. </dev>
  68. </template>
  69. </el-table-column>
  70. <el-table-column label="解决方案" align="center" prop="b007" >
  71. <template slot-scope="scope">
  72. <dev v-if="scope.row.b007">
  73. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  74. {{scope.row.b007}}
  75. </dev>
  76. </template>
  77. </el-table-column>
  78. <el-table-column label="投标与签合同" align="center" prop="b008" >
  79. <template slot-scope="scope">
  80. <dev v-if="scope.row.b008">
  81. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  82. {{scope.row.b008}}
  83. </dev>
  84. </template>
  85. </el-table-column>
  86. <el-table-column label="完成" align="center" prop="b099" >
  87. <template slot-scope="scope">
  88. <dev v-if="scope.row.b099">
  89. <el-button size="medium" type="text" icon="el-icon-s-flag" />
  90. {{scope.row.b099}}
  91. </dev>
  92. </template>
  93. </el-table-column>
  94. </el-table>
  95. </el-tab-pane>
  96. <el-tab-pane label="耗材集采商机" name="1">功能开发中</el-tab-pane>
  97. <el-tab-pane label="耗材集采商机" name="2">功能开发中</el-tab-pane>
  98. <el-tab-pane label="医疗设备商机" name="3">功能开发中</el-tab-pane>
  99. <el-tab-pane label="军队医疗设备商机" name="4">功能开发中</el-tab-pane>
  100. </el-tabs>
  101. <pagination
  102. v-show="total > 0"
  103. :total="total"
  104. :page.sync="queryParams.pageNum"
  105. :limit.sync="queryParams.pageSize"
  106. @pagination="getList"
  107. />
  108. </div>
  109. </template>
  110. <script>
  111. import { listBasic } from "@/api/business/spd/bo/statement";
  112. export default {
  113. data() {
  114. return {
  115. // 遮罩层
  116. loading: true,
  117. //查询参数
  118. queryParams: {
  119. pageNum: 1,
  120. pageSize: 10,
  121. boType: null,
  122. boName: null,
  123. customerName: null,
  124. principalName: null,
  125. boSource: null,
  126. },
  127. // 显示搜索条件
  128. showSearch: true,
  129. //列表数据
  130. boList:[],
  131. //当前页签
  132. activeName: '0',
  133. //分页参数
  134. total:0,
  135. };
  136. },
  137. created() {
  138. var e = {
  139. name: '0',
  140. }
  141. this.handleClick(e);
  142. },
  143. methods: {
  144. /** 查询任务列表 */
  145. getList() {
  146. var e = {
  147. name: '0',
  148. }
  149. this.handleClick(e);
  150. },
  151. handleClick(e) {
  152. console.log('e',e);
  153. this.queryParams.boType = e.name;
  154. switch (e.name) {
  155. case "0":
  156. listBasic(this.queryParams).then(response => {
  157. this.boList = response.rows;
  158. console.log('this.boList',this.boList);
  159. for(var i = 0;i < this.boList.length;i++){
  160. var nodes = this.boList[i].boNodeFlowList;
  161. console.log('nodes',nodes);
  162. var nodesfilter = nodes.filter(n => n.code == '0-00');
  163. if(nodesfilter.length > 0){
  164. this.boList[i].b000 = nodesfilter[0].day;
  165. }
  166. nodesfilter = nodes.filter(n => n.code == '0-01');
  167. if(nodesfilter.length > 0){
  168. this.boList[i].b001 = nodesfilter[0].day;
  169. }
  170. nodesfilter = nodes.filter(n => n.code == '0-02');
  171. if(nodesfilter.length > 0){
  172. this.boList[i].b002 = nodesfilter[0].day;
  173. }
  174. nodesfilter = nodes.filter(n => n.code == '0-07');
  175. if(nodesfilter.length > 0){
  176. this.boList[i].b007 = nodesfilter[0].day;
  177. }
  178. nodesfilter = nodes.filter(n => n.code == '0-08');
  179. if(nodesfilter.length > 0){
  180. this.boList[i].b008 = nodesfilter[0].day;
  181. }
  182. nodesfilter = nodes.filter(n => n.code == '0-99');
  183. if(nodesfilter.length > 0){
  184. this.boList[i].b099 = nodesfilter[0].day;
  185. }
  186. }
  187. console.log('this.boList',this.boList);
  188. this.total = response.total;
  189. this.loading = false;
  190. });
  191. break;
  192. case "1":
  193. break;
  194. case "2":
  195. break;
  196. case "3":
  197. break;
  198. case "4":
  199. break;
  200. default:
  201. break;
  202. }
  203. },
  204. /** 搜索按钮操作 */
  205. handleQuery() {
  206. this.queryParams.pageNum = 1;
  207. this.getList();
  208. },
  209. /** 重置按钮操作 */
  210. resetQuery() {
  211. this.resetForm("queryForm");
  212. this.handleQuery();
  213. },
  214. }
  215. };
  216. </script>