index.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="产品编号" prop="productNo">
  5. <el-input
  6. v-model="queryParams.productNo"
  7. placeholder="请输入产品编号"
  8. clearable
  9. @keyup.enter.native="handleQuery"
  10. />
  11. </el-form-item>
  12. <el-form-item label="品名" prop="productName">
  13. <el-input
  14. v-model="queryParams.productName"
  15. placeholder="请输入品名"
  16. clearable
  17. @keyup.enter.native="handleQuery"
  18. />
  19. </el-form-item>
  20. <!-- <el-form-item label="产品规格" prop="productSpecifications">-->
  21. <!-- <el-input-->
  22. <!-- v-model="queryParams.productSpecifications"-->
  23. <!-- placeholder="请输入产品规格"-->
  24. <!-- clearable-->
  25. <!-- @keyup.enter.native="handleQuery"-->
  26. <!-- />-->
  27. <!-- </el-form-item>-->
  28. <el-form-item label="批号" prop="batchNumber">
  29. <el-input
  30. v-model="queryParams.batchNumber"
  31. placeholder="请输入批号"
  32. clearable
  33. @keyup.enter.native="handleQuery"
  34. />
  35. </el-form-item>
  36. <el-form-item label="色泽" prop="colours">
  37. <el-input
  38. v-model="queryParams.colours"
  39. placeholder="请输入色泽"
  40. clearable
  41. @keyup.enter.native="handleQuery"
  42. />
  43. </el-form-item>
  44. <el-form-item label="机台" prop="machineTool">
  45. <el-input
  46. v-model="queryParams.machineTool"
  47. placeholder="请输入机台"
  48. clearable
  49. @keyup.enter.native="handleQuery"
  50. />
  51. </el-form-item>
  52. <!-- <el-form-item label="卷数" prop="js">-->
  53. <!-- <el-input-->
  54. <!-- v-model="queryParams.js"-->
  55. <!-- placeholder="请输入卷数"-->
  56. <!-- clearable-->
  57. <!-- @keyup.enter.native="handleQuery"-->
  58. <!-- />-->
  59. <!-- </el-form-item>-->
  60. <!-- <el-form-item label="毛重" prop="standby">-->
  61. <!-- <el-input-->
  62. <!-- v-model="queryParams.standby"-->
  63. <!-- placeholder="请输入毛重"-->
  64. <!-- clearable-->
  65. <!-- @keyup.enter.native="handleQuery"-->
  66. <!-- />-->
  67. <!-- </el-form-item>-->
  68. <!-- <el-form-item label="皮重" prop="standby1">-->
  69. <!-- <el-input-->
  70. <!-- v-model="queryParams.standby1"-->
  71. <!-- placeholder="请输入皮重"-->
  72. <!-- clearable-->
  73. <!-- @keyup.enter.native="handleQuery"-->
  74. <!-- />-->
  75. <!-- </el-form-item>-->
  76. <!-- <el-form-item label="净重" prop="standby2">-->
  77. <!-- <el-input-->
  78. <!-- v-model="queryParams.standby2"-->
  79. <!-- placeholder="请输入净重"-->
  80. <!-- clearable-->
  81. <!-- @keyup.enter.native="handleQuery"-->
  82. <!-- />-->
  83. <!-- </el-form-item>-->
  84. <!-- <el-form-item label="任务号" prop="standby3">-->
  85. <!-- <el-input-->
  86. <!-- v-model="queryParams.standby3"-->
  87. <!-- placeholder="请输入任务号"-->
  88. <!-- clearable-->
  89. <!-- @keyup.enter.native="handleQuery"-->
  90. <!-- />-->
  91. <!-- </el-form-item>-->
  92. <!-- <el-form-item label="领料车间" prop="workshop">-->
  93. <!-- <el-input-->
  94. <!-- v-model="queryParams.workshop"-->
  95. <!-- placeholder="请输入领料车间"-->
  96. <!-- clearable-->
  97. <!-- @keyup.enter.native="handleQuery"-->
  98. <!-- />-->
  99. <!-- </el-form-item>-->
  100. <!-- <el-form-item label="领料人" prop="recipient">-->
  101. <!-- <el-input-->
  102. <!-- v-model="queryParams.recipient"-->
  103. <!-- placeholder="请输入领料人"-->
  104. <!-- clearable-->
  105. <!-- @keyup.enter.native="handleQuery"-->
  106. <!-- />-->
  107. <!-- </el-form-item>-->
  108. <!-- <el-form-item label="领料时间" prop="collectTime">-->
  109. <!-- <el-input-->
  110. <!-- v-model="queryParams.collectTime"-->
  111. <!-- placeholder="请输入领料时间"-->
  112. <!-- clearable-->
  113. <!-- @keyup.enter.native="handleQuery"-->
  114. <!-- />-->
  115. <!-- </el-form-item>-->
  116. <!-- <el-form-item label="确认人" prop="confirm">-->
  117. <!-- <el-input-->
  118. <!-- v-model="queryParams.confirm"-->
  119. <!-- placeholder="请输入确认人"-->
  120. <!-- clearable-->
  121. <!-- @keyup.enter.native="handleQuery"-->
  122. <!-- />-->
  123. <!-- </el-form-item>-->
  124. <!-- <el-form-item label="确认时间" prop="confirmTime">-->
  125. <!-- <el-input-->
  126. <!-- v-model="queryParams.confirmTime"-->
  127. <!-- placeholder="请输入确认时间"-->
  128. <!-- clearable-->
  129. <!-- @keyup.enter.native="handleQuery"-->
  130. <!-- />-->
  131. <!-- </el-form-item>-->
  132. <el-form-item>
  133. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  134. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  135. </el-form-item>
  136. </el-form>
  137. <!-- <el-row :gutter="10" class="mb8">-->
  138. <!-- <el-col :span="1.5">-->
  139. <!-- <el-button-->
  140. <!-- type="primary"-->
  141. <!-- plain-->
  142. <!-- icon="el-icon-plus"-->
  143. <!-- size="mini"-->
  144. <!-- @click="handleAdd"-->
  145. <!-- v-hasPermi="['lineSideCabin:lineSideCabin:add']"-->
  146. <!-- >新增</el-button>-->
  147. <!-- </el-col>-->
  148. <!-- <el-col :span="1.5">-->
  149. <!-- <el-button-->
  150. <!-- type="success"-->
  151. <!-- plain-->
  152. <!-- icon="el-icon-edit"-->
  153. <!-- size="mini"-->
  154. <!-- :disabled="single"-->
  155. <!-- @click="handleUpdate"-->
  156. <!-- v-hasPermi="['lineSideCabin:lineSideCabin:edit']"-->
  157. <!-- >修改</el-button>-->
  158. <!-- </el-col>-->
  159. <!-- <el-col :span="1.5">-->
  160. <!-- <el-button-->
  161. <!-- type="danger"-->
  162. <!-- plain-->
  163. <!-- icon="el-icon-delete"-->
  164. <!-- size="mini"-->
  165. <!-- :disabled="multiple"-->
  166. <!-- @click="handleDelete"-->
  167. <!-- v-hasPermi="['lineSideCabin:lineSideCabin:remove']"-->
  168. <!-- >删除</el-button>-->
  169. <!-- </el-col>-->
  170. <!-- <el-col :span="1.5">-->
  171. <!-- <el-button-->
  172. <!-- type="warning"-->
  173. <!-- plain-->
  174. <!-- icon="el-icon-download"-->
  175. <!-- size="mini"-->
  176. <!-- @click="handleExport"-->
  177. <!-- v-hasPermi="['lineSideCabin:lineSideCabin:export']"-->
  178. <!-- >导出</el-button>-->
  179. <!-- </el-col>-->
  180. <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
  181. <!-- </el-row>-->
  182. <el-table v-loading="loading" :data="lineSideCabinList" @selection-change="handleSelectionChange">
  183. <el-table-column type="selection" width="55" align="center" />
  184. <el-table-column label="编号" align="center" prop="id" />
  185. <el-table-column label="产品编号" align="center" prop="productNo" />
  186. <el-table-column label="品名" align="center" prop="productName" />
  187. <el-table-column label="产品规格" align="center" prop="productSpecifications" />
  188. <!-- <el-table-column label="类型" align="center" prop="productType" />-->
  189. <el-table-column label="批号" align="center" prop="batchNumber" />
  190. <el-table-column label="色泽" align="center" prop="colours" />
  191. <el-table-column label="机台" align="center" prop="machineTool" />
  192. <el-table-column label="卷数" align="center" prop="js" />
  193. <!-- <el-table-column label="状态" align="center" prop="status" />-->
  194. <el-table-column label="毛重" align="center" prop="standby" />
  195. <el-table-column label="皮重" align="center" prop="standby1" />
  196. <el-table-column label="净重" align="center" prop="standby2" />
  197. <el-table-column label="丝车号" align="center" prop="scid" />
  198. <el-table-column label="入库时间" align="center" prop="createTime" />
  199. <el-table-column label="操作人" align="center" prop="createBy" />
  200. <!-- <el-table-column label="任务号" align="center" prop="standby3" />-->
  201. <el-table-column label="领料车间" align="center" prop="workshop" />
  202. <el-table-column label="领料人" align="center" prop="recipient" />
  203. <el-table-column label="领料时间" align="center" prop="collectTime" />
  204. <el-table-column label="确认人" align="center" prop="confirm" />
  205. <el-table-column label="确认时间" align="center" prop="confirmTime" />
  206. <el-table-column
  207. label="操作"
  208. align="center"
  209. class-name="small-padding fixed-width"
  210. >
  211. <template slot-scope="scope">
  212. <el-dropdown>
  213. <el-button type="warning" plain size="small">
  214. 操作<i class="el-icon-arrow-down el-icon--right"></i>
  215. </el-button>
  216. <el-dropdown-menu slot="dropdown">
  217. <el-dropdown-item>
  218. <el-button
  219. size="mini"
  220. type="text"
  221. icon="el-icon-edit"
  222. @click="handleUpdate(scope.row)"
  223. >修改</el-button>
  224. </el-dropdown-item>
  225. <el-dropdown-item>
  226. <el-button
  227. size="mini"
  228. type="text"
  229. icon="el-icon-delete"
  230. @click="handleDelete(scope.row)"
  231. >删除</el-button>
  232. </el-dropdown-item>
  233. <el-dropdown-item>
  234. <el-button
  235. size="mini"
  236. type="text"
  237. icon="el-icon-printer"
  238. @click="handlePrint(scope.row)"
  239. >打印</el-button>
  240. </el-dropdown-item>
  241. </el-dropdown-menu>
  242. </el-dropdown>
  243. </template>
  244. </el-table-column>
  245. </el-table>
  246. <pagination
  247. v-show="total>0"
  248. :total="total"
  249. :page.sync="queryParams.pageNum"
  250. :limit.sync="queryParams.pageSize"
  251. @pagination="getList"
  252. />
  253. <!-- 添加或修改线边舱库存对话框 -->
  254. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  255. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  256. <el-form-item label="产品:" prop="productNo">
  257. <!-- <el-input v-model="form.productNo" placeholder="请输入产品编号" />-->
  258. <span>{{form.productName}}--{{form.productSpecifications}}</span>
  259. </el-form-item>
  260. <el-form-item label="色泽:" prop="colours">
  261. <!-- <el-input v-model="form.colours" placeholder="请输入色泽" />-->
  262. <span>{{form.colours}}</span>
  263. </el-form-item>
  264. <el-form-item label="批号" prop="batchNumber">
  265. <!-- <el-input v-model="form.batchNumber" placeholder="请输入批号" />-->
  266. <span>{{form.batchNumber}}</span>
  267. </el-form-item>
  268. <el-form-item label="机台" prop="machineTool">
  269. <!-- <el-input v-model="form.machineTool" placeholder="请输入机台" />-->
  270. <span>{{form.machineTool}}</span>
  271. </el-form-item>
  272. <el-form-item label="卷数" prop="js">
  273. <!-- <el-input v-model="form.js" placeholder="请输入卷数" />-->
  274. <span>{{form.js}}</span>
  275. </el-form-item>
  276. <el-form-item label="毛重" prop="standby">
  277. <!-- <el-input v-model="form.standby" placeholder="请输入毛重" />-->
  278. <span>{{form.standby}}</span>
  279. </el-form-item>
  280. <el-form-item label="皮重" prop="standby1">
  281. <!-- <el-input v-model="form.standby1" placeholder="请输入皮重" />-->
  282. <span>{{form.standby1}}</span>
  283. </el-form-item>
  284. <el-form-item label="净重" prop="standby2">
  285. <!-- <el-input v-model="form.standby2" placeholder="请输入净重" />-->
  286. <span>{{form.standby2}}</span>
  287. </el-form-item>
  288. <el-form-item label="丝车" prop="scid">
  289. <!-- <el-input v-model="form.standby2" placeholder="请输入净重" />-->
  290. <span>{{form.scid}}</span>
  291. </el-form-item>
  292. <el-form-item label="领料车间" prop="workshop">
  293. <el-select v-model="form.workshop" placeholder="请选择领料车间">
  294. <el-option label="纺丝车间" value="纺丝车间"/>
  295. <el-option label="加弹南车间" value="加弹南车间"/>
  296. <el-option label="加弹北车间" value="加弹北车间"/>
  297. <el-option label="调丝车间" value="调丝车间"/>
  298. </el-select>
  299. </el-form-item>
  300. <!-- <el-form-item label="领料人" prop="recipient">-->
  301. <!-- <el-input v-model="form.recipient" placeholder="请输入领料人" />-->
  302. <!-- </el-form-item>-->
  303. <!-- <el-form-item label="领料时间" prop="collectTime">-->
  304. <!-- <el-input v-model="form.collectTime" placeholder="请输入领料时间" />-->
  305. <!-- </el-form-item>-->
  306. <!-- <el-form-item label="确认人" prop="confirm">-->
  307. <!-- <el-input v-model="form.confirm" placeholder="请输入确认人" />-->
  308. <!-- </el-form-item>-->
  309. <!-- <el-form-item label="确认时间" prop="confirmTime">-->
  310. <!-- <el-input v-model="form.confirmTime" placeholder="请输入确认时间" />-->
  311. <!-- </el-form-item>-->
  312. </el-form>
  313. <div slot="footer" class="dialog-footer">
  314. <el-button type="primary" @click="submitForm">确 定</el-button>
  315. <el-button @click="cancel">取 消</el-button>
  316. </div>
  317. </el-dialog>
  318. <!-- 确认领料对话框 -->
  319. <el-dialog :title="title" :visible.sync="opens" width="500px" append-to-body>
  320. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  321. <el-form-item label="产品:" prop="productNo">
  322. <!-- <el-input v-model="form.productNo" placeholder="请输入产品编号" />-->
  323. <span>{{form.productName}}--{{form.productSpecifications}}</span>
  324. </el-form-item>
  325. <el-form-item label="色泽:" prop="colours">
  326. <!-- <el-input v-model="form.colours" placeholder="请输入色泽" />-->
  327. <span>{{form.colours}}</span>
  328. </el-form-item>
  329. <el-form-item label="批号" prop="batchNumber">
  330. <!-- <el-input v-model="form.batchNumber" placeholder="请输入批号" />-->
  331. <span>{{form.batchNumber}}</span>
  332. </el-form-item>
  333. <el-form-item label="机台" prop="machineTool">
  334. <!-- <el-input v-model="form.machineTool" placeholder="请输入机台" />-->
  335. <span>{{form.machineTool}}</span>
  336. </el-form-item>
  337. <el-form-item label="卷数" prop="js">
  338. <!-- <el-input v-model="form.js" placeholder="请输入卷数" />-->
  339. <span>{{form.js}}</span>
  340. </el-form-item>
  341. <el-form-item label="毛重" prop="standby">
  342. <!-- <el-input v-model="form.standby" placeholder="请输入毛重" />-->
  343. <span>{{form.standby}}</span>
  344. </el-form-item>
  345. <el-form-item label="皮重" prop="standby1">
  346. <!-- <el-input v-model="form.standby1" placeholder="请输入皮重" />-->
  347. <span>{{form.standby1}}</span>
  348. </el-form-item>
  349. <el-form-item label="净重" prop="standby2">
  350. <!-- <el-input v-model="form.standby2" placeholder="请输入净重" />-->
  351. <span>{{form.standby2}}</span>
  352. </el-form-item>
  353. <el-form-item label="丝车" prop="scid">
  354. <!-- <el-input v-model="form.standby2" placeholder="请输入净重" />-->
  355. <span>{{form.scid}}</span>
  356. </el-form-item>
  357. <el-form-item label="领料车间" prop="workshop">
  358. <span>{{form.workshop}}</span>
  359. </el-form-item>
  360. <!-- <el-form-item label="领料人" prop="recipient">-->
  361. <!-- <el-input v-model="form.recipient" placeholder="请输入领料人" />-->
  362. <!-- </el-form-item>-->
  363. <!-- <el-form-item label="领料时间" prop="collectTime">-->
  364. <!-- <el-input v-model="form.collectTime" placeholder="请输入领料时间" />-->
  365. <!-- </el-form-item>-->
  366. <el-form-item label="确认出库" prop="status">
  367. <label>
  368. <input type="radio" value="3" >
  369. </label>
  370. </el-form-item>
  371. <!-- <el-form-item label="确认时间" prop="confirmTime">-->
  372. <!-- <el-input v-model="form.confirmTime" placeholder="请输入确认时间" />-->
  373. <!-- </el-form-item>-->
  374. </el-form>
  375. <div slot="footer" class="dialog-footer">
  376. <el-button type="primary" @click="submitFormqr">确 定</el-button>
  377. <el-button @click="cancels">取 消</el-button>
  378. </div>
  379. </el-dialog>
  380. <el-dialog :title="title" :visible.sync="prinopens" width="800px" height="500px" append-to-body>
  381. <div class="print-preview" id="printSection">
  382. <div class="label-container">
  383. <div class="title">物料流转单</div>
  384. <div class="content">
  385. <div class="info-item">
  386. <span class="label">丝车号</span>
  387. <span class="value">{{form.scid}}</span>
  388. </div>
  389. <div class="info-item">
  390. <span class="label">机台号:</span>
  391. <span class="value">{{form.machineTool}}</span>
  392. </div>
  393. <div class="info-item">
  394. <span class="label">产品信息:</span>
  395. <span class="value">{{form.productName}} - {{form.productSpecifications}}</span>
  396. </div>
  397. <div class="info-item">
  398. <span class="label">色泽:</span>
  399. <span class="value">{{form.colours}}</span>
  400. </div>
  401. <div class="info-item">
  402. <span class="label">批号:</span>
  403. <span class="value">{{form.batchNumber}}</span>
  404. </div>
  405. <div class="info-item">
  406. <span class="label">卷数:</span>
  407. <span class="value">{{form.js}}</span>
  408. </div>
  409. <div class="info-item">
  410. <span class="label">净重:</span>
  411. <span class="value">{{form.standby2}} KG</span>
  412. </div>
  413. <div class="info-item">
  414. <span class="label">领料车间:</span>
  415. <span class="value">{{form.workshop}}</span>
  416. </div>
  417. <div class="info-item">
  418. <span class="label">送达人:</span>
  419. <span class="value-line"></span>
  420. </div>
  421. <div class="info-item">
  422. <span class="label">接收人:</span>
  423. <span class="value-line"></span>
  424. </div>
  425. <div class="info-item">
  426. <span class="label">日期:</span>
  427. <span class="value-line"></span>
  428. <span class="shift">(日班/夜班)</span>
  429. </div>
  430. </div>
  431. </div>
  432. </div>
  433. <div slot="footer" class="dialog-footer">
  434. <el-button type="primary" v-print="printViewInfo">打 印</el-button>
  435. <el-button @click="cancelprint">取 消</el-button>
  436. </div>
  437. </el-dialog>
  438. </div>
  439. </template>
  440. <script>
  441. import { listLineSideCabin, getLineSideCabin, delLineSideCabin, addLineSideCabin, updateLineSideCabin } from "@/api/lineSideCabin/lineSideCabin";
  442. export default {
  443. name: "LineSideCabin",
  444. data() {
  445. return {
  446. abc:false,
  447. // 遮罩层
  448. loading: true,
  449. // 选中数组
  450. ids: [],
  451. // 非单个禁用
  452. single: true,
  453. // 非多个禁用
  454. multiple: true,
  455. // 显示搜索条件
  456. showSearch: true,
  457. // 总条数
  458. total: 0,
  459. // 线边舱库存表格数据
  460. lineSideCabinList: [],
  461. // 弹出层标题
  462. title: "",
  463. // 是否显示弹出层
  464. open: false,//领料
  465. opens:false,//确认领料
  466. prinopens:false,//打印详情
  467. // 查询参数
  468. queryParams: {
  469. pageNum: 1,
  470. pageSize: 10,
  471. productNo: null,
  472. productName: null,
  473. productSpecifications: null,
  474. productType: null,
  475. batchNumber: null,
  476. colours: null,
  477. machineTool: null,
  478. js: null,
  479. status: null,
  480. standby: null,
  481. standby1: null,
  482. standby2: null,
  483. standby3: null,
  484. workshop: null,
  485. recipient: null,
  486. collectTime: null,
  487. confirm: null,
  488. confirmTime: null,
  489. scid:null,
  490. createTime:null,
  491. createBy:null
  492. },
  493. // 表单参数
  494. form: {},
  495. // 表单校验
  496. rules: {
  497. },
  498. msg: "打印",
  499. printViewInfo: {
  500. id: "printSection", //打印区域的唯一的id属性
  501. // popTitle: '配置页眉标题', // 页眉文字 (不设置时显示undifined)(页眉页脚可以在打印页面的更多设置的选项中取消勾选)
  502. // extraHead: '打印,印刷', // 最左上方的头部文字,附加在head标签上的额外标签,使用逗号分割
  503. preview: false, // 是否启动预览模式,默认是false (开启预览模式ture会占满整个屏幕,不建议开启,除非业务需要)
  504. // previewTitle: '预览的标题', // 打印预览的标题(预览模式preview为true时才显示)
  505. // previewPrintBtnLabel: '预览结束,开始打印', // 打印预览的标题下方的按钮文本,点击可进入打印(预览模式preview为true时才显示)
  506. zIndex: 20002, // 预览窗口的z-index,默认是20002,最好比默认值更高
  507. previewBeforeOpenCallback (that) { console.log('正在加载预览窗口!'); console.log(that.msg, this)
  508. }, // 预览窗口打开之前的callback (预览模式preview为true时才执行) (that可以取到data里的变量值)
  509. previewOpenCallback () { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback (预览模式preview为true时才执行)
  510. beforeOpenCallback () { console.log('开始打印之前!') }, // 开始打印之前的callback
  511. openCallback () { console.log('执行打印了!')
  512. }, // 调用打印时的callback
  513. closeCallback () { console.log('关闭了打印工具!') ;}, // 关闭打印的callback(无法区分确认or取消)
  514. clickMounted () { console.log('点击v-print绑定的按钮了!')},
  515. // url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同
  516. // asyncUrl (reslove) {
  517. // setTimeout(() => {
  518. // reslove('http://localhost:8080/')
  519. // }, 2000)
  520. // },
  521. standard: '',
  522. extarCss: '',
  523. isDataLoaded: false,
  524. }
  525. };
  526. },
  527. created() {
  528. this.getList();
  529. },
  530. methods: {
  531. /** 查询线边舱库存列表 */
  532. getList() {
  533. this.loading = true;
  534. listLineSideCabin(this.queryParams).then(response => {
  535. this.lineSideCabinList = response.rows;
  536. this.total = response.total;
  537. this.loading = false;
  538. });
  539. },
  540. // 取消按钮
  541. cancel() {
  542. this.open = false;
  543. this.opens = false;
  544. this.reset();
  545. },
  546. // 取消按钮
  547. cancels() {
  548. this.opens = false;
  549. this.reset();
  550. },
  551. // 取消按钮
  552. cancelprint() {
  553. this.prinopens = false;
  554. this.reset();
  555. },
  556. // 表单重置
  557. reset() {
  558. this.form = {
  559. id: null,
  560. productNo: null,
  561. productName: null,
  562. productSpecifications: null,
  563. productType: null,
  564. batchNumber: null,
  565. colours: null,
  566. machineTool: null,
  567. js: null,
  568. status: null,
  569. standby: null,
  570. standby1: null,
  571. standby2: null,
  572. standby3: null,
  573. workshop: null,
  574. recipient: null,
  575. collectTime: null,
  576. confirm: null,
  577. confirmTime: null,
  578. scid:null,
  579. createTime:null,
  580. createBy:null
  581. };
  582. this.resetForm("form");
  583. },
  584. /** 搜索按钮操作 */
  585. handleQuery() {
  586. this.queryParams.pageNum = 1;
  587. this.getList();
  588. },
  589. /** 重置按钮操作 */
  590. resetQuery() {
  591. this.resetForm("queryForm");
  592. this.handleQuery();
  593. },
  594. // 多选框选中数据
  595. handleSelectionChange(selection) {
  596. this.ids = selection.map(item => item.id)
  597. this.single = selection.length!==1
  598. this.multiple = !selection.length
  599. },
  600. /** 新增按钮操作 */
  601. handleAdd() {
  602. this.reset();
  603. this.open = true;
  604. this.title = "添加线边舱库存";
  605. },
  606. /** 修改按钮操作 */
  607. handleUpdate(row) {
  608. this.reset();
  609. const id = row.id || this.ids
  610. getLineSideCabin(id).then(response => {
  611. this.form = response.data;
  612. this.open = true;
  613. this.form.status=2;//领料状态
  614. this.title = "领料出库登记";
  615. });
  616. },
  617. //出库确认弹窗
  618. handleUpdateConfirm(row) {
  619. this.reset();
  620. const id = row.id || this.ids
  621. getLineSideCabin(id).then(response => {
  622. this.form = response.data;
  623. this.opens = true;
  624. this.title = "领料出库登记";
  625. });
  626. },
  627. /** 打印流转单 */
  628. handleUpdateConfirmPrint(row) {
  629. this.reset();
  630. const id = row.id || this.ids
  631. getLineSideCabin(id).then(response => {
  632. this.form = response.data;
  633. this.prinopens = true;
  634. this.title = "物料流转转打印";
  635. });
  636. },
  637. /** 确认出库提交按钮 */
  638. submitFormqr() {
  639. this.$refs["form"].validate(valid => {
  640. this.form.status=3;
  641. if (valid) {
  642. if (this.form.id != null) {
  643. updateLineSideCabin(this.form).then(response => {
  644. this.$modal.msgSuccess("提交成功");
  645. this.open = false;
  646. this.getList();
  647. this.cancels();
  648. });
  649. } else {
  650. addLineSideCabin(this.form).then(response => {
  651. this.$modal.msgSuccess("新增成功");
  652. this.open = false;
  653. this.getList();
  654. });
  655. }
  656. }
  657. });
  658. },
  659. /** 提交按钮 */
  660. submitForm() {
  661. this.$refs["form"].validate(valid => {
  662. if (valid) {
  663. if (this.form.id != null) {
  664. updateLineSideCabin(this.form).then(response => {
  665. this.$modal.msgSuccess("领取成功");
  666. this.open = false;
  667. this.getList();
  668. });
  669. } else {
  670. addLineSideCabin(this.form).then(response => {
  671. this.$modal.msgSuccess("新增成功");
  672. this.open = false;
  673. this.getList();
  674. });
  675. }
  676. }
  677. });
  678. },
  679. /** 删除按钮操作 */
  680. handleDelete(row) {
  681. const ids = row.id || this.ids;
  682. this.$modal.confirm('是否确认删除线边舱库存编号为"' + ids + '"的数据项?').then(function() {
  683. return delLineSideCabin(ids);
  684. }).then(() => {
  685. this.getList();
  686. this.$modal.msgSuccess("删除成功");
  687. }).catch(() => {});
  688. },
  689. /** 导出按钮操作 */
  690. handleExport() {
  691. this.download('lineSideCabin/lineSideCabin/export', {
  692. ...this.queryParams
  693. }, `lineSideCabin_${new Date().getTime()}.xlsx`)
  694. },
  695. /** 打印按钮操作 */
  696. handlePrint(row) {
  697. this.reset();
  698. const id = row.id || this.ids
  699. getLineSideCabin(id).then(response => {
  700. this.form = response.data;
  701. this.prinopens = true;
  702. this.title = "物料流转转打印";
  703. });
  704. }
  705. }
  706. };
  707. </script>
  708. <style lang="scss" scoped>
  709. .print-preview {
  710. background: #fff;
  711. padding: 20px;
  712. .label-container {
  713. width: 100%;
  714. min-height: 280mm;
  715. border: 2px solid #000;
  716. padding: 15mm;
  717. box-sizing: border-box;
  718. .title {
  719. font-size: 22px;
  720. font-weight: bold;
  721. text-align: center;
  722. margin-bottom: 15mm;
  723. padding-bottom: 8px;
  724. border-bottom: 2px solid #000;
  725. }
  726. .content {
  727. padding: 0 10mm;
  728. .info-item {
  729. margin-bottom: 12mm;
  730. display: flex;
  731. align-items: center;
  732. min-height: 25px;
  733. .label {
  734. min-width: 85px;
  735. font-weight: bold;
  736. }
  737. .value {
  738. flex: 1;
  739. font-size: 16px;
  740. }
  741. .value-line {
  742. flex: 1;
  743. border-bottom: 1px solid #000;
  744. height: 20px;
  745. margin-right: 10px;
  746. }
  747. .shift {
  748. margin-left: 10px;
  749. font-size: 14px;
  750. }
  751. }
  752. }
  753. }
  754. }
  755. @media print {
  756. .print-preview {
  757. width: 210mm;
  758. height: 297mm;
  759. padding: 0;
  760. margin: 0 auto;
  761. .label-container {
  762. width: 100%;
  763. height: 100%;
  764. border: 2px solid #000;
  765. padding: 20mm;
  766. .title {
  767. font-size: 24px;
  768. margin-bottom: 20mm;
  769. }
  770. .content {
  771. padding: 0 15mm;
  772. .info-item {
  773. margin-bottom: 15mm;
  774. font-size: 16px;
  775. .label {
  776. min-width: 90px;
  777. }
  778. .value {
  779. font-size: 16px;
  780. }
  781. .value-line {
  782. height: 25px;
  783. }
  784. }
  785. }
  786. }
  787. }
  788. @page {
  789. size: A4;
  790. margin: 0;
  791. }
  792. }
  793. </style>