saveFileDoneList.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <template>
  2. <div class="app-container">
  3. <div class="title-container">
  4. <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
  5. </div>
  6. <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getList">
  7. <template slot="left">
  8. <el-input v-model="listQuery.keyword" placeholder="关键字搜索..." clearable
  9. style="margin-left: 20px;width: 500px;float: left;">
  10. </el-input>
  11. <el-select style="margin-left: 20px;width: 170px;float: left;" v-model="listQuery.production" clearable placeholder="产品类型" @change="getList()">
  12. <el-option value="STATEMENT" label="价值意见书">价值意见书</el-option>
  13. <el-option value="REPORT" label="报告">报告</el-option>
  14. <el-option value="LETTER" label="复评函">复评函</el-option>
  15. </el-select>
  16. <el-select style="margin-left: 20px;width: 170px;float: left;" v-model="listQuery.hasCommission" clearable placeholder="是否提成" @change="getList()">
  17. <el-option value="true" label="有提成">有提成</el-option>
  18. <el-option value="false" label="无提成">无提成</el-option>
  19. </el-select>
  20. <el-date-picker
  21. style="margin-left: 20px;float: left;"
  22. v-model="saveFileDate"
  23. type="daterange"
  24. align="center"
  25. unlink-panels
  26. range-separator="至"
  27. start-placeholder="归档日期(开始)"
  28. end-placeholder="归档日期(结束)"
  29. :picker-options="pickerOptions" value-format="yyyy-MM-dd">
  30. </el-date-picker>
  31. <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList" round>搜索
  32. </el-button>
  33. <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch()">重置
  34. </el-button>
  35. </template>
  36. <parentTable :data="pageData.records" slot="table" style="width: 100%;">
  37. <el-table-column label="订单名称" align="center" width="300" show-overflow-tooltip >
  38. <template slot-scope="{row}">
  39. <span>{{ row.orderName }}</span>
  40. </template>
  41. </el-table-column>
  42. <el-table-column label="订单号" align="center" width="200" show-overflow-tooltip>
  43. <template slot-scope="{row}">
  44. <span>{{ row.orderId }}</span>
  45. </template>
  46. </el-table-column>
  47. <el-table-column label="报告号" align="center" width="200">
  48. <template slot-scope="{row}">
  49. <span>{{ row.reportNo==null?'-':row.reportNo}}</span>
  50. </template>
  51. </el-table-column>
  52. <el-table-column label="项目名称" align="center" width="300" show-overflow-tooltip>
  53. <template slot-scope="{row}">
  54. <span>{{ row.name}}</span>
  55. </template>
  56. </el-table-column>
  57. <el-table-column label="产品类型" align="center" width="130">
  58. <template slot-scope="{row}">
  59. <span>{{ aliasProductionType(row.production)}}</span>
  60. </template>
  61. </el-table-column>
  62. <el-table-column label="库存状态" align="center" width="130">
  63. <template slot-scope="{row}">
  64. <span>{{ row.repertoryState==null?'未入库':(row.repertoryState?'已出库':'未出库')}}</span>
  65. </template>
  66. </el-table-column>
  67. <el-table-column label="实收款(¥)" align="center" width=100>
  68. <template slot-scope="{row}">
  69. <span>{{ row.realAmount==null?'0':row.realAmount}}</span>
  70. </template>
  71. </el-table-column>
  72. <el-table-column label="客户经理" align="center" >
  73. <template slot-scope="{row}">
  74. <span>{{ row.clientManager }}</span>
  75. </template>
  76. </el-table-column>
  77. <el-table-column label="负责人" align="center" >
  78. <template slot-scope="{row}">
  79. <span>{{ row.principal }}</span>
  80. </template>
  81. </el-table-column>
  82. <el-table-column label="归档日期" align="center" width="160">
  83. <template slot-scope="{row}">
  84. <span>{{ row.saveFileDate }}</span>
  85. </template>
  86. </el-table-column>
  87. <el-table-column label="操作" align="center" width="130" fixed="right">
  88. <template slot-scope="{row}">
  89. <el-button type="text" @click="toDetail(row)">产品详情</el-button>
  90. </template>
  91. </el-table-column>
  92. </parentTable>
  93. </y-page-list-layout>
  94. </div>
  95. </template>
  96. <script>
  97. import YPageListLayout from '@/components/YPageListLayout'
  98. import Breadcrumb from '@/components/Breadcrumb'
  99. export default {
  100. name: 'saveFileDoneList',
  101. components: {
  102. Breadcrumb,
  103. YPageListLayout,
  104. },
  105. filters: {
  106. },
  107. data() {
  108. return {
  109. pageData: { records: [] },
  110. listQuery: {
  111. page: 1,
  112. size: 20,
  113. descs: 'id',
  114. keyword:null,
  115. // 是否提成
  116. hasCommission: null
  117. },
  118. saveFileDate:'',
  119. pickerOptions: {
  120. shortcuts: [{
  121. text: '最近一周',
  122. onClick(picker) {
  123. const end = new Date();
  124. const start = new Date();
  125. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  126. picker.$emit('pick', [start, end]);
  127. }
  128. }, {
  129. text: '最近一个月',
  130. onClick(picker) {
  131. const end = new Date();
  132. const start = new Date();
  133. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  134. picker.$emit('pick', [start, end]);
  135. }
  136. }, {
  137. text: '最近三个月',
  138. onClick(picker) {
  139. const end = new Date();
  140. const start = new Date();
  141. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  142. picker.$emit('pick', [start, end]);
  143. }
  144. }]
  145. },
  146. }
  147. },
  148. created() {
  149. this.listQuery.keyword = this.$route.query.keyword;
  150. this.getList();
  151. },
  152. methods: {
  153. resetSearch() {
  154. this.$router.push({ query: {} });
  155. this.saveFileDate='';
  156. this.listQuery = {
  157. current: 1,
  158. size: 20,
  159. descs: 'id',
  160. // 是否提成
  161. hasCommission: null
  162. }
  163. this.getList()
  164. },
  165. searchList() {
  166. // 重置分页
  167. this.listQuery.page = 1
  168. this.listQuery.size = 20
  169. if (this.saveFileDate){
  170. this.listQuery.startDate = this.saveFileDate[0]+' 00:00:00';
  171. this.listQuery.endDate = this.saveFileDate[1]+ ' 23:59:59';
  172. }
  173. this.getList()
  174. },
  175. getList() {
  176. this.$api.majorProduction.saveDone(this.listQuery).then(res=>{
  177. if (res.code ===200){
  178. this.pageData = res.data;
  179. }
  180. })
  181. },
  182. toDetail(row){
  183. this.$router.push(`/major/detail?id=${row.majorId}&couldEdit=${false}&reportNo=${row.reportNo}&back=${'/major/saveFileDone'}`)
  184. },
  185. aliasProductionType(code){
  186. if (code === 'STATEMENT'){
  187. return '价值意见书';
  188. }
  189. if (code === 'LETTER'){
  190. return '复评函';
  191. }
  192. return '报告';
  193. }
  194. },
  195. }
  196. </script>
  197. <style lang="scss" scoped>
  198. </style>