tab1.vue 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. <template>
  2. <div class="knowledge-2">
  3. <div class="query mg-b-8">
  4. <div class="query-items">
  5. <div class="query-item">
  6. <div class="lable">供应商:</div>
  7. <div class="search-input">
  8. <el-select
  9. v-model="vendor"
  10. clearable
  11. placeholder="请选择"
  12. popper-class="select"
  13. >
  14. <el-option
  15. v-for="item in vendorArray"
  16. :key="item.company"
  17. :value="item.company"
  18. :label="item.company"
  19. />
  20. </el-select>
  21. </div>
  22. </div>
  23. <div class="query-item">
  24. <div class="lable">采购单号:</div>
  25. <div class="search-input">
  26. <el-input
  27. placeholder="请输入描述"
  28. size="middle"
  29. v-model="ponum"
  30. clearable
  31. ></el-input>
  32. </div>
  33. </div>
  34. <div class="query-item">
  35. <div class="lable">仓库:</div>
  36. <div class="search-input">
  37. <el-select
  38. v-model="warehouse"
  39. clearable
  40. placeholder="请选择"
  41. popper-class="select"
  42. >
  43. <el-option
  44. v-for="item in warehouseArray"
  45. :key="item.warehouse"
  46. :value="item.warehouse"
  47. :label="item.warehouse"
  48. />
  49. </el-select>
  50. </div>
  51. </div>
  52. <div class="query-item">
  53. <div class="lable">日期:</div>
  54. <div class="search-input">
  55. <el-date-picker
  56. size="medium"
  57. v-model="dateArea"
  58. type="datetimerange"
  59. :picker-options="pickerOptions"
  60. range-separator="至"
  61. start-placeholder="开始日期"
  62. end-placeholder="结束日期"
  63. align="right"
  64. >
  65. </el-date-picker>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="query-actions" style="margin-right: 1500px">
  70. <button class="btn green" @click="onClickSearch">查询</button>
  71. </div>
  72. </div>
  73. <div>
  74. <ComTable :data="tableData" height="85vh"></ComTable>
  75. </div>
  76. </div>
  77. </template>
  78. <script>
  79. import ComTable from "@com/coms/table/table.vue";
  80. export default {
  81. components: { ComTable },
  82. data() {
  83. return {
  84. dateArea: [
  85. this.fmtDate(
  86. new Date(
  87. new Date().setTime(new Date().getTime() - 3600 * 1000 * 24 * 30)
  88. )
  89. ),
  90. this.fmtDate(new Date()),
  91. ],
  92. pageSize: 100,
  93. pageNum: 1,
  94. ponum: "",
  95. vendor: "联合动力",
  96. vendorArray: [],
  97. warehouse: "麻黄山仓库",
  98. warehouseArray: [],
  99. tableData: {
  100. column: [
  101. {
  102. name: "采购单号",
  103. field: "ponum",
  104. is_num: true,
  105. is_light: false,
  106. },
  107. {
  108. name: "状态",
  109. field: "status",
  110. is_num: false,
  111. is_light: false,
  112. },
  113. {
  114. name: "状态日期",
  115. field: "statusdate",
  116. is_num: false,
  117. is_light: false,
  118. },
  119. {
  120. name: "供应商",
  121. field: "vendor",
  122. is_num: false,
  123. is_light: false,
  124. },
  125. {
  126. name: "总成本",
  127. field: "totalcost",
  128. is_num: false,
  129. is_light: false,
  130. },
  131. {
  132. name: "含税总成本",
  133. field: "totaltax",
  134. is_num: true,
  135. is_light: false,
  136. },
  137. {
  138. name: "地点",
  139. field: "sitenum",
  140. is_num: false,
  141. is_light: false,
  142. },
  143. {
  144. name: "描述",
  145. field: "cription",
  146. is_num: false,
  147. is_light: false,
  148. },
  149. {
  150. name: "库存项目",
  151. field: "itemnum",
  152. is_num: false,
  153. is_light: false,
  154. },
  155. {
  156. name: "仓库",
  157. field: "warehouse",
  158. is_num: false,
  159. is_light: false,
  160. },
  161. {
  162. name: "订购数量",
  163. field: "orderqty",
  164. is_num: false,
  165. is_light: false,
  166. },
  167. {
  168. name: "订购单位",
  169. field: "orderunit",
  170. is_num: false,
  171. is_light: false,
  172. },
  173. {
  174. name: "不含税单价",
  175. field: "unitcost",
  176. is_num: false,
  177. is_light: false,
  178. },
  179. {
  180. name: "含税行成本",
  181. field: "linecost",
  182. is_num: false,
  183. is_light: false,
  184. },
  185. {
  186. name: "录入日期",
  187. field: "enterdate",
  188. is_num: false,
  189. is_light: false,
  190. },
  191. {
  192. name: "录入人",
  193. field: "enterby",
  194. is_num: false,
  195. is_light: false,
  196. },
  197. {
  198. name: "规格型号",
  199. field: "modelnum",
  200. is_num: false,
  201. is_light: false,
  202. },
  203. ],
  204. data: [],
  205. },
  206. };
  207. },
  208. created() {
  209. // this.requestSafeList();
  210. this.value1 = this.getTime(1);
  211. this.value2 = this.getTime(2);
  212. this.getVendor();
  213. },
  214. methods: {
  215. getTime(val) {
  216. //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
  217. var date = new Date();
  218. var year = date.getFullYear(),
  219. month = date.getMonth() + 1,
  220. day = date.getDate();
  221. month >= 1 && month <= 9 ? (month = "0" + month) : "";
  222. day >= 0 && day <= 9 ? (day = "0" + day) : "";
  223. var begin = year + "-" + month + "-01";
  224. var end = year + "-" + month + "-" + day;
  225. if (val == 1) {
  226. return begin;
  227. } else if (val == 2) {
  228. return end;
  229. }
  230. },
  231. // 获取厂家
  232. getVendor() {
  233. let that = this;
  234. that.API.requestData({
  235. baseURL: "http://192.168.1.18:9988",
  236. subUrl: "companies/list",
  237. success(res) {
  238. that.vendorArray = res.data;
  239. that.vendor = res.data[0].company;
  240. that.getWarehouse();
  241. },
  242. });
  243. },
  244. // 获取仓库
  245. getWarehouse() {
  246. let that = this;
  247. that.API.requestData({
  248. baseURL: "http://192.168.1.18:9988",
  249. subUrl: "warehouse/list",
  250. success(res) {
  251. that.warehouseArray = res.data;
  252. that.warehouse = res.data[0].warehouse;
  253. that.requestSafeList();
  254. },
  255. });
  256. },
  257. // 格式化日期
  258. fmtDate(date) {
  259. let curDate = date || new Date();
  260. let year = curDate.getFullYear();
  261. let mouth = curDate.getUTCMonth() + 1;
  262. let day = curDate.getDate();
  263. let hour = curDate.getHours();
  264. let minutes = curDate.getMinutes();
  265. let seconds = curDate.getSeconds();
  266. return (
  267. year +
  268. "-" +
  269. (mouth < 10 ? "0" + mouth : mouth) +
  270. "-" +
  271. (day < 10 ? "0" + day : day) +
  272. " " +
  273. (hour < 10 ? "0" + hour : hour) +
  274. ":" +
  275. (minutes < 10 ? "0" + minutes : minutes) +
  276. ":" +
  277. (seconds < 10 ? "0" + seconds : seconds)
  278. );
  279. },
  280. BeginChange(vl) {
  281. this.value1 = vl;
  282. },
  283. EndChange(vl) {
  284. this.value2 = vl;
  285. },
  286. typeChange(vl) {
  287. this.type = vl;
  288. },
  289. // 搜索按钮
  290. onClickSearch() {
  291. this.requestSafeList();
  292. },
  293. // 获取查询列表
  294. requestSafeList() {
  295. let that = this;
  296. if (!that.dateArea || !that.dateArea.length) {
  297. that.BASE.showMsg({
  298. msg: "请先选择要查询的日期区间后再试",
  299. });
  300. } else {
  301. let starttime = this.dateArea.length
  302. ? new Date(this.dateArea[0]).formatDate("yyyy-MM-dd hh:mm:ss")
  303. : "";
  304. let endtime = this.dateArea.length
  305. ? new Date(this.dateArea[1]).formatDate("yyyy-MM-dd hh:mm:ss")
  306. : "";
  307. // let data = {
  308. // category1:'SYZ',
  309. // starttime,
  310. // endtime,
  311. // pagenum: that.pageNum,
  312. // pagesize: that.pageSize,
  313. // stationid: that.wpId,
  314. // };
  315. // http://192.168.1.18:9988/poline/list?pagenum=1&pagesize=10&vendor=联合动力&ponum=PO10564&warehouse=麻黄山仓库&starttime=2021-07-08 18:34:40&endtime=2021-07-08 18:34:45
  316. that.API.requestData({
  317. // baseURL:"http://192.168.1.14:8075/",
  318. baseURL: "http://192.168.1.18:9988",
  319. subUrl: "poline/list",
  320. method: "GET",
  321. data: {
  322. vendor: that.vendor,
  323. ponum: that.ponum,
  324. warehouse: that.warehouse,
  325. starttime,
  326. endtime,
  327. pagenum: that.pageNum,
  328. pagesize: that.pageSize,
  329. },
  330. success(res) {
  331. if (res.data.records.length) {
  332. res.data.records.forEach((ele, index) => {
  333. ele.index = index + 1;
  334. ele.timeDate = that.fmtDate(new Date(ele.time));
  335. if (ele.value > 0) {
  336. ele.value = parseFloat(ele.value).toFixed(4);
  337. }
  338. });
  339. that.tableData.data = res.data.records || [];
  340. } else {
  341. that.BASE.showMsg({
  342. type: "warning",
  343. msg: "所选日期区间之内暂无数据,请重试",
  344. });
  345. }
  346. that.showDialog = true;
  347. },
  348. });
  349. }
  350. },
  351. },
  352. };
  353. </script>
  354. <style lang="less" scope>
  355. @titleGray: #9ca5a8;
  356. @rowGray: #606769;
  357. @darkBack: #536268;
  358. .knowledge-2 {
  359. .el-select {
  360. width: 200px;
  361. }
  362. .el-input {
  363. width: 200px;
  364. }
  365. }
  366. </style>