query.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="品牌" prop="brand">
  5. <el-input
  6. v-model="queryParams.brand"
  7. placeholder="请输入品牌"
  8. clearable
  9. size="small"
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="机组型号" prop="unitModel">
  14. <el-input
  15. v-model="queryParams.unitModel"
  16. placeholder="请输入机组型号"
  17. clearable
  18. size="small"
  19. @keyup.enter.native="handleQuery"
  20. />
  21. </el-form-item>
  22. <el-form-item label="机组功率(kw)" prop="unitPowerKw">
  23. <el-input
  24. v-model="queryParams.unitPowerKw"
  25. placeholder="请输入机组功率(kw)"
  26. clearable
  27. size="small"
  28. @keyup.enter.native="handleQuery"
  29. />
  30. </el-form-item>
  31. <el-form-item label="机组功率(kva)" prop="unitPowerKva">
  32. <el-input
  33. v-model="queryParams.unitPowerKva"
  34. placeholder="请输入机组功率(kva)"
  35. clearable
  36. size="small"
  37. @keyup.enter.native="handleQuery"
  38. />
  39. </el-form-item>
  40. <el-form-item label="频率(Hz)" prop="rate">
  41. <el-input
  42. v-model="queryParams.rate"
  43. placeholder="请输入频率(Hz)"
  44. clearable
  45. size="small"
  46. @keyup.enter.native="handleQuery"
  47. />
  48. </el-form-item>
  49. <el-form-item label="柴油机型号" prop="dieselEngineModel">
  50. <el-input
  51. v-model="queryParams.dieselEngineModel"
  52. placeholder="请输入柴油机型号"
  53. clearable
  54. size="small"
  55. @keyup.enter.native="handleQuery"
  56. />
  57. </el-form-item>
  58. <el-form-item label="转速" prop="speed">
  59. <el-input
  60. v-model="queryParams.speed"
  61. placeholder="请输入转速"
  62. clearable
  63. size="small"
  64. @keyup.enter.native="handleQuery"
  65. />
  66. </el-form-item>
  67. <el-form-item label="动力价格" prop="powerPrice">
  68. <el-input
  69. v-model="queryParams.powerPrice"
  70. placeholder="请输入动力价格"
  71. clearable
  72. size="small"
  73. @keyup.enter.native="handleQuery"
  74. />
  75. </el-form-item>
  76. <el-form-item label="发电机型号" prop="generatorModel">
  77. <el-input
  78. v-model="queryParams.generatorModel"
  79. placeholder="请输入发电机型号"
  80. clearable
  81. size="small"
  82. @keyup.enter.native="handleQuery"
  83. />
  84. </el-form-item>
  85. <el-form-item label="发电机价格" prop="generatorPrice">
  86. <el-input
  87. v-model="queryParams.generatorPrice"
  88. placeholder="请输入发电机价格"
  89. clearable
  90. size="small"
  91. @keyup.enter.native="handleQuery"
  92. />
  93. </el-form-item>
  94. <el-form-item label="静音机壳价格" prop="mutePrice">
  95. <el-input
  96. v-model="queryParams.mutePrice"
  97. placeholder="请输入静音机壳价格"
  98. clearable
  99. size="small"
  100. @keyup.enter.native="handleQuery"
  101. />
  102. </el-form-item>
  103. <el-form-item label="开架价格" prop="openPrice">
  104. <el-input
  105. v-model="queryParams.openPrice"
  106. placeholder="请输入开架价格"
  107. clearable
  108. size="small"
  109. @keyup.enter.native="handleQuery"
  110. />
  111. </el-form-item>
  112. <el-form-item label="ATS型号" prop="atsModel">
  113. <el-input
  114. v-model="queryParams.atsModel"
  115. placeholder="请输入ATS型号"
  116. clearable
  117. size="small"
  118. @keyup.enter.native="handleQuery"
  119. />
  120. </el-form-item>
  121. <el-form-item label="ATS价格" prop="atsPrice">
  122. <el-input
  123. v-model="queryParams.atsPrice"
  124. placeholder="请输入ATS价格"
  125. clearable
  126. size="small"
  127. @keyup.enter.native="handleQuery"
  128. />
  129. </el-form-item>
  130. <el-form-item label="电瓶型号" prop="batteryModel">
  131. <el-input
  132. v-model="queryParams.batteryModel"
  133. placeholder="请输入电瓶型号"
  134. clearable
  135. size="small"
  136. @keyup.enter.native="handleQuery"
  137. />
  138. </el-form-item>
  139. <el-form-item label="电瓶价格" prop="batteryPrice">
  140. <el-input
  141. v-model="queryParams.batteryPrice"
  142. placeholder="请输入电瓶价格"
  143. clearable
  144. size="small"
  145. @keyup.enter.native="handleQuery"
  146. />
  147. </el-form-item>
  148. <el-form-item label="控制器铭贝" prop="controllerMinbei">
  149. <el-input
  150. v-model="queryParams.controllerMinbei"
  151. placeholder="请输入控制器铭贝"
  152. clearable
  153. size="small"
  154. @keyup.enter.native="handleQuery"
  155. />
  156. </el-form-item>
  157. <el-form-item label="控制器价格" prop="controllerPrice">
  158. <el-input
  159. v-model="queryParams.controllerPrice"
  160. placeholder="请输入控制器价格"
  161. clearable
  162. size="small"
  163. @keyup.enter.native="handleQuery"
  164. />
  165. </el-form-item>
  166. <el-form-item label="合计含税成本(静音)" prop="totalCostMute">
  167. <el-input
  168. v-model="queryParams.totalCostMute"
  169. placeholder="请输入合计含税成本(静音)"
  170. clearable
  171. size="small"
  172. @keyup.enter.native="handleQuery"
  173. />
  174. </el-form-item>
  175. <el-form-item label="合计含税成本(开架)" prop="totalCostOpen">
  176. <el-input
  177. v-model="queryParams.totalCostOpen"
  178. placeholder="请输入合计含税成本(开架)"
  179. clearable
  180. size="small"
  181. @keyup.enter.native="handleQuery"
  182. />
  183. </el-form-item>
  184. <el-form-item label="静音尺寸" prop="muteLong">
  185. <el-input
  186. v-model="queryParams.muteLong"
  187. placeholder="请输入静音尺寸"
  188. clearable
  189. size="small"
  190. @keyup.enter.native="handleQuery"
  191. />
  192. </el-form-item>
  193. <el-form-item label="静音尺寸" prop="muteWidth">
  194. <el-input
  195. v-model="queryParams.muteWidth"
  196. placeholder="请输入静音尺寸"
  197. clearable
  198. size="small"
  199. @keyup.enter.native="handleQuery"
  200. />
  201. </el-form-item>
  202. <el-form-item label="静音尺寸" prop="muteHigh">
  203. <el-input
  204. v-model="queryParams.muteHigh"
  205. placeholder="请输入静音尺寸"
  206. clearable
  207. size="small"
  208. @keyup.enter.native="handleQuery"
  209. />
  210. </el-form-item>
  211. <el-form-item label="开架尺寸" prop="openLong">
  212. <el-input
  213. v-model="queryParams.openLong"
  214. placeholder="请输入开架尺寸"
  215. clearable
  216. size="small"
  217. @keyup.enter.native="handleQuery"
  218. />
  219. </el-form-item>
  220. <el-form-item label="开架尺寸" prop="openWidth">
  221. <el-input
  222. v-model="queryParams.openWidth"
  223. placeholder="请输入开架尺寸"
  224. clearable
  225. size="small"
  226. @keyup.enter.native="handleQuery"
  227. />
  228. </el-form-item>
  229. <el-form-item label="开架尺寸" prop="openHigh">
  230. <el-input
  231. v-model="queryParams.openHigh"
  232. placeholder="请输入开架尺寸"
  233. clearable
  234. size="small"
  235. @keyup.enter.native="handleQuery"
  236. />
  237. </el-form-item>
  238. <el-form-item label="CKD尺寸" prop="ckdLong">
  239. <el-input
  240. v-model="queryParams.ckdLong"
  241. placeholder="请输入CKD尺寸"
  242. clearable
  243. size="small"
  244. @keyup.enter.native="handleQuery"
  245. />
  246. </el-form-item>
  247. <el-form-item label="CKD尺寸" prop="ckdWidth">
  248. <el-input
  249. v-model="queryParams.ckdWidth"
  250. placeholder="请输入CKD尺寸"
  251. clearable
  252. size="small"
  253. @keyup.enter.native="handleQuery"
  254. />
  255. </el-form-item>
  256. <el-form-item label="CKD尺寸" prop="ckdHigh">
  257. <el-input
  258. v-model="queryParams.ckdHigh"
  259. placeholder="请输入CKD尺寸"
  260. clearable
  261. size="small"
  262. @keyup.enter.native="handleQuery"
  263. />
  264. </el-form-item>
  265. <el-form-item>
  266. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  267. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  268. </el-form-item>
  269. </el-form>
  270. <el-row :gutter="10" class="mb8">
  271. <el-col :span="1.5">
  272. <el-button
  273. type="primary"
  274. icon="el-icon-plus"
  275. size="mini"
  276. @click="handleAdd"
  277. v-hasPermi="['price:info:add']"
  278. >新增</el-button>
  279. </el-col>
  280. <el-col :span="1.5">
  281. <el-button
  282. type="success"
  283. icon="el-icon-edit"
  284. size="mini"
  285. :disabled="single"
  286. @click="handleUpdate"
  287. v-hasPermi="['price:info:edit']"
  288. >修改</el-button>
  289. </el-col>
  290. <el-col :span="1.5">
  291. <el-button
  292. type="danger"
  293. icon="el-icon-delete"
  294. size="mini"
  295. :disabled="multiple"
  296. @click="handleDelete"
  297. v-hasPermi="['price:info:remove']"
  298. >删除</el-button>
  299. </el-col>
  300. <el-col :span="1.5">
  301. <el-button
  302. type="warning"
  303. icon="el-icon-download"
  304. size="mini"
  305. @click="handleExport"
  306. v-hasPermi="['price:info:export']"
  307. >导出</el-button>
  308. </el-col>
  309. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  310. </el-row>
  311. <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
  312. <el-table-column type="selection" width="55" align="center" />
  313. <el-table-column label="主键" align="center" prop="id" />
  314. <el-table-column label="品牌" align="center" prop="brand" />
  315. <el-table-column label="机组型号" align="center" prop="unitModel" />
  316. <el-table-column label="机组功率(kw)" align="center" prop="unitPowerKw" />
  317. <el-table-column label="机组功率(kva)" align="center" prop="unitPowerKva" />
  318. <el-table-column label="频率(Hz)" align="center" prop="rate" />
  319. <el-table-column label="柴油机型号" align="center" prop="dieselEngineModel" />
  320. <el-table-column label="转速" align="center" prop="speed" />
  321. <el-table-column label="动力价格" align="center" prop="powerPrice" />
  322. <el-table-column label="发电机型号" align="center" prop="generatorModel" />
  323. <el-table-column label="发电机价格" align="center" prop="generatorPrice" />
  324. <el-table-column label="静音机壳价格" align="center" prop="mutePrice" />
  325. <el-table-column label="开架价格" align="center" prop="openPrice" />
  326. <el-table-column label="ATS型号" align="center" prop="atsModel" />
  327. <el-table-column label="ATS价格" align="center" prop="atsPrice" />
  328. <el-table-column label="电瓶型号" align="center" prop="batteryModel" />
  329. <el-table-column label="电瓶价格" align="center" prop="batteryPrice" />
  330. <el-table-column label="控制器铭贝" align="center" prop="controllerMinbei" />
  331. <el-table-column label="控制器价格" align="center" prop="controllerPrice" />
  332. <el-table-column label="合计含税成本(静音)" align="center" prop="totalCostMute" />
  333. <el-table-column label="合计含税成本(开架)" align="center" prop="totalCostOpen" />
  334. <el-table-column label="静音尺寸" align="center" prop="muteLong" />
  335. <el-table-column label="静音尺寸" align="center" prop="muteWidth" />
  336. <el-table-column label="静音尺寸" align="center" prop="muteHigh" />
  337. <el-table-column label="开架尺寸" align="center" prop="openLong" />
  338. <el-table-column label="开架尺寸" align="center" prop="openWidth" />
  339. <el-table-column label="开架尺寸" align="center" prop="openHigh" />
  340. <el-table-column label="CKD尺寸" align="center" prop="ckdLong" />
  341. <el-table-column label="CKD尺寸" align="center" prop="ckdWidth" />
  342. <el-table-column label="CKD尺寸" align="center" prop="ckdHigh" />
  343. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  344. <template slot-scope="scope">
  345. <el-button
  346. size="mini"
  347. type="text"
  348. icon="el-icon-edit"
  349. @click="handleUpdate(scope.row)"
  350. v-hasPermi="['price:info:edit']"
  351. >修改</el-button>
  352. <el-button
  353. size="mini"
  354. type="text"
  355. icon="el-icon-delete"
  356. @click="handleDelete(scope.row)"
  357. v-hasPermi="['price:info:remove']"
  358. >删除</el-button>
  359. </template>
  360. </el-table-column>
  361. </el-table>
  362. <pagination
  363. v-show="total>0"
  364. :total="total"
  365. :page.sync="queryParams.pageNum"
  366. :limit.sync="queryParams.pageSize"
  367. @pagination="getList"
  368. />
  369. <!-- 添加或修改报价对话框 -->
  370. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  371. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  372. <el-form-item label="品牌" prop="brand">
  373. <el-input v-model="form.brand" placeholder="请输入品牌" />
  374. </el-form-item>
  375. <el-form-item label="机组型号" prop="unitModel">
  376. <el-input v-model="form.unitModel" placeholder="请输入机组型号" />
  377. </el-form-item>
  378. <el-form-item label="机组功率(kw)" prop="unitPowerKw">
  379. <el-input v-model="form.unitPowerKw" placeholder="请输入机组功率(kw)" />
  380. </el-form-item>
  381. <el-form-item label="机组功率(kva)" prop="unitPowerKva">
  382. <el-input v-model="form.unitPowerKva" placeholder="请输入机组功率(kva)" />
  383. </el-form-item>
  384. <el-form-item label="频率(Hz)" prop="rate">
  385. <el-input v-model="form.rate" placeholder="请输入频率(Hz)" />
  386. </el-form-item>
  387. <el-form-item label="柴油机型号" prop="dieselEngineModel">
  388. <el-input v-model="form.dieselEngineModel" placeholder="请输入柴油机型号" />
  389. </el-form-item>
  390. <el-form-item label="转速" prop="speed">
  391. <el-input v-model="form.speed" placeholder="请输入转速" />
  392. </el-form-item>
  393. <el-form-item label="动力价格" prop="powerPrice">
  394. <el-input v-model="form.powerPrice" placeholder="请输入动力价格" />
  395. </el-form-item>
  396. <el-form-item label="发电机型号" prop="generatorModel">
  397. <el-input v-model="form.generatorModel" placeholder="请输入发电机型号" />
  398. </el-form-item>
  399. <el-form-item label="发电机价格" prop="generatorPrice">
  400. <el-input v-model="form.generatorPrice" placeholder="请输入发电机价格" />
  401. </el-form-item>
  402. <el-form-item label="静音机壳价格" prop="mutePrice">
  403. <el-input v-model="form.mutePrice" placeholder="请输入静音机壳价格" />
  404. </el-form-item>
  405. <el-form-item label="开架价格" prop="openPrice">
  406. <el-input v-model="form.openPrice" placeholder="请输入开架价格" />
  407. </el-form-item>
  408. <el-form-item label="ATS型号" prop="atsModel">
  409. <el-input v-model="form.atsModel" placeholder="请输入ATS型号" />
  410. </el-form-item>
  411. <el-form-item label="ATS价格" prop="atsPrice">
  412. <el-input v-model="form.atsPrice" placeholder="请输入ATS价格" />
  413. </el-form-item>
  414. <el-form-item label="电瓶型号" prop="batteryModel">
  415. <el-input v-model="form.batteryModel" placeholder="请输入电瓶型号" />
  416. </el-form-item>
  417. <el-form-item label="电瓶价格" prop="batteryPrice">
  418. <el-input v-model="form.batteryPrice" placeholder="请输入电瓶价格" />
  419. </el-form-item>
  420. <el-form-item label="控制器铭贝" prop="controllerMinbei">
  421. <el-input v-model="form.controllerMinbei" placeholder="请输入控制器铭贝" />
  422. </el-form-item>
  423. <el-form-item label="控制器价格" prop="controllerPrice">
  424. <el-input v-model="form.controllerPrice" placeholder="请输入控制器价格" />
  425. </el-form-item>
  426. <el-form-item label="合计含税成本(静音)" prop="totalCostMute">
  427. <el-input v-model="form.totalCostMute" placeholder="请输入合计含税成本(静音)" />
  428. </el-form-item>
  429. <el-form-item label="合计含税成本(开架)" prop="totalCostOpen">
  430. <el-input v-model="form.totalCostOpen" placeholder="请输入合计含税成本(开架)" />
  431. </el-form-item>
  432. <el-form-item label="静音尺寸" prop="muteLong">
  433. <el-input v-model="form.muteLong" placeholder="请输入静音尺寸" />
  434. </el-form-item>
  435. <el-form-item label="静音尺寸" prop="muteWidth">
  436. <el-input v-model="form.muteWidth" placeholder="请输入静音尺寸" />
  437. </el-form-item>
  438. <el-form-item label="静音尺寸" prop="muteHigh">
  439. <el-input v-model="form.muteHigh" placeholder="请输入静音尺寸" />
  440. </el-form-item>
  441. <el-form-item label="开架尺寸" prop="openLong">
  442. <el-input v-model="form.openLong" placeholder="请输入开架尺寸" />
  443. </el-form-item>
  444. <el-form-item label="开架尺寸" prop="openWidth">
  445. <el-input v-model="form.openWidth" placeholder="请输入开架尺寸" />
  446. </el-form-item>
  447. <el-form-item label="开架尺寸" prop="openHigh">
  448. <el-input v-model="form.openHigh" placeholder="请输入开架尺寸" />
  449. </el-form-item>
  450. <el-form-item label="CKD尺寸" prop="ckdLong">
  451. <el-input v-model="form.ckdLong" placeholder="请输入CKD尺寸" />
  452. </el-form-item>
  453. <el-form-item label="CKD尺寸" prop="ckdWidth">
  454. <el-input v-model="form.ckdWidth" placeholder="请输入CKD尺寸" />
  455. </el-form-item>
  456. <el-form-item label="CKD尺寸" prop="ckdHigh">
  457. <el-input v-model="form.ckdHigh" placeholder="请输入CKD尺寸" />
  458. </el-form-item>
  459. </el-form>
  460. <div slot="footer" class="dialog-footer">
  461. <el-button type="primary" @click="submitForm">确 定</el-button>
  462. <el-button @click="cancel">取 消</el-button>
  463. </div>
  464. </el-dialog>
  465. </div>
  466. </template>
  467. <script>
  468. import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/price/query";
  469. export default {
  470. name: "Info",
  471. data() {
  472. return {
  473. // 遮罩层
  474. loading: true,
  475. // 选中数组
  476. ids: [],
  477. // 非单个禁用
  478. single: true,
  479. // 非多个禁用
  480. multiple: true,
  481. // 显示搜索条件
  482. showSearch: true,
  483. // 总条数
  484. total: 0,
  485. // 报价表格数据
  486. infoList: [],
  487. // 弹出层标题
  488. title: "",
  489. // 是否显示弹出层
  490. open: false,
  491. // 查询参数
  492. queryParams: {
  493. pageNum: 1,
  494. pageSize: 10,
  495. brand: null,
  496. unitModel: null,
  497. unitPowerKw: null,
  498. unitPowerKva: null,
  499. rate: null,
  500. dieselEngineModel: null,
  501. speed: null,
  502. powerPrice: null,
  503. generatorModel: null,
  504. generatorPrice: null,
  505. mutePrice: null,
  506. openPrice: null,
  507. atsModel: null,
  508. atsPrice: null,
  509. batteryModel: null,
  510. batteryPrice: null,
  511. controllerMinbei: null,
  512. controllerPrice: null,
  513. totalCostMute: null,
  514. totalCostOpen: null,
  515. muteLong: null,
  516. muteWidth: null,
  517. muteHigh: null,
  518. openLong: null,
  519. openWidth: null,
  520. openHigh: null,
  521. ckdLong: null,
  522. ckdWidth: null,
  523. ckdHigh: null,
  524. },
  525. // 表单参数
  526. form: {},
  527. // 表单校验
  528. rules: {
  529. }
  530. };
  531. },
  532. created() {
  533. this.getList();
  534. },
  535. methods: {
  536. /** 查询报价列表 */
  537. getList() {
  538. this.loading = true;
  539. listInfo(this.queryParams).then(response => {
  540. this.infoList = response.rows;
  541. this.total = response.total;
  542. this.loading = false;
  543. });
  544. },
  545. // 取消按钮
  546. cancel() {
  547. this.open = false;
  548. this.reset();
  549. },
  550. // 表单重置
  551. reset() {
  552. this.form = {
  553. id: null,
  554. brand: null,
  555. unitModel: null,
  556. unitPowerKw: null,
  557. unitPowerKva: null,
  558. rate: null,
  559. dieselEngineModel: null,
  560. speed: null,
  561. powerPrice: null,
  562. generatorModel: null,
  563. generatorPrice: null,
  564. mutePrice: null,
  565. openPrice: null,
  566. atsModel: null,
  567. atsPrice: null,
  568. batteryModel: null,
  569. batteryPrice: null,
  570. controllerMinbei: null,
  571. controllerPrice: null,
  572. totalCostMute: null,
  573. totalCostOpen: null,
  574. muteLong: null,
  575. muteWidth: null,
  576. muteHigh: null,
  577. openLong: null,
  578. openWidth: null,
  579. openHigh: null,
  580. ckdLong: null,
  581. ckdWidth: null,
  582. ckdHigh: null,
  583. createTime: null,
  584. updateTime: null
  585. };
  586. this.resetForm("form");
  587. },
  588. /** 搜索按钮操作 */
  589. handleQuery() {
  590. this.queryParams.pageNum = 1;
  591. this.getList();
  592. },
  593. /** 重置按钮操作 */
  594. resetQuery() {
  595. this.resetForm("queryForm");
  596. this.handleQuery();
  597. },
  598. // 多选框选中数据
  599. handleSelectionChange(selection) {
  600. this.ids = selection.map(item => item.id)
  601. this.single = selection.length!==1
  602. this.multiple = !selection.length
  603. },
  604. /** 新增按钮操作 */
  605. handleAdd() {
  606. this.reset();
  607. this.open = true;
  608. this.title = "添加报价";
  609. },
  610. /** 修改按钮操作 */
  611. handleUpdate(row) {
  612. this.reset();
  613. const id = row.id || this.ids
  614. getInfo(id).then(response => {
  615. this.form = response.data;
  616. this.open = true;
  617. this.title = "修改报价";
  618. });
  619. },
  620. /** 提交按钮 */
  621. submitForm() {
  622. this.$refs["form"].validate(valid => {
  623. if (valid) {
  624. if (this.form.id != null) {
  625. updateInfo(this.form).then(response => {
  626. this.msgSuccess("修改成功");
  627. this.open = false;
  628. this.getList();
  629. });
  630. } else {
  631. addInfo(this.form).then(response => {
  632. this.msgSuccess("新增成功");
  633. this.open = false;
  634. this.getList();
  635. });
  636. }
  637. }
  638. });
  639. },
  640. /** 删除按钮操作 */
  641. handleDelete(row) {
  642. const ids = row.id || this.ids;
  643. this.$confirm('是否确认删除报价编号为"' + ids + '"的数据项?', "警告", {
  644. confirmButtonText: "确定",
  645. cancelButtonText: "取消",
  646. type: "warning"
  647. }).then(function() {
  648. return delInfo(ids);
  649. }).then(() => {
  650. this.getList();
  651. this.msgSuccess("删除成功");
  652. })
  653. },
  654. /** 导出按钮操作 */
  655. handleExport() {
  656. const queryParams = this.queryParams;
  657. this.$confirm('是否确认导出所有报价数据项?', "警告", {
  658. confirmButtonText: "确定",
  659. cancelButtonText: "取消",
  660. type: "warning"
  661. }).then(function() {
  662. return exportInfo(queryParams);
  663. }).then(response => {
  664. this.download(response.data);
  665. })
  666. }
  667. }
  668. };
  669. </script>