index.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614
  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-select v-model="queryParams.brand" placeholder="请输入动力品牌" clearable size="small"
  6. @keyup.enter.native="handleQuery">
  7. <el-option v-for="(item, index) in searchOption[0]" :key="index" :value="item" :label="item"></el-option>
  8. </el-select>
  9. </el-form-item>
  10. <el-form-item label-width="auto" label="发动机主功率(kw)区间" prop="powerKwMax">
  11. <el-input v-model.number="queryParams.powerKwMin" placeholder="请选择主功率(kw)" clearable size="small"
  12. @keyup.enter.native="handleQuery">
  13. </el-input>
  14. </el-form-item>
  15. <el-form-item label-width="auto" label="到" prop="powerKwMin">
  16. <el-input v-model.number="queryParams.powerKwMax" placeholder="请选择主功率(kw)" clearable size="small"
  17. @keyup.enter.native="handleQuery">
  18. </el-input>
  19. </el-form-item>
  20. <!-- <el-form-item label="型号" prop="model">
  21. <el-input
  22. v-model="queryParams.model"
  23. placeholder="请输入型号"
  24. clearable
  25. size="small"
  26. @keyup.enter.native="handleQuery"
  27. />
  28. </el-form-item> -->
  29. <!-- <el-form-item label="发动机主要功率(1500RPM 50HZ)" prop="enginePowerMajor1500rpm">
  30. <el-input
  31. v-model="queryParams.enginePowerMajor1500rpm"
  32. placeholder="请输入发动机主要功率(1500RPM 50HZ)"
  33. clearable
  34. size="small"
  35. @keyup.enter.native="handleQuery"
  36. />
  37. </el-form-item>
  38. <el-form-item label="发动机备用功率(1500RPM 50HZ)" prop="enginePowerMinor1500rpm">
  39. <el-input
  40. v-model="queryParams.enginePowerMinor1500rpm"
  41. placeholder="请输入发动机备用功率(1500RPM 50HZ)"
  42. clearable
  43. size="small"
  44. @keyup.enter.native="handleQuery"
  45. />
  46. </el-form-item>
  47. <el-form-item label="推荐机组主要功率(1500RPM 50HZ)" prop="unitPowerMajor1500rpm">
  48. <el-input
  49. v-model="queryParams.unitPowerMajor1500rpm"
  50. placeholder="请输入推荐机组主要功率(1500RPM 50HZ)"
  51. clearable
  52. size="small"
  53. @keyup.enter.native="handleQuery"
  54. />
  55. </el-form-item>
  56. <el-form-item label="推荐机组备用功率(1500RPM 50HZ)" prop="unitPowerMinor1500rpm">
  57. <el-input
  58. v-model="queryParams.unitPowerMinor1500rpm"
  59. placeholder="请输入推荐机组备用功率(1500RPM 50HZ)"
  60. clearable
  61. size="small"
  62. @keyup.enter.native="handleQuery"
  63. />
  64. </el-form-item>
  65. <el-form-item label="发动机主要功率(1800RPM 60HZ)" prop="enginePowerMajor1800rpm">
  66. <el-input
  67. v-model="queryParams.enginePowerMajor1800rpm"
  68. placeholder="请输入发动机主要功率(1800RPM 60HZ)"
  69. clearable
  70. size="small"
  71. @keyup.enter.native="handleQuery"
  72. />
  73. </el-form-item>
  74. <el-form-item label="发动机备用功率(1800RPM 60HZ)" prop="enginePowerMinor1800rpm">
  75. <el-input
  76. v-model="queryParams.enginePowerMinor1800rpm"
  77. placeholder="请输入发动机备用功率(1800RPM 60HZ)"
  78. clearable
  79. size="small"
  80. @keyup.enter.native="handleQuery"
  81. />
  82. </el-form-item>
  83. <el-form-item label="推荐机组主要功率(1800RPM 60HZ)" prop="unitPowerMajor1800rpm">
  84. <el-input
  85. v-model="queryParams.unitPowerMajor1800rpm"
  86. placeholder="请输入推荐机组主要功率(1800RPM 60HZ)"
  87. clearable
  88. size="small"
  89. @keyup.enter.native="handleQuery"
  90. />
  91. </el-form-item>
  92. <el-form-item label="推荐机组备用功率(1800RPM 60HZ)" prop="unitPowerMinor1800rpm">
  93. <el-input
  94. v-model="queryParams.unitPowerMinor1800rpm"
  95. placeholder="请输入推荐机组备用功率(1800RPM 60HZ)"
  96. clearable
  97. size="small"
  98. @keyup.enter.native="handleQuery"
  99. />
  100. </el-form-item>
  101. <el-form-item label="油泵形式" prop="oilForm">
  102. <el-input
  103. v-model="queryParams.oilForm"
  104. placeholder="请输入油泵形式"
  105. clearable
  106. size="small"
  107. @keyup.enter.native="handleQuery"
  108. />
  109. </el-form-item>
  110. <el-form-item label="进气方式" prop="airIntakeMode">
  111. <el-input
  112. v-model="queryParams.airIntakeMode"
  113. placeholder="请输入进气方式"
  114. clearable
  115. size="small"
  116. @keyup.enter.native="handleQuery"
  117. />
  118. </el-form-item>
  119. <el-form-item label="电压" prop="voltage">
  120. <el-input
  121. v-model="queryParams.voltage"
  122. placeholder="请输入电压"
  123. clearable
  124. size="small"
  125. @keyup.enter.native="handleQuery"
  126. />
  127. </el-form-item>
  128. <el-form-item label="排量 " prop="displacement">
  129. <el-input
  130. v-model="queryParams.displacement"
  131. placeholder="请输入排量 "
  132. clearable
  133. size="small"
  134. @keyup.enter.native="handleQuery"
  135. />
  136. </el-form-item>
  137. <el-form-item label="油耗" prop="oilConsumption">
  138. <el-input
  139. v-model="queryParams.oilConsumption"
  140. placeholder="请输入油耗"
  141. clearable
  142. size="small"
  143. @keyup.enter.native="handleQuery"
  144. />
  145. </el-form-item>
  146. <el-form-item label="水箱重量(Kg)" prop="tankWeight">
  147. <el-input
  148. v-model="queryParams.tankWeight"
  149. placeholder="请输入水箱重量(Kg)"
  150. clearable
  151. size="small"
  152. @keyup.enter.native="handleQuery"
  153. />
  154. </el-form-item>
  155. <el-form-item label="动力尺寸L*W*H(mm)" prop="powerSize">
  156. <el-input
  157. v-model="queryParams.powerSize"
  158. placeholder="请输入动力尺寸L*W*H(mm)"
  159. clearable
  160. size="small"
  161. @keyup.enter.native="handleQuery"
  162. />
  163. </el-form-item>
  164. <el-form-item label="水箱尺寸L*W*H(mm)" prop="tankSize">
  165. <el-input
  166. v-model="queryParams.tankSize"
  167. placeholder="请输入水箱尺寸L*W*H(mm)"
  168. clearable
  169. size="small"
  170. @keyup.enter.native="handleQuery"
  171. />
  172. </el-form-item>
  173. <el-form-item label="排放标准" prop="
  174. emissionStandard">
  175. <el-input
  176. v-model="queryParams.emissionStandard"
  177. placeholder="请输入排放标准"
  178. clearable
  179. size="small"
  180. @keyup.enter.native="handleQuery"
  181. />
  182. </el-form-item>
  183. <el-form-item label="配置说明" prop="configurationDescription">
  184. <el-input
  185. v-model="queryParams.configurationDescription"
  186. placeholder="请输入配置说明"
  187. clearable
  188. size="small"
  189. @keyup.enter.native="handleQuery"
  190. />
  191. </el-form-item>
  192. <el-form-item label="价格" prop="price">
  193. <el-input
  194. v-model="queryParams.price"
  195. placeholder="请输入价格"
  196. clearable
  197. size="small"
  198. @keyup.enter.native="handleQuery"
  199. />
  200. </el-form-item>
  201. <el-form-item label="水箱价格" prop="tankPrice">
  202. <el-input
  203. v-model="queryParams.tankPrice"
  204. placeholder="请输入水箱价格"
  205. clearable
  206. size="small"
  207. @keyup.enter.native="handleQuery"
  208. />
  209. </el-form-item> -->
  210. <el-form-item>
  211. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  212. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  213. </el-form-item>
  214. </el-form>
  215. <el-row :gutter="10" class="mb8">
  216. <el-col :span="1.5">
  217. <el-button v-hasPermi="['engine:info:add']" type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
  218. </el-col>
  219. <el-col :span="1.5">
  220. <el-button v-hasPermi="['engine:info:update']" type="success" icon="el-icon-edit" size="mini" :disabled="single"
  221. @click="handleUpdate">修改</el-button>
  222. </el-col>
  223. <el-col :span="1.5">
  224. <el-button v-hasPermi="['engine:info:remove']" type="danger" icon="el-icon-delete" size="mini" :disabled="multiple"
  225. @click="handleDelete">删除</el-button>
  226. </el-col>
  227. <el-col :span="1.5">
  228. <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
  229. </el-col>
  230. <el-col :span="1.5">
  231. <el-upload
  232. v-hasPermi="['engine:info:import']"
  233. :show-file-list="false"
  234. class="upload-demo"
  235. with-credentials
  236. :headers="{
  237. Authorization: 'Bearer ' + token,
  238. }"
  239. :action="uploadUrl+'/engine/info/import'"
  240. :on-success="handleSuccess"
  241. multiple
  242. accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
  243. :file-list="fileList"
  244. >
  245. <el-button
  246. type="warning"
  247. icon="el-icon-bottom"
  248. size="mini"
  249. v-hasPermi="['engine:info:import']"
  250. >导入</el-button
  251. >
  252. </el-upload>
  253. </el-col>
  254. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  255. </el-row>
  256. <el-table size="mini" v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
  257. <el-table-column type="selection" width="55" align="center" />
  258. <el-table-column label="动力品牌" :width="'100px'" align="center" prop="brand" >
  259. </el-table-column>
  260. <el-table-column fixed label="型号" align="center" prop="model" />
  261. <el-table-column fixed label="发动机主要功率(1500RPM 50HZ)" align="center" prop="enginePowerMajor1500rpm" />
  262. <el-table-column label="发动机备用功率(1500RPM 50HZ)" align="center" prop="enginePowerMinor1500rpm" />
  263. <el-table-column label="推荐机组主要功率(1500RPM 50HZ)" align="center" prop="unitPowerMajor1500rpm" />
  264. <el-table-column label="推荐机组备用功率(1500RPM 50HZ)" align="center" prop="unitPowerMinor1500rpm" />
  265. <el-table-column label="发动机主要功率(1800RPM 60HZ)" align="center" prop="enginePowerMajor1800rpm" />
  266. <el-table-column label="发动机备用功率(1800RPM 60HZ)" align="center" prop="enginePowerMinor1800rpm" />
  267. <el-table-column label="推荐机组主要功率(1800RPM 60HZ)" align="center" prop="unitPowerMajor1800rpm" />
  268. <el-table-column label="推荐机组备用功率(1800RPM 60HZ)" align="center" prop="unitPowerMinor1800rpm" />
  269. <el-table-column label="油泵形式" align="center" prop="oilForm" />
  270. <el-table-column label="进气方式" align="center" prop="airIntakeMode" />
  271. <el-table-column label="电压" align="center" prop="voltage" />
  272. <el-table-column label="排量 " align="center" prop="displacement" />
  273. <el-table-column label="油耗" align="center" prop="oilConsumption" />
  274. <el-table-column label="排放标准" align="center" prop="emissionStandard" />
  275. <el-table-column label="动力价格" align="center" prop="enginePrice" />
  276. <el-table-column label="动力重量" align="center" prop="engineWeight" />
  277. <el-table-column label="动力尺寸L*W*H(mm)" align="center" prop="powerSize" />
  278. <!-- <el-table-column label="水箱重量(Kg)" align="center" prop="tankWeight" /> -->
  279. <el-table-column label="水箱40度铝价格" align="center" prop="tank40LvPrice" />
  280. <el-table-column label="水箱40度铜价格" align="center" prop="tank40TongPrice" />
  281. <el-table-column label="水箱50度铝价格" align="center" prop="tank50LvPrice" />
  282. <el-table-column label="水箱50度铜价格" align="center" prop="tank50TongPrice" />
  283. <el-table-column label="水箱40度铝重量" align="center" prop="tank40LvWeight" />
  284. <el-table-column label="水箱40度铜重量" align="center" prop="tank40TongWeight" />
  285. <el-table-column label="水箱50度铝重量" align="center" prop="tank50LvWeight" />
  286. <el-table-column label="水箱50度铜重量" align="center" prop="tank50TongWeight" />
  287. <el-table-column label="水箱尺寸L*W*H(mm)" align="center" prop="tankSize" />
  288. <el-table-column label="配置说明" align="center" prop="configurationDescription" />
  289. <el-table-column label="水箱价格" align="center" prop="tankPrice" />
  290. <el-table-column label="操作" align="center" width="150px" class-name="small-padding fixed-width">
  291. <template slot-scope="scope">
  292. <div style="display:flex">
  293. <el-button v-hasPermi="['engine:info:update']" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
  294. <el-button v-hasPermi="['engine:info:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
  295. <el-button @click="() => {
  296. $router.push('/gallery?id=' + scope.row.id + '&type=2')
  297. }" size="mini" type="text" icon="el-icon-picture-outline">图片</el-button>
  298. </div>
  299. </template>
  300. </el-table-column>
  301. </el-table>
  302. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
  303. @pagination="getList" />
  304. <!-- 添加或修改报价对话框 -->
  305. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  306. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  307. <el-form-item label="动力品牌" prop="brand">
  308. <el-input v-model="form.brand" placeholder="请输入动力品牌" />
  309. </el-form-item>
  310. <el-form-item label="型号" prop="model">
  311. <el-input v-model="form.model" placeholder="请输入型号" />
  312. </el-form-item>
  313. <el-form-item label="发动机主要功率(1500RPM 50HZ)" prop="enginePowerMajor1500rpm">
  314. <el-input v-model="form.enginePowerMajor1500rpm" placeholder="请输入发动机主要功率(1500RPM 50HZ)" />
  315. </el-form-item>
  316. <el-form-item label="发动机备用功率(1500RPM 50HZ)" prop="enginePowerMinor1500rpm">
  317. <el-input v-model="form.enginePowerMinor1500rpm" placeholder="请输入发动机备用功率(1500RPM 50HZ)" />
  318. </el-form-item>
  319. <el-form-item label="推荐机组主要功率(1500RPM 50HZ)" prop="unitPowerMajor1500rpm">
  320. <el-input v-model="form.unitPowerMajor1500rpm" placeholder="请输入推荐机组主要功率(1500RPM 50HZ)" />
  321. </el-form-item>
  322. <el-form-item label="推荐机组备用功率(1500RPM 50HZ)" prop="unitPowerMinor1500rpm">
  323. <el-input v-model="form.unitPowerMinor1500rpm" placeholder="请输入推荐机组备用功率(1500RPM 50HZ)" />
  324. </el-form-item>
  325. <el-form-item label="发动机主要功率(1800RPM 60HZ)" prop="enginePowerMajor1800rpm">
  326. <el-input v-model="form.enginePowerMajor1800rpm" placeholder="请输入发动机主要功率(1800RPM 60HZ)" />
  327. </el-form-item>
  328. <el-form-item label="发动机备用功率(1800RPM 60HZ)" prop="enginePowerMinor1800rpm">
  329. <el-input v-model="form.enginePowerMinor1800rpm" placeholder="请输入发动机备用功率(1800RPM 60HZ)" />
  330. </el-form-item>
  331. <el-form-item label="推荐机组主要功率(1800RPM 60HZ)" prop="unitPowerMajor1800rpm">
  332. <el-input v-model="form.unitPowerMajor1800rpm" placeholder="请输入推荐机组主要功率(1800RPM 60HZ)" />
  333. </el-form-item>
  334. <el-form-item label="推荐机组备用功率(1800RPM 60HZ)" prop="unitPowerMinor1800rpm">
  335. <el-input v-model="form.unitPowerMinor1800rpm" placeholder="请输入推荐机组备用功率(1800RPM 60HZ)" />
  336. </el-form-item>
  337. <el-form-item label="油泵形式" prop="oilForm">
  338. <el-input v-model="form.oilForm" placeholder="请输入油泵形式" />
  339. </el-form-item>
  340. <el-form-item label="进气方式" prop="airIntakeMode">
  341. <el-input v-model="form.airIntakeMode" placeholder="请输入进气方式" />
  342. </el-form-item>
  343. <el-form-item label="电压" prop="voltage">
  344. <el-input v-model="form.voltage" placeholder="请输入电压" />
  345. </el-form-item>
  346. <el-form-item label="排量 " prop="displacement">
  347. <el-input v-model="form.displacement" placeholder="请输入排量 " />
  348. </el-form-item>
  349. <el-form-item label="油耗" prop="oilConsumption">
  350. <el-input v-model="form.oilConsumption" placeholder="请输入油耗" />
  351. </el-form-item>
  352. <el-form-item label="水箱重量(Kg)" prop="tankWeight">
  353. <el-input v-model="form.tankWeight" placeholder="请输入水箱重量(Kg)" />
  354. </el-form-item>
  355. <el-form-item label="动力尺寸L*W*H(mm)" prop="powerSize">
  356. <el-input v-model="form.powerSize" placeholder="请输入动力尺寸L*W*H(mm)" />
  357. </el-form-item>
  358. <el-form-item label="水箱尺寸L*W*H(mm)" prop="tankSize">
  359. <el-input v-model="form.tankSize" placeholder="请输入水箱尺寸L*W*H(mm)" />
  360. </el-form-item>
  361. <el-form-item label="排放标准" prop="emissionStandard">
  362. <el-input v-model="form.emissionStandard" placeholder="请输入排放标准" />
  363. </el-form-item>
  364. <el-form-item label="配置说明" prop="configurationDescription">
  365. <el-input v-model="form.configurationDescription" placeholder="请输入配置说明" />
  366. </el-form-item>
  367. <el-form-item label="价格" prop="price">
  368. <el-input v-model="form.price" placeholder="请输入价格" />
  369. </el-form-item>
  370. <el-form-item label="水箱价格" prop="tankPrice">
  371. <el-input v-model="form.tankPrice" placeholder="请输入水箱价格" />
  372. </el-form-item>
  373. </el-form>
  374. <div slot="footer" class="dialog-footer">
  375. <el-button type="primary" @click="submitForm">确 定</el-button>
  376. <el-button @click="cancel">取 消</el-button>
  377. </div>
  378. </el-dialog>
  379. </div>
  380. </template>
  381. <script>
  382. import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, getFieldName } from "@/api/price/engine";
  383. import { mapGetters } from 'vuex'
  384. import { getToken } from "@/utils/auth";
  385. export default {
  386. name: "Info",
  387. data() {
  388. return {
  389. token: getToken(), uploadUrl:process.env.VUE_APP_BASE_API,
  390. searchOption: [[], [], [], []],
  391. // 遮罩层
  392. loading: true,
  393. // 选中数组
  394. ids: [],
  395. // 非单个禁用
  396. single: true,
  397. // 非多个禁用
  398. multiple: true,
  399. // 显示搜索条件
  400. showSearch: true,
  401. // 总条数
  402. total: 0,
  403. // 报价表格数据
  404. infoList: [],
  405. // 弹出层标题
  406. title: "",
  407. // 是否显示弹出层
  408. open: false,
  409. // 查询参数
  410. queryParams: {
  411. pageNum: 1,
  412. pageSize: 10,
  413. brand: null,
  414. model: null,
  415. enginePowerMajor1500rpm: null,
  416. enginePowerMinor1500rpm: null,
  417. unitPowerMajor1500rpm: null,
  418. unitPowerMinor1500rpm: null,
  419. enginePowerMajor1800rpm: null,
  420. enginePowerMinor1800rpm: null,
  421. unitPowerMajor1800rpm: null,
  422. unitPowerMinor1800rpm: null,
  423. oilForm: null,
  424. airIntakeMode: null,
  425. voltage: null,
  426. displacement: null,
  427. oilConsumption: null,
  428. tankWeight: null,
  429. powerSize: null,
  430. tankSize: null,
  431. powerKwMax:"",
  432. powerKwMin:"",
  433. emissionStandard: null,
  434. configurationDescription: null,
  435. price: null,
  436. tankPrice: null,
  437. },
  438. // 表单参数
  439. form: {},
  440. // 表单校验
  441. rules: {
  442. }
  443. };
  444. },
  445. created() {
  446. this.getSearchOption()
  447. this.getList();
  448. },
  449. computed: {
  450. ...mapGetters(['permissions', 'roles', 'tableColumnWidth','tableColumnWidthMedium','tableColumnWidthSamll','tableColumnWidthMini'])
  451. },
  452. methods: {
  453. getSearchOption() {
  454. getFieldName('brand').then(response => {
  455. this.$set(this.searchOption, 0, response.data);
  456. })
  457. },
  458. handleSuccess() {
  459. this.msgSuccess("上传成功");
  460. this.getSearchOption();
  461. this.getList()
  462. },
  463. /** 查询报价列表 */
  464. getList() {
  465. this.loading = true;
  466. listInfo(this.queryParams).then(response => {
  467. this.infoList = response.rows;
  468. this.total = response.total;
  469. this.loading = false;
  470. });
  471. },
  472. // 取消按钮
  473. cancel() {
  474. this.open = false;
  475. this.reset();
  476. },
  477. // 表单重置
  478. reset() {
  479. this.form = {
  480. id: null,
  481. brand: null,
  482. model: null,
  483. enginePowerMajor1500rpm: null,
  484. enginePowerMinor1500rpm: null,
  485. unitPowerMajor1500rpm: null,
  486. unitPowerMinor1500rpm: null,
  487. enginePowerMajor1800rpm: null,
  488. enginePowerMinor1800rpm: null,
  489. unitPowerMajor1800rpm: null,
  490. unitPowerMinor1800rpm: null,
  491. oilForm: null,
  492. airIntakeMode: null,
  493. voltage: null,
  494. displacement: null,
  495. oilConsumption: null,
  496. tankWeight: null,
  497. powerSize: null,
  498. tankSize: null,
  499. emissionStandard: null,
  500. configurationDescription: null,
  501. price: null,
  502. tankPrice: null,
  503. createTime: null,
  504. updateTime: null
  505. };
  506. this.resetForm("form");
  507. },
  508. /** 搜索按钮操作 */
  509. handleQuery() {
  510. this.queryParams.pageNum = 1;
  511. this.getList();
  512. },
  513. /** 重置按钮操作 */
  514. resetQuery() {
  515. this.resetForm("queryForm");
  516. this.handleQuery();
  517. },
  518. // 多选框选中数据
  519. handleSelectionChange(selection) {
  520. this.ids = selection.map(item => item.id)
  521. this.single = selection.length !== 1
  522. this.multiple = !selection.length
  523. },
  524. /** 新增按钮操作 */
  525. handleAdd() {
  526. this.reset();
  527. this.open = true;
  528. this.title = "添加报价";
  529. },
  530. /** 修改按钮操作 */
  531. handleUpdate(row) {
  532. this.reset();
  533. const id = row.id || this.ids
  534. getInfo(id).then(response => {
  535. this.form = response.data;
  536. this.open = true;
  537. this.title = "修改报价";
  538. });
  539. },
  540. /** 提交按钮 */
  541. submitForm() {
  542. this.$refs["form"].validate(valid => {
  543. if (valid) {
  544. if (this.form.id != null) {
  545. updateInfo(this.form).then(response => {
  546. this.msgSuccess("修改成功");
  547. this.open = false;
  548. this.getList();
  549. });
  550. } else {
  551. addInfo(this.form).then(response => {
  552. this.msgSuccess("新增成功");
  553. this.open = false;
  554. this.getList();
  555. });
  556. }
  557. }
  558. });
  559. },
  560. /** 删除按钮操作 */
  561. handleDelete(row) {
  562. const ids = row.id || this.ids;
  563. this.$confirm('是否确认删除报价编号为"' + ids + '"的数据项?', "警告", {
  564. confirmButtonText: "确定",
  565. cancelButtonText: "取消",
  566. type: "warning"
  567. }).then(function () {
  568. return delInfo(ids);
  569. }).then(() => {
  570. this.getList();
  571. this.msgSuccess("删除成功");
  572. })
  573. },
  574. /** 导出按钮操作 */
  575. handleExport() {
  576. const queryParams = this.queryParams;
  577. this.$confirm('是否确认导出所有报价数据项?', "警告", {
  578. confirmButtonText: "确定",
  579. cancelButtonText: "取消",
  580. type: "warning"
  581. }).then(function () {
  582. return exportInfo(queryParams);
  583. }).then(response => {
  584. this.download(response.data);
  585. })
  586. }
  587. }
  588. };
  589. </script>