index.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305
  1. <template>
  2. <div>
  3. <div v-if="pageDisplay" class="app-container">
  4. <formComponent
  5. v-if="searchWhether"
  6. :formOption="formOption"
  7. :dataList="dataList"
  8. :inDex="inDex"
  9. ref="avatar"
  10. @submitForm="submitForm"
  11. @returnToForm="returnToForm"
  12. />
  13. <listComponent
  14. :tableData="tableData"
  15. @selectionbox="selectionbox"
  16. @see="viewMethod"
  17. @modify="modification"
  18. @deletion="deletion"
  19. @buttonList="buttonList"
  20. @showSearch="showSearch"
  21. @feedback="feedback"
  22. @getList="getList"
  23. :isItHidden="isItHidden"
  24. :customButton="customButton"
  25. :listStyle="listStyle"
  26. :queryList="queryList"
  27. :setRowList="setRowList"
  28. />
  29. <el-pagination
  30. style="float: right;margin-top: 10px"
  31. @size-change="handleSizeChange"
  32. @current-change="handleCurrentChange"
  33. :page-sizes="[10, 20, 30, 50]"
  34. :page-size="this.formDataList.pageSize"
  35. background
  36. layout="sizes, prev, pager, next"
  37. :total="total">
  38. </el-pagination>
  39. </div>
  40. <div v-else class="app-container">
  41. <formComponent
  42. v-if="searchWhether"
  43. :formOption="contentOption"
  44. :dataList="dataList"
  45. :inDex="inDex"
  46. ref="avatar"
  47. @writeOff="writeOff"
  48. @submitForm="submitForm"
  49. @returnToForm="returnToForm"
  50. @submitAndSave="submitAndSave"
  51. @selectTrigger="selectTrigger"
  52. />
  53. <listComponent
  54. ref="listComponent"
  55. :tableData="contentList"
  56. @selectionbox="selectionbox"
  57. @see="viewMethod"
  58. @modify="modification"
  59. @deletion="deletion"
  60. @buttonList="buttonList"
  61. @showSearch="showSearch"
  62. @feedback="feedback"
  63. @getList="getList"
  64. @deletRows="deletRows"
  65. @totalAmount="totalAmount"
  66. @change="change"
  67. :tatolLabel="tatolLabel"
  68. :isItHidden="isItHidden"
  69. :customButton="contentButton"
  70. :listStyle="contentStyle"
  71. :queryList="purchaseList"
  72. :setRowList="setRowList"
  73. :listData="listData"
  74. />
  75. </div>
  76. <add-or-update
  77. v-if="addOrUpdateVisible"
  78. ref="addOrUpdate"
  79. @refreshDataList="getDataList"
  80. ></add-or-update>
  81. <approval-comments
  82. v-if="addOrUpdateVisib"
  83. ref="ApprovalComments"
  84. @refreshDataList="returnData"
  85. ></approval-comments>
  86. <el-dialog
  87. title="打印采购"
  88. :visible.sync="dialogVisible"
  89. :fullscreen="true"
  90. style="padding: 0;margin:0"
  91. width="70%">
  92. <div ref="print">
  93. <table class="table table-striped table-bordered" align="center" valign="center">
  94. <tr>
  95. <td style="font-size: 24px;font-weight:bold" class="column" colspan="6">采购表</td>
  96. </tr>
  97. <tr>
  98. <td class="column" style="width: 10%;">项目</td>
  99. <td class="column" style="width: 25%;">{{formList.projectName}}</td>
  100. <td class="column" style="width: 10%;">供应商</td>
  101. <td class="column" style="width: 25%;">{{ formList.corpName }}</td>
  102. <td class="column" style="width: 25%;" colspan="2">日期:{{formList.fBsdate}}</td>
  103. </tr>
  104. </table>
  105. <table class="table table-striped table-bordered" align="center" valign="center">
  106. <tr>
  107. <td class="column" style="width: 15%;border-top: none;">品名</td>
  108. <td class="column" style="width: 15%;border-top: none;">单价</td>
  109. <td class="column" style="width: 15%;border-top: none;">采购计划(斤)</td>
  110. <td class="column" style="width: 15%;border-top: none;">实际重量(斤)</td>
  111. <td class="column" style="width: 15%;border-top: none;">金额</td>
  112. <td class="column" style="width: 20%;border-top: none;">备注</td>
  113. </tr>
  114. <tr v-for="(item,index) in this.contentList" :key="index">
  115. <td class="column">{{item.feeName}}</td>
  116. <td class="column">{{item.fUnitprice}}</td>
  117. <td class="column">{{item.fPurchase}}</td>
  118. <td class="column">{{item.fQty}}</td>
  119. <td class="column">{{item.fAmount}}</td>
  120. <td class="column">{{item.remark}}</td>
  121. </tr>
  122. </table>
  123. <table class="table table-striped table-bordered" align="center" valign="center">
  124. <tr>
  125. <td colspan="6" style="border-top: none;" class="column"></td>
  126. </tr>
  127. <tr>
  128. <td class="column" style="width: 25%;">采购人签字</td>
  129. <td class="column" style="width: 25%;">厨房主管签字</td>
  130. <td class="column" style="width: 25%;">验收人签字</td>
  131. <td class="column" style="width: 25%;">主管签字</td>
  132. </tr>
  133. <tr>
  134. <td class="column" style="width: 25%;height: 37px;"></td>
  135. <td class="column" style="width: 25%;"></td>
  136. <td class="column" style="width: 25%;"></td>
  137. <td class="column" style="width: 25%;"></td>
  138. </tr>
  139. <tr>
  140. <td colspan="4" style="border-top: none;font-weight:bold;text-align: right;padding-right: 10%;font-size: 16px;" class="column">{{ formList.fsbuName }}</td>
  141. </tr>
  142. </table>
  143. </div>
  144. <span slot="footer" class="dialog-footer">
  145. <el-button @click="dialogVisible = false">取 消</el-button>
  146. <el-button type="primary" @click="Printing">打印</el-button>
  147. </span>
  148. </el-dialog>
  149. </div>
  150. </template>
  151. <script>
  152. import { select } from '@/api/system/set'
  153. import {
  154. listQuery,
  155. submit,
  156. viewSingle,
  157. deleteQuery,
  158. productName,
  159. queryItem,
  160. company,
  161. warehouse,
  162. listDelete,
  163. tableDeleteQuery,
  164. confirmDeletion,
  165. pleaseCheck,
  166. copyNew
  167. } from '@/api/purchaseRequest/index'
  168. import Cookies from 'js-cookie'
  169. export default {
  170. name: 'index',
  171. data() {
  172. return {
  173. addOrUpdateVisible: false,
  174. addOrUpdateVisib: false,
  175. total:0,
  176. selection:[],
  177. formDataList:{
  178. fBilltype: 'SQ',
  179. pageSize:10,
  180. pageNum:1,
  181. },
  182. formList:{},
  183. tatolLabel:['金额'],
  184. dialogVisible: false,
  185. listData: {
  186. fFeeid: [],
  187. fFeeunitid: [],
  188. fStltypeid: []
  189. },
  190. setTimeout:'',
  191. searchWhether: true,
  192. pageDisplay: true,
  193. dataList: {
  194. fGoodsid: [],
  195. fSbu: [],
  196. fWarehouseid: [],
  197. fCorpid: []
  198. },
  199. contentList: [],
  200. inDex: 4,
  201. tableData: [],
  202. tableList: [],
  203. isItHidden: true,
  204. listStyle: [
  205. {
  206. surface: '1',
  207. label: 'serialNumber',
  208. name: '序号',
  209. checked: 0,
  210. width: 100,
  211. onabort: ''
  212. }, {
  213. surface: '2',
  214. label: 'fBillno',
  215. name: '申请编号',
  216. checked: 0,
  217. width: 100,
  218. onabort: ''
  219. }, {
  220. surface: '3',
  221. label: 'projectName',
  222. name: '项目名称',
  223. checked: 0,
  224. width: 100,
  225. onabort: ''
  226. }, {
  227. surface: '4',
  228. label: 'corpName',
  229. name: '客户名称',
  230. checked: 0,
  231. width: 100,
  232. onabort: ''
  233. }, {
  234. surface: '5',
  235. label: 'fMoney',
  236. name: '金额',
  237. checked: 0,
  238. width: 100,
  239. onabort: ''
  240. }, {
  241. surface: '6',
  242. label: 'createTime',
  243. name: '申请日期',
  244. checked: 0,
  245. width: 100,
  246. onabort: ''
  247. },{
  248. surface: '7',
  249. label: 'createBy',
  250. name: '申请人',
  251. checked: 0,
  252. width: 100,
  253. onabort: ''
  254. }, {
  255. surface: '8',
  256. label: 'fReviewDate',
  257. name: '审核日期',
  258. checked: 0,
  259. width: 100,
  260. onabort: ''
  261. },{
  262. surface: '9',
  263. label: 'remark',
  264. name: '备注',
  265. checked: 0,
  266. width: 100,
  267. onabort: ''
  268. },{
  269. surface: '10',
  270. label: 'fBillstatusName',
  271. name: '状态',
  272. checked: 0,
  273. width: 100,
  274. onabort: ''
  275. },{
  276. surface: '11',
  277. label: 'operation',
  278. name: '操作',
  279. checked: 0,
  280. width: 160,
  281. operation: '1',
  282. onabort: ''
  283. }
  284. ],
  285. contentStyle: [
  286. {
  287. surface: '1',
  288. label: 'serialNumber',
  289. name: '序号',
  290. checked: 0,
  291. width: 100,
  292. disabled: false,
  293. onabort: ''
  294. }, {
  295. surface: '2',
  296. label: 'fFeeid',
  297. name: '品名',
  298. checked: 0,
  299. width: 100,
  300. onabort: '',
  301. disabled: false,
  302. changeable: 1
  303. }, {
  304. surface: '3',
  305. label: 'fUnitprice',
  306. name: '单价',
  307. checked: 0,
  308. width: 100,
  309. disabled: false,
  310. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  311. changeable: 2
  312. }, {
  313. surface: '4',
  314. label: 'fPurchase',
  315. name: '采购数量',
  316. checked: 0,
  317. width: 100,
  318. onabort: '',
  319. disabled: false,
  320. changeable: 2
  321. }, {
  322. surface: '5',
  323. label: 'fQty',
  324. name: '实际数量',
  325. checked: 0,
  326. width: 100,
  327. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  328. disabled: false,
  329. changeable: 2
  330. }, {
  331. surface: '6',
  332. label: 'fFeeunitid',
  333. name: '计量单位',
  334. checked: 0,
  335. width: 100,
  336. onabort: '',
  337. disabled: false,
  338. changeable: 1
  339. }, {
  340. surface: '7',
  341. label: 'fAmount',
  342. name: '金额',
  343. checked: 0,
  344. width: 100,
  345. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  346. disabled: false,
  347. changeable: 2
  348. }, {
  349. surface: '8',
  350. label: 'fStltypeid',
  351. name: '付费方式',
  352. checked: 0,
  353. width: 100,
  354. onabort: '',
  355. disabled: false,
  356. changeable: 1
  357. }, {
  358. surface: '9',
  359. label: 'remark',
  360. name: '备注',
  361. checked: 0,
  362. width: 100,
  363. onabort: '',
  364. disabled: false,
  365. changeable: 2
  366. }, {
  367. surface: '10',
  368. label: 'createTime',
  369. name: '申请日期',
  370. checked: 0,
  371. disabled: false,
  372. width: 100,
  373. onabort: ''
  374. }, {
  375. surface: '11',
  376. label: 'createBy',
  377. name: '申请人',
  378. disabled: false,
  379. checked: 0,
  380. width: 100,
  381. onabort: ''
  382. }, {
  383. surface: '12',
  384. label: 'fReviewDate',
  385. name: '审核日期',
  386. checked: 0,
  387. disabled: false,
  388. width: 100,
  389. onabort: ''
  390. }, {
  391. surface: '13',
  392. label: 'operation',
  393. name: '操作',
  394. checked: 0,
  395. disabled: false,
  396. width: 160,
  397. operation: '2',
  398. onabort: ''
  399. }
  400. ],
  401. queryList: {
  402. tableName: '采购申请',
  403. columnList: []
  404. },
  405. purchaseList: {
  406. tableName: '采购申请详情',
  407. columnList: []
  408. },
  409. setRowList: [],
  410. customButton: [
  411. {
  412. type: 'primary',
  413. size: 'mini',
  414. icon: 'el-icon-edit',
  415. name: '新增',
  416. disabled: false
  417. },
  418. // {
  419. // type:'warning',
  420. // size:'mini',
  421. // icon:'el-icon-edit',
  422. // name:'立即修改',
  423. // disabled:false,
  424. // },
  425. {
  426. type: 'warning',
  427. size: 'mini',
  428. icon: 'el-icon-upload2',
  429. name: '导出',
  430. disabled: false
  431. }, {
  432. type: 'success',
  433. size: 'mini',
  434. icon: 'el-icon-c-scale-to-original',
  435. name: '复制新增',
  436. disabled: false
  437. }
  438. ],
  439. contentButton: [
  440. {
  441. type: 'danger',
  442. size: 'mini',
  443. icon: 'el-icon-arrow-left',
  444. name: '返回列表',
  445. disabled: false
  446. }, {
  447. type: 'primary',
  448. size: 'mini',
  449. icon: 'el-icon-plus',
  450. name: '录入',
  451. disabled: false
  452. }, {
  453. type: 'primary',
  454. size: 'mini',
  455. icon: 'el-icon-plus',
  456. name: '保存',
  457. plain: true,
  458. disabled: false
  459. }, {
  460. type: 'success',
  461. size: 'mini',
  462. icon: 'el-icon-edit',
  463. name: '修改',
  464. disabled: false
  465. }, {
  466. type: 'warning',
  467. size: 'mini',
  468. icon: 'el-icon-download',
  469. name: '导出',
  470. disabled: false
  471. },{
  472. type: 'info',
  473. size: 'mini',
  474. icon: 'el-icon-edit-outline',
  475. name: '打印',
  476. disabled: false
  477. },{
  478. type: 'primary',
  479. size: 'mini',
  480. icon: 'el-icon-edit-outline',
  481. name: '请核',
  482. disabled: false
  483. },{
  484. type: 'primary',
  485. size: 'mini',
  486. icon: 'el-icon-edit-outline',
  487. name: '查看审批',
  488. disabled: false
  489. },{
  490. type: 'info',
  491. size: 'mini',
  492. icon: 'el-icon-edit-outline',
  493. name: '生成入库单',
  494. disabled: false
  495. },{
  496. type: 'info',
  497. size: 'mini',
  498. icon: 'el-icon-edit-outline',
  499. name: '生成销售单',
  500. disabled: false
  501. }
  502. ],
  503. formOption: [
  504. {
  505. span: 6,
  506. label: 'fBillno',
  507. name: '申请编号',
  508. inputType: 2,
  509. width: 200,
  510. labelSize: '80',
  511. rules: [{ required: false, message: ' ' }]
  512. }, {
  513. span: 6,
  514. label: 'fGoodsid',
  515. name: '项目名称',
  516. inputType: 1,
  517. width: 200,
  518. labelSize: '80',
  519. rules: [{ required: false, message: ' ' }]
  520. }, {
  521. span: 6,
  522. label: 'fCorpid',
  523. name: '供应商',
  524. inputType: 2,
  525. width: 200,
  526. labelSize: '80',
  527. rules: [{ required: false, message: ' ' }]
  528. }, {
  529. span: 6,
  530. label: 'createBy',
  531. name: '申请人',
  532. inputType: 2,
  533. width: 200,
  534. labelSize: '80',
  535. rules: [{ required: false, message: ' ' }]
  536. }, {
  537. span: 6,
  538. label: 'moneys',
  539. name: '金额',
  540. inputType: 5,
  541. width: 200,
  542. labelSize: '80',
  543. rules: [{ required: false, message: ' ' }]
  544. }, {
  545. span: 6,
  546. label: 'cLoadDate',
  547. name: '申请日期',
  548. inputType: 3,
  549. width: 200,
  550. labelSize: '80',
  551. rules: [{ required: false, message: ' ' }]
  552. }
  553. ],
  554. contentOption: [
  555. {
  556. index:'1',
  557. span: 6,
  558. label: 'fBillno',
  559. name: '系统编号',
  560. inputType: 2,
  561. width: 200,
  562. labelSize: '80',
  563. disabled: true,
  564. rules: [{ required: false, message: ' ' }]
  565. }, {
  566. index:'2',
  567. span: 6,
  568. label: 'fGoodsid',
  569. name: '项目名称',
  570. inputType: 1,
  571. width: 200,
  572. labelSize: '80',
  573. disabled: true,
  574. rules: [{ required: true, message: ' ' }]
  575. }, {
  576. index:'3',
  577. span: 6,
  578. label: 'personNaem',
  579. name: '项目主管',
  580. inputType: 2,
  581. width: 200,
  582. labelSize: '80',
  583. disabled: true,
  584. rules: [{ required: false, message: ' ' }]
  585. }, {
  586. index:'4',
  587. span: 6,
  588. label: 'corpsName',
  589. name: '客户',
  590. inputType: 2,
  591. width: 200,
  592. labelSize: '80',
  593. disabled: true,
  594. rules: [{ required: false, message: ' ' }]
  595. }, {
  596. index:'5',
  597. span: 6,
  598. label: 'fCorpid',
  599. name: '供应商',
  600. inputType: 1,
  601. width: 200,
  602. labelSize: '80',
  603. disabled: true,
  604. rules: [{ required: true, message: ' ' }]
  605. }, {
  606. index:'6',
  607. span: 6,
  608. label: 'fWarehouseid',
  609. name: '仓库',
  610. inputType: 1,
  611. width: 200,
  612. disabled: true,
  613. labelSize: '80',
  614. rules: [{ required: true, message: ' ' }]
  615. }, {
  616. index:'7',
  617. span: 6,
  618. label: 'fBsdate',
  619. name: '提货日期',
  620. inputType: 6,
  621. width: 200,
  622. disabled: true,
  623. labelSize: '80',
  624. rules: [{ required: true, message: ' ' }]
  625. }, {
  626. index:'8',
  627. span: 6,
  628. label: 'createBy',
  629. name: '申请人',
  630. inputType: 2,
  631. width: 200,
  632. disabled: true,
  633. labelSize: '80',
  634. rules: [{ required: false, message: ' ' }]
  635. },
  636. {
  637. index:'9',
  638. span: 6,
  639. label: 'fStudentsWeight',
  640. name: '学生人数',
  641. inputType: 2,
  642. onabort: 'this.value=this.value.replace(/[^0-9]/g,\'\')',
  643. width: 200,
  644. disabled: true,
  645. labelSize: '80',
  646. rules: [{ required: true, message: ' ' }]
  647. }, {
  648. index:'10',
  649. span: 6,
  650. label: 'fTeachersWeight',
  651. name: '教师人数',
  652. onabort: 'this.value=this.value.replace(/[^0-9]/g,\'\')',
  653. inputType: 2,
  654. width: 200,
  655. disabled: true,
  656. labelSize: '80',
  657. rules: [{ required: true, message: ' ' }]
  658. },
  659. {
  660. index:'11',
  661. span: 6,
  662. label: 'fSbu',
  663. name: '开票公司',
  664. inputType: 1,
  665. width: 200,
  666. disabled: true,
  667. labelSize: '80',
  668. rules: [{ required: true, message: ' ' }]
  669. }, {
  670. index:'12',
  671. span: 6,
  672. label: 'remark',
  673. name: '备注',
  674. inputType: 4,
  675. disabled: true,
  676. width: 200,
  677. labelSize: '80',
  678. rules: [{ required: false, message: ' ' }]
  679. }
  680. ]
  681. }
  682. },
  683. activated(){
  684. this.homePage()
  685. },
  686. created() {
  687. let data = {
  688. tableName: this.queryList.tableName,
  689. userId: Cookies.get('userName')
  690. }
  691. this.getRow(data)
  692. this.query(this.formDataList)
  693. productName().then(res => {
  694. console.log(res)
  695. if (res.code === 200) {
  696. for (let item in res.rows) {
  697. this.listData.fFeeid.push({
  698. label: res.rows[item].fName,
  699. value: res.rows[item].fId,
  700. fFeeunitid: res.rows[item].fFeeunitid
  701. })
  702. }
  703. console.log(this.listData)
  704. }
  705. })
  706. this.getDicts('data_unitfees').then(res => {
  707. console.log(res.data)
  708. for (let item in res.data) {
  709. this.listData.fFeeunitid.push({
  710. label: res.data[item].dictLabel,
  711. value: JSON.parse(res.data[item].dictValue)
  712. })
  713. }
  714. })
  715. this.getDicts('f_paymode').then(res => {
  716. console.log(res)
  717. for (let item in res.data) {
  718. this.listData.fStltypeid.push({
  719. label: res.data[item].dictLabel,
  720. value: JSON.parse(res.data[item].dictValue)
  721. })
  722. }
  723. })
  724. queryItem().then(res => {
  725. console.log(res)
  726. for (let item in res.data) {
  727. this.dataList.fGoodsid.push({
  728. label: res.data[item].projectName,
  729. value: res.data[item].fId,
  730. personNaem: res.data[item].personNaem,
  731. corpsName: res.data[item].corpsName,
  732. fCorpid: res.data[item].fCorpid
  733. })
  734. }
  735. })
  736. //查询仓库
  737. warehouse().then(res => {
  738. console.log(res)
  739. for (let item in res.rows) {
  740. this.dataList.fWarehouseid.push({
  741. label: res.rows[item].fName,
  742. value: res.rows[item].fId
  743. })
  744. }
  745. })
  746. this.fCompany(1)
  747. this.fCompany(2)
  748. },
  749. methods: {
  750. change(scope){
  751. console.log(this.contentList)
  752. for(let item in this.contentList){
  753. for(let li in this.listData.fFeeid){
  754. if(this.contentList[item].fFeeid == this.listData.fFeeid[li].value){
  755. console.log("111")
  756. this.$set(this.contentList[item],'fFeeunitid',this.listData.fFeeid[li].fFeeunitid)
  757. }
  758. }
  759. }
  760. },
  761. homePage(){
  762. let date = this.$route.query
  763. console.log(date)
  764. if (this.$route.query.list){
  765. this.contentButton = this.$options.data().contentButton
  766. this.contentButton.push(JSON.parse(this.$route.query.list))
  767. console.log(this.contentButton)
  768. let scope = {
  769. row:{
  770. fId:JSON.parse(this.$route.query.data).billId
  771. }
  772. }
  773. this.viewMethod(scope)
  774. }
  775. },
  776. // 查看审批流
  777. getDataList() {
  778. this.addOrUpdateVisible = false;
  779. },
  780. returnData() {
  781. this.addOrUpdateVisib = false;
  782. this.open = false;
  783. this.cancelTwo();
  784. },
  785. addOrUpdateHandle() {
  786. this.addOrUpdateVisible = true;
  787. this.$nextTick(() => {
  788. this.$refs.addOrUpdate.init(this.$refs.avatar.form.fId,520);
  789. });
  790. },
  791. addOrUpdateHand() {
  792. this.addOrUpdateVisib = true;
  793. this.$nextTick(() => {
  794. this.$refs.ApprovalComments.init(this.$refs.avatar.form.fId,520);
  795. });
  796. },
  797. //首页审批跳转关闭返回首页
  798. cancelTwo() {
  799. let view = {
  800. fullPath: '/purchaseRequest',
  801. hash: '',
  802. matched: Array(2),
  803. meta: Object,
  804. name: 'PurchaseRequest',
  805. params: Object,
  806. path: '/purchaseRequest',
  807. query: Object,
  808. title: '采购申请'
  809. }
  810. this.$router.push({ path: '/index' })
  811. this.$store
  812. .dispatch('tagsView/delView', view)
  813. .then(({ visitedViews }) => {
  814. if (this.isActive(view)) {
  815. this.toLastView(visitedViews, view)
  816. }
  817. })
  818. Global.$emit('removeCache', 'closeSelectedTag', view)
  819. },
  820. //分页
  821. handleSizeChange(val) {
  822. // console.log(`每页 ${val} 条`);
  823. this.formDataList.pageSize = val
  824. this.query(this.formDataList)
  825. },
  826. handleCurrentChange(val) {
  827. // console.log(`当前页: ${val}`);
  828. this.formDataList.pageNum = val
  829. this.query(this.formDataList)
  830. },
  831. //计算金额
  832. totalAmount(scope) {
  833. console.log(scope)
  834. if (scope.row.fUnitprice && scope.row.fQty) {
  835. scope.row.fAmount = (scope.row.fUnitprice * scope.row.fQty).toFixed(2)
  836. }
  837. },
  838. //查询公司
  839. fCompany(name) {
  840. company(name).then(res => {
  841. console.log(res)
  842. if (name == 1) {
  843. this.dataList.fCorpid = []
  844. for (let item in res.data) {
  845. this.dataList.fCorpid.push({
  846. label: res.data[item].fName,
  847. value: res.data[item].fId
  848. })
  849. }
  850. } else if (name == 2) {
  851. this.dataList.fSbu = []
  852. for (let item in res.data) {
  853. this.dataList.fSbu.push({
  854. label: res.data[item].fName,
  855. value: res.data[item].fId
  856. })
  857. }
  858. }
  859. })
  860. },
  861. //查询主页列数据
  862. query(data) {
  863. listQuery(data).then(res => {
  864. this.tableData = res.rows
  865. this.total = res.total
  866. })
  867. },
  868. //查询列数据
  869. getRow(data,list) {
  870. select(data).then((res) => {
  871. console.log(res)
  872. if (data.tableName === '采购申请详情') {
  873. if (res.data.length != 0) {
  874. this.purchaseList.columnList = res.data.filter((e) => e.checked == 0)
  875. this.purchaseList.columnList = res.data
  876. this.setRowList = res.data
  877. this.purchaseList.columnList = this.purchaseList.columnList.filter((e) => e.checked == 0)
  878. // this.waitFor = true
  879. } else {
  880. // this.waitFor = true
  881. this.purchaseList.columnList = this.contentStyle
  882. this.setRowList = this.contentStyle
  883. }
  884. this.pageDisplay = false
  885. this.isItHidden = false
  886. this.inDex = this.contentOption.length
  887. } else {
  888. if (res.data.length != 0) {
  889. this.queryList.columnList = res.data.filter((e) => e.checked == 0)
  890. this.queryList.columnList = res.data
  891. this.setRowList = res.data
  892. this.queryList.columnList = this.queryList.columnList.filter((e) => e.checked == 0)
  893. // this.waitFor = true
  894. } else {
  895. // this.waitFor = true
  896. this.queryList.columnList = this.listStyle
  897. console.log(this.queryList.columnList.fFeeid)
  898. this.setRowList = this.listStyle
  899. }
  900. this.pageDisplay = true
  901. this.isItHidden = true
  902. this.inDex = 4
  903. }
  904. this.$refs.avatar.form = {}
  905. if (list){
  906. this.$refs.avatar.form = list.warehouseBills
  907. this.contentList = list.tWarehousebillsfees
  908. }
  909. })
  910. },
  911. returnToForm(row) {
  912. console.log(row, 111)
  913. },
  914. //查看
  915. viewMethod(scope) {
  916. console.log(scope)
  917. this.contentOption.forEach(item => item.disabled = true)
  918. this.contentStyle.forEach(item => item.disabled = true)
  919. this.contentButton.forEach(item =>{
  920. if (item.name == '返回列表' || item.name == '修改'){
  921. item.disabled = false
  922. }else {
  923. item.disabled = true
  924. }
  925. })
  926. viewSingle(scope.row.fId).then(res => {
  927. if (res.code === 200) {
  928. let data = {
  929. tableName: this.purchaseList.tableName,
  930. userId: Cookies.get('userName')
  931. }
  932. let list ={
  933. warehouseBills:res.data.warehouseBills,
  934. tWarehousebillsfees:res.data.tWarehousebillsfees
  935. }
  936. this.$refs.avatar.form = {}
  937. this.getRow(data,list)
  938. }
  939. })
  940. },
  941. //修改
  942. modification(scope) {
  943. console.log(scope)
  944. },
  945. //删除
  946. deletion(scope) {
  947. console.log(scope.row.fId)
  948. tableDeleteQuery(scope.row.fId).then(res => {
  949. console.log(res)
  950. this.$confirm(res.msg == 1 ? '主表数据为空' : (res.msg == 2 ? '主表有数据' : '未知状态') + '是否永久删除该条数据?', '提示', {
  951. confirmButtonText: '确定',
  952. cancelButtonText: '取消',
  953. type: 'warning'
  954. }).then(() => {
  955. confirmDeletion(scope.row.fId).then(data => {
  956. this.$message({
  957. type: 'success',
  958. message: '删除成功!'
  959. })
  960. this.query(this.formDataList)
  961. })
  962. }).catch(() => {
  963. this.$message({
  964. type: 'info',
  965. message: '已取消删除'
  966. })
  967. })
  968. })
  969. },
  970. //选择框
  971. selectionbox(selection) {
  972. if (selection.length > 1){
  973. this.customButton.forEach(item =>{
  974. if (item.name === '复制新增'){
  975. item.disabled = true
  976. }else {
  977. item.disabled = false
  978. }
  979. })
  980. }else {
  981. this.customButton.forEach(item => item.disabled = false)
  982. this.selection = selection
  983. }
  984. },
  985. //详情内容保存
  986. submitAndSave(item) {
  987. let formData = new window.FormData()
  988. this.$refs.avatar.form.fMoney = 0
  989. this.contentList.forEach(item => this.$refs.avatar.form.fMoney += Number(item.fAmount))
  990. formData.append('tWarehousebills', JSON.stringify(this.$refs.avatar.form))
  991. formData.append('tWarehousebillsfees', JSON.stringify(this.contentList))
  992. formData.append('fBilltype', 'SQ')
  993. submit(formData).then(res => {
  994. if (res.code == 200) {
  995. this.$message.success('保存成功')
  996. this.$refs.avatar.form = res.data.warehouseBills
  997. this.contentList = res.data.tWarehousebillsCntrs
  998. console.log(this.dataList, this.contentList)
  999. if (item == 1){
  1000. this.dialogVisible = true
  1001. }else if (item === 2){
  1002. let data = {
  1003. tableName: this.queryList.tableName,
  1004. userId: Cookies.get('userName')
  1005. }
  1006. this.getRow(data)
  1007. this.query(this.formDataList)
  1008. }
  1009. }
  1010. })
  1011. },
  1012. //表单选中后触发
  1013. selectTrigger(name, list, id) {
  1014. console.log(list, id)
  1015. if (name == 'fGoodsid') {
  1016. for (let item in list) {
  1017. if (list[item].value == id) {
  1018. this.$refs.avatar.form.personNaem = list[item].personNaem
  1019. this.$refs.avatar.form.corpsName = list[item].corpsName
  1020. }
  1021. }
  1022. }
  1023. },
  1024. //确认打印
  1025. Printing(){
  1026. this.$print(this.$refs.print)
  1027. },
  1028. //所以按钮
  1029. buttonList(row) {
  1030. console.log(row)
  1031. let data
  1032. switch (row.name) {
  1033. case '新增':
  1034. this.contentList = []
  1035. data = {
  1036. tableName: this.purchaseList.tableName,
  1037. userId: Cookies.get('userName')
  1038. }
  1039. this.$refs.avatar.form = {}
  1040. this.getRow(data)
  1041. this.contentOption.forEach(item => {
  1042. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1043. item.disabled = true
  1044. } else {
  1045. item.disabled = false
  1046. }
  1047. })
  1048. this.contentButton.forEach(item => item.disabled = false)
  1049. this.contentStyle.forEach(item => item.disabled = false)
  1050. this.$refs.avatar.form.createBy = Cookies.get('userName')
  1051. break
  1052. case '保存':
  1053. this.$refs.avatar.submitForm('submit')
  1054. break
  1055. case '打印':
  1056. if (!this.$refs.avatar.form.fId){
  1057. this.$message.error('未保存,不允许打印');
  1058. }else {
  1059. this.formList = this.$refs.avatar.form
  1060. this.submitAndSave(1)
  1061. }
  1062. break
  1063. case '修改':
  1064. this.contentButton.forEach(item =>{
  1065. if (this.$refs.avatar.form.fBillstatus >= 4){
  1066. if (item.name === '返回列表' || item.name === '修改' || item.name === '生成入库单' || item.name === '生成销售单' || item.name === '查看审批' || item.name === '审批'){
  1067. item.disabled = false
  1068. }else {
  1069. item.disabled = true
  1070. }
  1071. }else {
  1072. item.disabled = false
  1073. this.contentStyle.forEach(item => item.disabled = false)
  1074. this.contentOption.forEach(item => {
  1075. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1076. item.disabled = true
  1077. } else {
  1078. item.disabled = false
  1079. }
  1080. })
  1081. }
  1082. })
  1083. break
  1084. case '录入':
  1085. this.contentList.push({
  1086. fFeeid: '',
  1087. fUnitprice: '',
  1088. fPurchase: '',
  1089. fQty: '',
  1090. fFeeunitid: '',
  1091. fAmount: '',
  1092. fStltypeid: '',
  1093. remark: '',
  1094. createTime: '',
  1095. createBy: Cookies.get('userName'),
  1096. fReviewDate: '',
  1097. operation: '',
  1098. })
  1099. break
  1100. case '查看审批':
  1101. this.addOrUpdateHandle()
  1102. break
  1103. case '审批':
  1104. this.addOrUpdateHand()
  1105. break
  1106. case '返回列表':
  1107. console.log(this.$route.query.data)
  1108. if (!this.$refs.avatar.form.fId && this.contentList !== 0 || this.$refs.avatar.form.fBillstatus > 3 && !this.$route.query.data) {
  1109. data = {
  1110. tableName: this.queryList.tableName,
  1111. userId: Cookies.get('userName')
  1112. }
  1113. this.getRow(data)
  1114. this.query(this.formDataList)
  1115. } else if(this.$route.query.data){
  1116. this.cancelTwo();
  1117. this.$router.push({path:'/index'})
  1118. }else {
  1119. this.$confirm('当前数据未保存是否保存?', '提示', {
  1120. confirmButtonText: '保存',
  1121. cancelButtonText: '取消',
  1122. type: 'warning'
  1123. }).then(() => {
  1124. this.submitAndSave(2)
  1125. }).catch(() => {
  1126. data = {
  1127. tableName: this.queryList.tableName,
  1128. userId: Cookies.get('userName')
  1129. }
  1130. this.getRow(data)
  1131. this.query(this.formDataList)
  1132. })
  1133. }
  1134. break
  1135. case '请核':
  1136. if (this.$refs.avatar.form.fBillstatus < 4){
  1137. this.$refs.avatar.submitForm('check')
  1138. }else {
  1139. this.$message.error('请先保存');
  1140. }
  1141. break
  1142. case '生成入库单':
  1143. let listData = {
  1144. fId:this.$refs.avatar.form.fId,
  1145. fBilltype:'RK'
  1146. }
  1147. copyNew(listData).then(res=>{
  1148. this.$message({
  1149. message: '生成成功',
  1150. type: 'success',
  1151. showClose:true
  1152. });
  1153. })
  1154. break
  1155. case '生成销售单':
  1156. let liste = {
  1157. fId:this.$refs.avatar.form.fId,
  1158. fBilltype:'XS'
  1159. }
  1160. copyNew(liste).then(res=>{
  1161. this.$message({
  1162. message: '生成成功',
  1163. type: 'success',
  1164. showClose:true
  1165. });
  1166. })
  1167. break
  1168. case '复制新增':
  1169. if (this.selection.length > 0){
  1170. let datae = {
  1171. fId:this.selection[0].fId,
  1172. fBilltype:'SQ'
  1173. }
  1174. copyNew(datae).then(res=>{
  1175. this.$message({
  1176. message: '复制新增成功',
  1177. type: 'success',
  1178. showClose:true
  1179. });
  1180. this.query(this.formDataList)
  1181. })
  1182. }else {
  1183. this.$message.warning('未选择列表,请选择后再点击');
  1184. }
  1185. break
  1186. default:
  1187. this.$message.error('该按钮暂无功能')
  1188. }
  1189. },
  1190. //请核
  1191. writeOff(){
  1192. let formData = new window.FormData()
  1193. formData.append('tWarehousebills', JSON.stringify(this.$refs.avatar.form))
  1194. formData.append('tWarehousebillsfees', JSON.stringify(this.contentList))
  1195. formData.append('fBilltype', 'SQ')
  1196. pleaseCheck(formData).then(res => {
  1197. if (res.code == 200) {
  1198. this.$message.success('请核成功')
  1199. this.contentOption.forEach(item => item.disabled = true)
  1200. this.contentStyle.forEach(item => item.disabled = true)
  1201. this.contentButton.forEach(item =>{
  1202. if (item.name == '返回列表' || item.name == '修改'){
  1203. item.disabled = false
  1204. }else {
  1205. item.disabled = true
  1206. }
  1207. })
  1208. // this.$refs.avatar.form = res.data.warehouseBills
  1209. // this.contentList = res.data.tWarehousebillsCntrs
  1210. let data = {
  1211. tableName: this.queryList.tableName,
  1212. userId: Cookies.get('userName')
  1213. }
  1214. this.getRow(data)
  1215. this.query(this.formDataList)
  1216. }
  1217. })
  1218. },
  1219. // 显示搜索条件、点击后会调用此方法
  1220. showSearch() {
  1221. console.log('到我了')
  1222. this.searchWhether = !this.searchWhether
  1223. },
  1224. //搜索、重置、展开
  1225. feedback(res) {
  1226. console.log(res)
  1227. if (res == '展开') {
  1228. if (this.inDex == 4) {
  1229. this.inDex = this.formOption.length
  1230. } else {
  1231. this.inDex = 4
  1232. }
  1233. } else if (res == '搜索') {
  1234. this.$refs.avatar.submitForm()
  1235. } else if (res == '重置') {
  1236. this.$refs.avatar.form = {}
  1237. }
  1238. },
  1239. //表单验证通过执行搜索
  1240. submitForm() {
  1241. console.log('111')
  1242. let list = this.formDataList
  1243. console.log(this.$refs.avatar.form)
  1244. this.formDataList = this.$refs.avatar.form
  1245. this.formDataList.fBilltype = list.fBilltype
  1246. this.formDataList.pageSize = list.pageSize
  1247. this.formDataList.pageNum = list.pageNum
  1248. this.query(this.formDataList)
  1249. },
  1250. //点击刷新会调用此方法
  1251. getList() {
  1252. this.feedback('重置')
  1253. this.submitForm()
  1254. console.log('到我了2')
  1255. },
  1256. //详情表内容移出
  1257. deletRows(index, rows) {
  1258. console.log(index, rows)
  1259. if (rows[index].fId) {
  1260. deleteQuery(this.$refs.avatar.form.fId, this.$refs.avatar.form.fDateChanged).then(res => {
  1261. if (res.code === 200) {
  1262. listDelete(rows[index].fId).then(data => {
  1263. rows.splice(index, 1)
  1264. })
  1265. }
  1266. })
  1267. } else {
  1268. rows.splice(index, 1)
  1269. }
  1270. }
  1271. }
  1272. }
  1273. </script>
  1274. <style scoped>
  1275. .table {
  1276. border-collapse: collapse;
  1277. border-spacing: 0;
  1278. background-color: transparent;
  1279. display: table;
  1280. width: 100%;
  1281. max-width: 100%;
  1282. margin: 0 auto;
  1283. }
  1284. .table td {
  1285. text-align: center;
  1286. vertical-align: middle;
  1287. font-size: 14px;
  1288. color: #333333;
  1289. padding: 8px 12px;
  1290. }
  1291. .column {
  1292. border: 1px solid #000;
  1293. }
  1294. .app-container >>> .el-form-item{
  1295. margin-bottom: 0;
  1296. }
  1297. </style>