index.vue 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693
  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. :hasPermi="hasPermi"
  24. :isItHidden="isItHidden"
  25. :customButton="customButton"
  26. :listStyle="listStyle"
  27. :queryList="queryList"
  28. :setRowList="setRowList"
  29. />
  30. <!-- <el-pagination-->
  31. <!-- style="float: right;margin-top: 10px"-->
  32. <!-- @size-change="handleSizeChange"-->
  33. <!-- @current-change="handleCurrentChange"-->
  34. <!-- :page-sizes="[10, 20, 30, 50]"-->
  35. <!-- :page-size="this.formDataList.pageSize"-->
  36. <!-- background-->
  37. <!-- layout="sizes, prev, pager, next"-->
  38. <!-- :total="total">-->
  39. <!-- </el-pagination>-->
  40. <div style="float: right">
  41. <pagination
  42. v-show="total > 0"
  43. :total="total"
  44. :page.sync="formDataList.pageNum"
  45. :limit.sync="formDataList.pageSize"
  46. :page-sizes="[10,100,200,500,1000]"
  47. @pagination="feedback('搜索')"
  48. />
  49. </div>
  50. </div>
  51. <div v-else class="app-container">
  52. <div style="display: flex;margin-bottom: 10px">
  53. <el-breadcrumb>
  54. <el-breadcrumb-item>
  55. <el-button
  56. size="mini"
  57. type="danger" plain
  58. @click="backToList"
  59. icon="el-icon-arrow-left">
  60. 返回列表</el-button>
  61. </el-breadcrumb-item>
  62. <!-- <el-breadcrumb-item style="font-weight: 700">-->
  63. <!-- <el-button-group>-->
  64. <!-- <el-button type="primary" size="mini" icon="el-icon-arrow-left" :disabled="forward" @click="sequence(true)">向前</el-button>-->
  65. <!-- <el-button type="primary" size="mini" :disabled="backward" @click="sequence(true)">向后<i class="el-icon-arrow-right el-icon&#45;&#45;right"></i></el-button>-->
  66. <!-- </el-button-group>-->
  67. <!-- </el-breadcrumb-item>-->
  68. </el-breadcrumb>
  69. </div>
  70. <h1 style="text-align: center;margin-top: -42px">采购申请单</h1>
  71. <formComponent
  72. v-if="searchWhether"
  73. :formOption="contentOption"
  74. :dataList="dataList"
  75. :inDex="inDex"
  76. ref="avatar"
  77. @writeOff="writeOff"
  78. @submitForm="submitForm"
  79. @returnToForm="returnToForm"
  80. @submitAndSave="submitAndSave"
  81. @selectTrigger="selectTrigger"
  82. />
  83. <listComponent
  84. ref="listComponent"
  85. :tableData="contentList"
  86. @selectionbox="selectionbox"
  87. @see="viewMethod"
  88. @modify="modification"
  89. @deletion="deletion"
  90. @buttonList="buttonList"
  91. @showSearch="showSearch"
  92. @feedback="feedback"
  93. @getList="getList"
  94. @deletRows="deletRows"
  95. @totalAmount="totalAmount"
  96. @change="change"
  97. :hasPermi="hasPermi"
  98. :tatolLabel="tatolLabel"
  99. :isItHidden="isItHidden"
  100. :customButton="contentButton"
  101. :listStyle="contentStyle"
  102. :queryList="purchaseList"
  103. :setRowList="setRowList"
  104. :listData="listData"
  105. />
  106. </div>
  107. <add-or-update
  108. v-if="addOrUpdateVisible"
  109. ref="addOrUpdate"
  110. @refreshDataList="getDataList"
  111. ></add-or-update>
  112. <approval-comments
  113. v-if="addOrUpdateVisib"
  114. ref="ApprovalComments"
  115. @refreshDataList="returnData"
  116. ></approval-comments>
  117. <el-dialog
  118. title="打印采购"
  119. :visible.sync="dialogVisible"
  120. :fullscreen="true"
  121. style="padding: 0;margin:0"
  122. width="70%">
  123. <div ref="print">
  124. <table class="table table-striped table-bordered" align="center" valign="center">
  125. <tr>
  126. <td style="font-size: 24px;font-weight:bold" class="column" colspan="6">采购表</td>
  127. </tr>
  128. <tr>
  129. <td class="column" style="width: 10%;">项目</td>
  130. <td class="column" style="width: 25%;">{{formList.projectName}}</td>
  131. <td class="column" style="width: 10%;">供应商</td>
  132. <td class="column" style="width: 25%;">{{ formList.corpName }}</td>
  133. <td class="column" style="width: 25%;" colspan="2">日期:{{formList.fBsdate}}</td>
  134. </tr>
  135. </table>
  136. <table class="table table-striped table-bordered" align="center" valign="center">
  137. <tr>
  138. <td class="column" style="width: 15%;border-top: none;">品名</td>
  139. <td class="column" style="width: 15%;border-top: none;">单价</td>
  140. <td class="column" style="width: 15%;border-top: none;">采购计划</td>
  141. <td class="column" style="width: 15%;border-top: none;">实际重量</td>
  142. <td class="column" style="width: 15%;border-top: none;">金额</td>
  143. <td class="column" style="width: 20%;border-top: none;">备注</td>
  144. </tr>
  145. <tr v-for="(item,index) in contentList" :key="index">
  146. <td class="column">{{item.feeName}}</td>
  147. <td class="column">{{item.fUnitprice?item.fUnitprice.toFixed(2):item.fUnitprice}}</td>
  148. <td class="column">{{item.fPurchase}}({{item.fFeeunitName}})</td>
  149. <td class="column">{{item.fQty}}({{item.fFeeunitName}})</td>
  150. <td class="column">{{item.fAmount?item.fAmount.toFixed(2):item.fAmount}}</td>
  151. <td class="column">{{item.remark}}</td>
  152. </tr>
  153. </table>
  154. <table class="table table-striped table-bordered" align="center" valign="center">
  155. <tr>
  156. <td colspan="6" style="border-top: none;" class="column"></td>
  157. </tr>
  158. <tr>
  159. <td class="column" style="width: 25%;">采购人签字</td>
  160. <td class="column" style="width: 25%;">厨房主管签字</td>
  161. <td class="column" style="width: 25%;">验收人签字</td>
  162. <td class="column" style="width: 25%;">主管签字</td>
  163. </tr>
  164. <tr>
  165. <td class="column" style="width: 25%;height: 37px;"></td>
  166. <td class="column" style="width: 25%;"></td>
  167. <td class="column" style="width: 25%;"></td>
  168. <td class="column" style="width: 25%;"></td>
  169. </tr>
  170. <tr>
  171. <td colspan="4" style="border-top: none;font-weight:bold;text-align: right;padding-right: 10%;font-size: 16px;" class="column">{{ formList.fsbuName }}</td>
  172. </tr>
  173. </table>
  174. </div>
  175. <span slot="footer" class="dialog-footer">
  176. <el-button @click="dialogVisible = false">取 消</el-button>
  177. <el-button type="primary" @click="Printing">打印</el-button>
  178. </span>
  179. </el-dialog>
  180. </div>
  181. </template>
  182. <script>
  183. import { select } from '@/api/system/set'
  184. import {
  185. listQuery,
  186. submit,
  187. viewSingle,
  188. deleteQuery,
  189. productName,
  190. queryItem,
  191. company,
  192. warehouse,
  193. listDelete,
  194. tableDeleteQuery,
  195. confirmDeletion,
  196. pleaseCheck,
  197. copyNew,
  198. revoke,
  199. withdrawBy,
  200. getName,
  201. queryUserVal
  202. } from '@/api/purchaseRequest/index'
  203. import Cookies from 'js-cookie'
  204. import Global from '@/layout/components/global'
  205. export default {
  206. name: 'index',
  207. data() {
  208. return {
  209. before:'',
  210. lander:'',
  211. operator:'',
  212. forward:false,
  213. backward:false,
  214. addOrUpdateVisible: false,
  215. addOrUpdateVisib: false,
  216. total:0,
  217. selection:[],
  218. formDataList:{
  219. fBilltype: 'SQ',
  220. pageSize:10,
  221. pageNum:1,
  222. },
  223. formList:{},
  224. tatolLabel:['金额'],
  225. dialogVisible: false,
  226. listData: {
  227. fFeeid: [],
  228. fFeeunitid: [],
  229. fStltypeid: []
  230. },
  231. hasPermi:{
  232. lookup:['anpin:stockControl:query'],
  233. disappear:['anpin:stockControl:remove']
  234. },
  235. setTimeout:'',
  236. searchWhether: true,
  237. pageDisplay: true,
  238. dataList: {
  239. fGoodsid: [],
  240. fSbu: [],
  241. fWarehouseid: [],
  242. fCorpid: [],
  243. fFeeid:[]
  244. },
  245. contentList: [],
  246. inDex: 4,
  247. tableData: [],
  248. tableList: [],
  249. isItHidden: true,
  250. listStyle: [
  251. {
  252. surface: '1',
  253. label: 'serialNumber',
  254. name: '序号',
  255. checked: 0,
  256. width: 100,
  257. onabort: ''
  258. }, {
  259. surface: '2',
  260. label: 'fBillno',
  261. name: '系统编号',
  262. checked: 0,
  263. width: 100,
  264. onabort: ''
  265. }, {
  266. surface: '3',
  267. label: 'projectName',
  268. name: '项目名称',
  269. checked: 0,
  270. width: 100,
  271. onabort: ''
  272. }, {
  273. surface: '4',
  274. label: 'corpName',
  275. name: '客户名称',
  276. checked: 0,
  277. width: 100,
  278. onabort: ''
  279. }, {
  280. surface: '5',
  281. label: 'fMoney',
  282. name: '金额',
  283. checked: 0,
  284. width: 100,
  285. onabort: ''
  286. }, {
  287. surface: '5',
  288. label: 'fBsdate',
  289. name: '提货日期',
  290. checked: 0,
  291. width: 100,
  292. onabort: ''
  293. },{
  294. surface: '5',
  295. label: 'fsbuName',
  296. name: '开票公司',
  297. checked: 0,
  298. width: 100,
  299. onabort: ''
  300. },
  301. {
  302. surface: '6',
  303. label: 'createTime',
  304. name: '制单日期',
  305. checked: 0,
  306. width: 100,
  307. onabort: ''
  308. },{
  309. surface: '7',
  310. label: 'createBy',
  311. name: '申请人',
  312. checked: 0,
  313. width: 100,
  314. onabort: ''
  315. }, {
  316. surface: '8',
  317. label: 'fReviewDate',
  318. name: '审核日期',
  319. checked: 0,
  320. width: 100,
  321. onabort: ''
  322. },{
  323. surface: '9',
  324. label: 'remark',
  325. name: '备注',
  326. checked: 0,
  327. width: 100,
  328. onabort: ''
  329. },{
  330. surface: '10',
  331. label: 'fBillstatusName',
  332. name: '状态',
  333. checked: 0,
  334. width: 100,
  335. onabort: ''
  336. },{
  337. surface: '11',
  338. label: 'operation',
  339. name: '操作',
  340. checked: 0,
  341. width: 160,
  342. fixed:'right',
  343. operation: '1',
  344. onabort: ''
  345. }
  346. ],
  347. contentStyle: [
  348. {
  349. surface: '1',
  350. label: 'serialNumber',
  351. name: '序号',
  352. checked: 0,
  353. width: 100,
  354. disabled: false,
  355. onabort: ''
  356. }, {
  357. surface: '2',
  358. label: 'fFeeid',
  359. name: '品名',
  360. checked: 0,
  361. width: 100,
  362. onabort: '',
  363. disabled: false,
  364. changeable: 1
  365. }, {
  366. surface: '3',
  367. label: 'fCurrencyName',
  368. name: '规格',
  369. checked: 0,
  370. width: 100,
  371. onabort: '',
  372. disabled: false,
  373. },{
  374. surface: '4',
  375. label: 'fUnitprice',
  376. name: '单价',
  377. checked: 0,
  378. width: 100,
  379. disabled: false,
  380. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  381. changeable: 2
  382. }, {
  383. surface: '5',
  384. label: 'fPurchase',
  385. name: '采购数量',
  386. checked: 0,
  387. width: 100,
  388. onabort: '',
  389. disabled: false,
  390. changeable: 2
  391. }, {
  392. surface: '6',
  393. label: 'fQty',
  394. name: '实际数量',
  395. checked: 0,
  396. width: 100,
  397. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  398. disabled: false,
  399. changeable: 2
  400. }, {
  401. surface: '7',
  402. label: 'fFeeunitid',
  403. name: '计量单位',
  404. checked: 0,
  405. width: 100,
  406. onabort: '',
  407. disabled: false,
  408. changeable: 1
  409. }, {
  410. surface: '8',
  411. label: 'fAmount',
  412. name: '金额',
  413. checked: 0,
  414. width: 100,
  415. onabort: 'this.value=this.value.replace(/[^\\-?\\d.]/g,"").replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/, "$1$2.$3")',
  416. disabled: false,
  417. changeable: 2
  418. }, {
  419. surface: '9',
  420. label: 'fStltypeid',
  421. name: '付费方式',
  422. checked: 0,
  423. width: 100,
  424. onabort: '',
  425. disabled: false,
  426. changeable: 1
  427. }, {
  428. surface: '10',
  429. label: 'remark',
  430. name: '备注',
  431. checked: 0,
  432. width: 100,
  433. onabort: '',
  434. disabled: false,
  435. changeable: 2
  436. }, {
  437. surface: '11',
  438. label: 'createTime',
  439. name: '制单日期',
  440. checked: 0,
  441. disabled: false,
  442. width: 100,
  443. onabort: ''
  444. }, {
  445. surface: '12',
  446. label: 'createBy',
  447. name: '申请人',
  448. disabled: false,
  449. checked: 0,
  450. width: 100,
  451. onabort: ''
  452. }, {
  453. surface: '13',
  454. label: 'fReviewDate',
  455. name: '审核日期',
  456. checked: 0,
  457. disabled: false,
  458. width: 100,
  459. onabort: ''
  460. }, {
  461. surface: '14',
  462. label: 'operation',
  463. name: '操作',
  464. checked: 0,
  465. disabled: false,
  466. width: 160,
  467. fixed:'right',
  468. operation: '2',
  469. onabort: ''
  470. }
  471. ],
  472. queryList: {
  473. tableName: '采购申请',
  474. columnList: []
  475. },
  476. purchaseList: {
  477. tableName: '采购申请详情',
  478. columnList: []
  479. },
  480. setRowList: [],
  481. customButton: [
  482. {
  483. type: 'primary',
  484. size: 'mini',
  485. icon: 'el-icon-edit',
  486. name: '新单',
  487. disabled: false,
  488. hasPermi:['anpin:stockControl:anPingApply']
  489. },
  490. // {
  491. // type:'warning',
  492. // size:'mini',
  493. // icon:'el-icon-edit',
  494. // name:'立即修改',
  495. // disabled:false,
  496. // },
  497. {
  498. type: 'warning',
  499. size: 'mini',
  500. icon: 'el-icon-upload2',
  501. name: '导出',
  502. disabled: false,
  503. hasPermi:['anpin:stockControl:export']
  504. }, {
  505. type: 'success',
  506. size: 'mini',
  507. icon: 'el-icon-c-scale-to-original',
  508. name: '复制新单',
  509. disabled: false,
  510. hasPermi:['anpin:stockControl:generateReceipts']
  511. }
  512. ],
  513. contentButton: [{
  514. type: 'primary',
  515. size: 'mini',
  516. icon: 'el-icon-plus',
  517. name: '录入明细',
  518. disabled: false
  519. }, {
  520. type: 'primary',
  521. size: 'mini',
  522. icon: 'el-icon-check',
  523. name: '保存',
  524. plain: true,
  525. disabled: false
  526. }, {
  527. type: 'primary',
  528. size: 'mini',
  529. icon: 'el-icon-edit-outline',
  530. name: '请核',
  531. disabled: false
  532. }, {
  533. type: 'primary',
  534. size: 'mini',
  535. icon: 'el-icon-plus',
  536. name: '新单',
  537. nameTwo:'详情页',
  538. plain: true,
  539. disabled: false
  540. },{
  541. type: 'primary',
  542. size: 'mini',
  543. icon: 'el-icon-plus',
  544. name: '复制新单',
  545. nameTwo:'详情页',
  546. plain: true,
  547. disabled: false
  548. },{
  549. type: 'success',
  550. size: 'mini',
  551. icon: 'el-icon-edit',
  552. name: '修改',
  553. disabled: false
  554. }, {
  555. type: 'warning',
  556. size: 'mini',
  557. icon: 'el-icon-download',
  558. name: '导出',
  559. disabled: false
  560. },{
  561. type: 'info',
  562. size: 'mini',
  563. icon: 'el-icon-edit-outline',
  564. name: '打印',
  565. disabled: false
  566. },{
  567. type: 'primary',
  568. size: 'mini',
  569. icon: 'el-icon-edit-outline',
  570. name: '查看审批',
  571. disabled: false
  572. },{
  573. type: 'info',
  574. size: 'mini',
  575. icon: 'el-icon-edit-outline',
  576. name: '生成入库单',
  577. disabled: false
  578. },{
  579. type: 'info',
  580. size: 'mini',
  581. icon: 'el-icon-edit-outline',
  582. name: '生成销售单',
  583. disabled: false
  584. }
  585. // ,{
  586. // type: 'info',
  587. // size: 'mini',
  588. // icon: 'el-icon-edit-outline',
  589. // name: '生成出库单',
  590. // disabled: false
  591. // }
  592. ],
  593. formOption: [
  594. {
  595. span: 6,
  596. label: 'fBillno',
  597. name: '系统编号',
  598. inputType: 2,
  599. width: 200,
  600. labelSize: '80',
  601. rules: [{ required: false, message: ' ' }]
  602. }, {
  603. span: 6,
  604. label: 'fGoodsid',
  605. name: '项目名称',
  606. inputType: 1,
  607. width: 200,
  608. labelSize: '80',
  609. rules: [{ required: false, message: ' ' }]
  610. }, {
  611. span: 6,
  612. label: 'fCorpid',
  613. name: '供应商',
  614. inputType: 1,
  615. width: 200,
  616. labelSize: '80',
  617. rules: [{ required: false, message: ' ' }]
  618. }, {
  619. span: 6,
  620. label: 'createBy',
  621. name: '申请人',
  622. inputType: 2,
  623. width: 200,
  624. labelSize: '80',
  625. rules: [{ required: false, message: ' ' }]
  626. }, {
  627. span: 6,
  628. label: 'moneys',
  629. name: '金额',
  630. inputType: 5,
  631. width: 200,
  632. labelSize: '80',
  633. rules: [{ required: false, message: ' ' }]
  634. }, {
  635. span: 6,
  636. label: 'timeInterval',
  637. name: '提货日期',
  638. inputType: 3,
  639. width: 300,
  640. labelSize: '80',
  641. rules: [{ required: false, message: ' ' }]
  642. },{
  643. span: 6,
  644. label: 'fFeeid',
  645. name: '品名',
  646. inputType: 1,
  647. width: 200,
  648. labelSize: '80',
  649. rules: [{ required: false, message: ' ' }]
  650. }
  651. ],
  652. contentOption: [
  653. {
  654. index:'1',
  655. span: 6,
  656. label: 'fBillno',
  657. name: '系统编号',
  658. inputType: 2,
  659. width: 200,
  660. labelSize: '80',
  661. disabled: true,
  662. rules: [{ required: false, message: ' ' }]
  663. }, {
  664. index:'2',
  665. span: 6,
  666. label: 'fGoodsid',
  667. name: '项目名称',
  668. inputType: 1,
  669. width: 200,
  670. labelSize: '80',
  671. disabled: true,
  672. rules: [{ required: true, message: ' ' }]
  673. }, {
  674. index:'3',
  675. span: 6,
  676. label: 'personNaem',
  677. name: '项目主管',
  678. inputType: 2,
  679. width: 200,
  680. labelSize: '80',
  681. disabled: true,
  682. rules: [{ required: false, message: ' ' }]
  683. }, {
  684. index:'4',
  685. span: 6,
  686. label: 'corpsName',
  687. name: '客户',
  688. inputType: 2,
  689. width: 200,
  690. labelSize: '80',
  691. disabled: true,
  692. rules: [{ required: false, message: ' ' }]
  693. }, {
  694. index:'5',
  695. span: 6,
  696. label: 'fCorpid',
  697. name: '供应商',
  698. inputType: 1,
  699. width: 200,
  700. labelSize: '80',
  701. disabled: true,
  702. rules: [{ required: true, message: ' ' }]
  703. }, {
  704. index:'6',
  705. span: 6,
  706. label: 'fWarehouseid',
  707. name: '仓库',
  708. inputType: 1,
  709. width: 200,
  710. disabled: true,
  711. labelSize: '80',
  712. rules: [{ required: true, message: ' ' }]
  713. }, {
  714. index:'7',
  715. span: 6,
  716. label: 'fBsdate',
  717. name: '提货日期',
  718. inputType: 6,
  719. width: 200,
  720. disabled: true,
  721. labelSize: '80',
  722. rules: [{ required: true, message: ' ' }]
  723. }, {
  724. index:'8',
  725. span: 6,
  726. label: 'createBy',
  727. name: '申请人',
  728. inputType: 2,
  729. width: 200,
  730. disabled: true,
  731. labelSize: '80',
  732. rules: [{ required: false, message: ' ' }]
  733. },
  734. {
  735. index:'9',
  736. span: 6,
  737. label: 'fStudentsWeight',
  738. name: '学生人数',
  739. inputType: 2,
  740. onabort: 'this.value=this.value.replace(/[^0-9]/g,\'\')',
  741. width: 200,
  742. disabled: true,
  743. labelSize: '80',
  744. rules: [{ required: true, message: ' ' }]
  745. }, {
  746. index:'10',
  747. span: 6,
  748. label: 'fTeachersWeight',
  749. name: '教师人数',
  750. onabort: 'this.value=this.value.replace(/[^0-9]/g,\'\')',
  751. inputType: 2,
  752. width: 200,
  753. disabled: true,
  754. labelSize: '80',
  755. rules: [{ required: true, message: ' ' }]
  756. },
  757. {
  758. index:'11',
  759. span: 6,
  760. label: 'fSbu',
  761. name: '开票公司',
  762. inputType: 1,
  763. width: 200,
  764. disabled: true,
  765. labelSize: '80',
  766. rules: [{ required: true, message: ' ' }]
  767. }, {
  768. index:'12',
  769. span: 6,
  770. label: 'remark',
  771. name: '备注',
  772. inputType: 4,
  773. disabled: true,
  774. width: 200,
  775. labelSize: '80',
  776. rules: [{ required: false, message: ' ' }]
  777. }
  778. ],
  779. pendingPage:'',
  780. }
  781. },
  782. activated(){
  783. if(this.$route.query.list){
  784. this.pendingPage = JSON.parse(this.$route.query.list)
  785. }
  786. if (this.$route.query.open === 'true'){
  787. this.contentList = []
  788. let data = {
  789. tableName: this.purchaseList.tableName,
  790. userId: Cookies.get('userName')
  791. }
  792. this.$refs.avatar.form = {}
  793. this.getRow(data)
  794. this.contentOption.forEach(item => {
  795. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  796. item.disabled = true
  797. } else {
  798. item.disabled = false
  799. }
  800. })
  801. this.contentButton.forEach(item => item.disabled = false)
  802. this.contentStyle.forEach(item => item.disabled = false)
  803. this.$refs.avatar.form.createBy = Cookies.get('userName')
  804. this.$router.push({ query: {} })
  805. }
  806. },
  807. created() {
  808. this.homePage()
  809. //获取登陆人
  810. queryUserVal().then((response) => {
  811. this.lander = response.user.userName
  812. })
  813. let data = {
  814. tableName: this.queryList.tableName,
  815. userId: Cookies.get('userName')
  816. }
  817. this.getRow(data)
  818. this.query(this.formDataList)
  819. productName().then(res => {
  820. console.log(res)
  821. if (res.code === 200) {
  822. for (let item in res.rows) {
  823. this.dataList.fFeeid.push({
  824. label: res.rows[item].fName,
  825. value: res.rows[item].fId,
  826. })
  827. this.listData.fFeeid.push({
  828. label: res.rows[item].fName,
  829. value: res.rows[item].fId,
  830. fFeeunitid: res.rows[item].fFeeunitid,
  831. fCurrency: res.rows[item].fCurrency
  832. })
  833. }
  834. }
  835. })
  836. this.getDicts('data_unitfees').then(res => {
  837. console.log(res.data)
  838. for (let item in res.data) {
  839. this.listData.fFeeunitid.push({
  840. label: res.data[item].dictLabel,
  841. value: JSON.parse(res.data[item].dictValue)
  842. })
  843. }
  844. })
  845. this.getDicts('f_paymode').then(res => {
  846. console.log(res)
  847. for (let item in res.data) {
  848. this.listData.fStltypeid.push({
  849. label: res.data[item].dictLabel,
  850. value: JSON.parse(res.data[item].dictValue)
  851. })
  852. }
  853. })
  854. queryItem().then(res => {
  855. console.log(res)
  856. for (let item in res.data) {
  857. this.dataList.fGoodsid.push({
  858. label: res.data[item].projectName,
  859. value: res.data[item].fId,
  860. personNaem: res.data[item].personNaem,
  861. corpsName: res.data[item].corpsName,
  862. fCorpid: res.data[item].fCorpid
  863. })
  864. }
  865. })
  866. //查询仓库
  867. warehouse().then(res => {
  868. console.log(res)
  869. for (let item in res.rows) {
  870. this.dataList.fWarehouseid.push({
  871. label: res.rows[item].fName,
  872. value: res.rows[item].fId
  873. })
  874. }
  875. })
  876. this.fCompany(1)
  877. this.fCompany(2)
  878. },
  879. methods: {
  880. change(scope){
  881. console.log(this.contentList)
  882. for(let item in this.contentList){
  883. for(let li in this.listData.fFeeid){
  884. if(this.contentList[item].fFeeid == this.listData.fFeeid[li].value){
  885. console.log("111")
  886. this.$set(this.contentList[item],'fFeeunitid',this.listData.fFeeid[li].fFeeunitid)
  887. this.$set(this.contentList[item],'fCurrencyName',this.listData.fFeeid[li].fCurrency)
  888. }
  889. }
  890. }
  891. },
  892. homePage(){
  893. let date = this.$route.query
  894. console.log(date)
  895. if (this.$route.query.list){
  896. // this.contentButton = this.$options.data().contentButton
  897. // this.contentButton.push(JSON.parse(this.$route.query.list))
  898. console.log(this.contentButton)
  899. let scope = {
  900. row:{
  901. fId:JSON.parse(this.$route.query.data).billId
  902. }
  903. }
  904. this.viewMethod(scope)
  905. }else{
  906. console.log("111")
  907. this.pageDisplay = true
  908. }
  909. },
  910. // 查看审批流
  911. getDataList() {
  912. this.addOrUpdateVisible = false;
  913. },
  914. returnData() {
  915. this.addOrUpdateVisib = false;
  916. this.open = false;
  917. this.cancelTwo();
  918. },
  919. sequence(res){
  920. // let i = 0
  921. // for ( i ; i <= this.tableData.length;i++){
  922. // if (this.$refs.avatar.form.fId == this.tableData[i].fId) {
  923. // console.log(i)
  924. // if (i >= 0) this.forward = true
  925. // if (this.tableData.length != Number(i+1)) this.backward = false
  926. // if (i !== 0){
  927. // console.log(this.tableData[--i].fId)
  928. // }
  929. // return
  930. // }
  931. // }
  932. // if (res === true){
  933. //
  934. // }
  935. },
  936. addOrUpdateHandle() {
  937. this.addOrUpdateVisible = true;
  938. this.$nextTick(() => {
  939. this.$refs.addOrUpdate.init(this.$refs.avatar.form.fId,520);
  940. });
  941. },
  942. addOrUpdateHand() {
  943. this.addOrUpdateVisib = true;
  944. this.$nextTick(() => {
  945. this.$refs.ApprovalComments.init(this.$refs.avatar.form.fId,520);
  946. });
  947. },
  948. //首页审批跳转关闭返回首页
  949. cancelTwo() {
  950. let view = {}
  951. if(this.pendingPage.pendingPage){
  952. view = {
  953. fullPath: "/morePage/stock?open=true",
  954. hash: "",
  955. matched: Array(2),
  956. meta: Object,
  957. name: "MorePage/stock",
  958. params: Object,
  959. path: "/morePage/stock",
  960. query: Object,
  961. title: "待审数据"
  962. }
  963. this.$router.push({ path: '/morePage/stock' })
  964. }else{
  965. view = {
  966. fullPath: '/purchaseRequest',
  967. hash: '',
  968. matched: Array(2),
  969. meta: Object,
  970. name: 'PurchaseRequest',
  971. params: Object,
  972. path: '/purchaseRequest',
  973. query: Object,
  974. title: '采购申请'
  975. }
  976. this.$router.push({ path: '/index' })
  977. }
  978. this.$store
  979. .dispatch('tagsView/delView', view)
  980. .then(({ visitedViews }) => {
  981. if (this.isActive(view)) {
  982. this.toLastView(visitedViews, view)
  983. }
  984. })
  985. Global.$emit('removeCache', 'closeSelectedTag', view)
  986. },
  987. //分页
  988. handleSizeChange(val) {
  989. // console.log(`每页 ${val} 条`);
  990. this.formDataList.pageSize = val
  991. this.query(this.formDataList)
  992. },
  993. handleCurrentChange(val) {
  994. // console.log(`当前页: ${val}`);
  995. this.formDataList.pageNum = val
  996. this.query(this.formDataList)
  997. },
  998. //计算金额
  999. totalAmount(scope) {
  1000. console.log(scope)
  1001. if (scope.row.fUnitprice && scope.row.fQty) {
  1002. scope.row.fAmount = (scope.row.fUnitprice * scope.row.fQty).toFixed(2)
  1003. }
  1004. },
  1005. //查询公司
  1006. fCompany(name) {
  1007. company(name).then(res => {
  1008. console.log(res)
  1009. if (name == 1) {
  1010. this.dataList.fCorpid = []
  1011. for (let item in res.data) {
  1012. this.dataList.fCorpid.push({
  1013. label: res.data[item].fName,
  1014. value: res.data[item].fId
  1015. })
  1016. }
  1017. } else if (name == 2) {
  1018. this.dataList.fSbu = []
  1019. for (let item in res.data) {
  1020. this.dataList.fSbu.push({
  1021. label: res.data[item].fName,
  1022. value: res.data[item].fId
  1023. })
  1024. }
  1025. }
  1026. })
  1027. },
  1028. //查询主页列数据
  1029. query(data) {
  1030. console.log(data)
  1031. listQuery(data).then(res => {
  1032. this.tableData = res.rows
  1033. this.total = res.total
  1034. })
  1035. },
  1036. //查询列数据
  1037. getRow(data,list,add,i) {
  1038. console.log(data,list,add)
  1039. select(data).then((res) => {
  1040. if (data.tableName === '采购申请详情') {
  1041. if (res.data.length != 0) {
  1042. this.purchaseList.columnList = res.data.filter((e) => e.checked == 0)
  1043. this.purchaseList.columnList = res.data
  1044. this.setRowList = res.data
  1045. this.purchaseList.columnList = this.purchaseList.columnList.filter((e) => e.checked == 0)
  1046. // this.waitFor = true
  1047. } else {
  1048. this.$set(this.purchaseList,'columnList',this.$options.data().contentStyle)
  1049. this.setRowList = this.$options.data().contentStyle
  1050. }
  1051. if(add){
  1052. this.purchaseList.columnList.forEach(item => item.disabled = false)
  1053. }else{
  1054. this.purchaseList.columnList.forEach(item => item.disabled = true)
  1055. }
  1056. this.pageDisplay = false
  1057. this.isItHidden = false
  1058. this.inDex = this.contentOption.length
  1059. } else {
  1060. if (res.data.length != 0) {
  1061. this.queryList.columnList = res.data.filter((e) => e.checked == 0)
  1062. this.queryList.columnList = res.data
  1063. this.setRowList = res.data
  1064. this.queryList.columnList = this.queryList.columnList.filter((e) => e.checked == 0)
  1065. // this.waitFor = true
  1066. } else {
  1067. this.$set(this.queryList,'columnList',this.$options.data().listStyle)
  1068. this.setRowList = this.$options.data().listStyle
  1069. }
  1070. this.pageDisplay = true
  1071. this.isItHidden = true
  1072. this.inDex = 4
  1073. }
  1074. this.$refs.avatar.form = {}
  1075. if (list){
  1076. this.$refs.avatar.form = list.warehouseBills
  1077. this.contentList = list.tWarehousebillsfees
  1078. this.contentButton = this.$options.data().contentButton
  1079. console.log(this.$route.query.list)
  1080. if (this.pendingPage.name) {
  1081. this.contentButton.push(JSON.parse(this.$route.query.list))
  1082. }
  1083. let data = {
  1084. actId: 520,
  1085. id: this.$refs.avatar.form.fId
  1086. }
  1087. getName(data).then(response => {
  1088. console.log(response)
  1089. if (response.data.length != 0) {
  1090. this.before = response.data[0].userName
  1091. if (this.$refs.avatar.form.fBillstatus === 6 && this.before == this.lander) {
  1092. // this.contentButton.forEach(item =>{
  1093. // if (item.name === '审批'){
  1094. //
  1095. // }
  1096. // })
  1097. this.contentButton.push({
  1098. type: 'danger',
  1099. size: 'mini',
  1100. icon: 'el-icon-edit-outline',
  1101. name: '撤销采购',
  1102. disabled: false
  1103. })
  1104. }
  1105. }
  1106. })
  1107. let operator = this.$refs.avatar.form.createBy
  1108. if(this.$refs.avatar.form.fBillstatus === 4 && this.lander === operator){
  1109. this.contentButton.push({
  1110. type: 'danger',
  1111. size: 'mini',
  1112. icon: 'el-icon-edit-outline',
  1113. name: '撤销审批',
  1114. disabled: false
  1115. })
  1116. }
  1117. this.contentButton.forEach(item =>{
  1118. if(this.$refs.avatar.form.fBillstatus < 4){
  1119. if (item.name == '录入明细' || item.name == '保存'){
  1120. item.disabled = true
  1121. }else {
  1122. item.disabled = false
  1123. }
  1124. }else{
  1125. if (item.name == '录入明细' || item.name == '保存' || item.name == '请核' || item.name == '修改'){
  1126. item.disabled = true
  1127. }else {
  1128. item.disabled = false
  1129. }
  1130. }
  1131. })
  1132. }
  1133. if (i == 1) this.submitAnd()
  1134. })
  1135. },
  1136. returnToForm(row) {
  1137. console.log(row, 111)
  1138. },
  1139. //查看-列表
  1140. viewMethod(scope,res,i) {
  1141. if(res){
  1142. this.contentButton.forEach(item => {
  1143. item.disabled = false
  1144. this.purchaseList.columnList.forEach(item => item.disabled = false)
  1145. this.contentStyle.forEach(item => item.disabled = false)
  1146. this.contentOption.forEach(item => {
  1147. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1148. item.disabled = true
  1149. } else {
  1150. item.disabled = false
  1151. }
  1152. })
  1153. })
  1154. }else{
  1155. this.contentOption.forEach(item => item.disabled = true)
  1156. this.contentStyle.forEach(item => item.disabled = true)
  1157. }
  1158. viewSingle(scope.row.fId).then(res => {
  1159. if (res.code === 200) {
  1160. let data = {
  1161. tableName: this.purchaseList.tableName,
  1162. userId: Cookies.get('userName')
  1163. }
  1164. let list ={
  1165. warehouseBills:res.data.warehouseBills,
  1166. tWarehousebillsfees:res.data.tWarehousebillsfees
  1167. }
  1168. // this.$refs.avatar.form = {}
  1169. this.getRow(data,list,'',i)
  1170. }
  1171. })
  1172. },
  1173. submitAnd(){
  1174. this.$refs.avatar.form.fId = ''
  1175. this.$refs.avatar.form.fBillno = ''
  1176. this.contentList.forEach(item=>item.fId = '')
  1177. this.contentOption.forEach(item => {
  1178. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1179. item.disabled = true
  1180. } else {
  1181. item.disabled = false
  1182. }
  1183. })
  1184. this.purchaseList.columnList.forEach(item => item.disabled = false)
  1185. this.contentButton.forEach(item => item.disabled = false)
  1186. this.contentStyle.forEach(item => item.disabled = false)
  1187. },
  1188. //修改
  1189. modification(scope) {
  1190. console.log(scope)
  1191. },
  1192. //删除
  1193. deletion(scope) {
  1194. console.log(scope.row.fId)
  1195. tableDeleteQuery(scope.row.fId).then(res => {
  1196. console.log(res)
  1197. this.$confirm(res.msg == 1 ? '主表数据为空' : (res.msg == 2 ? '主表有数据' : '未知状态') + '是否永久删除该条数据?', '提示', {
  1198. confirmButtonText: '确定',
  1199. cancelButtonText: '取消',
  1200. type: 'warning'
  1201. }).then(() => {
  1202. confirmDeletion(scope.row.fId).then(data => {
  1203. this.$message({
  1204. type: 'success',
  1205. message: '删除成功!'
  1206. })
  1207. this.query(this.formDataList)
  1208. })
  1209. }).catch(() => {
  1210. this.$message({
  1211. type: 'info',
  1212. message: '已取消删除'
  1213. })
  1214. })
  1215. })
  1216. },
  1217. //选择框
  1218. selectionbox(selection) {
  1219. if (selection.length > 1){
  1220. this.customButton.forEach(item =>{
  1221. if (item.name === '复制新单'){
  1222. item.disabled = true
  1223. }else {
  1224. item.disabled = false
  1225. }
  1226. })
  1227. }else {
  1228. this.customButton.forEach(item => item.disabled = false)
  1229. this.selection = selection
  1230. }
  1231. },
  1232. //详情内容保存
  1233. submitAndSave(item,res) {
  1234. console.log(res)
  1235. if(this.$refs.avatar.form.fBillstatus < 4 || !this.$refs.avatar.form.fBillstatus) {
  1236. let formData = new window.FormData()
  1237. this.$refs.avatar.form.fMoney = 0
  1238. this.contentList.forEach(item => this.$refs.avatar.form.fMoney += Number(item.fAmount))
  1239. formData.append('tWarehousebills', JSON.stringify(this.$refs.avatar.form))
  1240. formData.append('tWarehousebillsfees', JSON.stringify(this.contentList))
  1241. formData.append('fBilltype', 'SQ')
  1242. submit(formData).then(res => {
  1243. if (res.code == 200) {
  1244. if(!res){
  1245. this.$refs.avatar.form = res.data.warehouseBills
  1246. }
  1247. this.contentList = res.data.tWarehousebillsCntrs
  1248. if (item === 3){
  1249. this.$refs.avatar.form.fId = ''
  1250. this.$refs.avatar.form.fBillno = ''
  1251. this.contentList.forEach(item=>item.fId = '')
  1252. this.contentOption.forEach(item => {
  1253. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1254. item.disabled = true
  1255. } else {
  1256. item.disabled = false
  1257. }
  1258. })
  1259. this.purchaseList.columnList.forEach(item => item.disabled = false)
  1260. this.contentButton.forEach(item => item.disabled = false)
  1261. this.contentStyle.forEach(item => item.disabled = false)
  1262. }else{
  1263. this.$message.success('保存成功')
  1264. }
  1265. }
  1266. })
  1267. }
  1268. if (item == 1){
  1269. this.dialogVisible = true
  1270. }else if (item === 2){
  1271. let data = {
  1272. tableName: this.queryList.tableName,
  1273. userId: Cookies.get('userName')
  1274. }
  1275. this.getRow(data)
  1276. this.query(this.formDataList)
  1277. }
  1278. if (item === 3 && this.$refs.avatar.form.fBillstatus > 3){
  1279. let datae = {
  1280. fId:this.$refs.avatar.form.fId,
  1281. fBilltype:'SQ'
  1282. }
  1283. copyNew(datae).then(res=> {
  1284. this.$message({
  1285. message: '复制新单成功',
  1286. type: 'success',
  1287. showClose: true
  1288. });
  1289. let scope = {
  1290. row: {
  1291. fId: res.data
  1292. }
  1293. }
  1294. this.query(this.formDataList)
  1295. this.viewMethod(scope,res)
  1296. })
  1297. }
  1298. },
  1299. //表单选中后触发
  1300. selectTrigger(name, list, id) {
  1301. console.log(list, id)
  1302. if (name == 'fGoodsid') {
  1303. for (let item in list) {
  1304. if (list[item].value == id) {
  1305. this.$refs.avatar.form.personNaem = list[item].personNaem
  1306. this.$refs.avatar.form.corpsName = list[item].corpsName
  1307. }
  1308. }
  1309. }
  1310. },
  1311. //确认打印
  1312. Printing(){
  1313. this.$print(this.$refs.print)
  1314. },
  1315. //返回列表
  1316. backToList(){
  1317. let data
  1318. if (!this.$refs.avatar.form.fId && this.contentList !== 0 || this.$refs.avatar.form.fBillstatus > 3 && !this.$route.query.data) {
  1319. data = {
  1320. tableName: this.queryList.tableName,
  1321. userId: Cookies.get('userName')
  1322. }
  1323. this.getRow(data)
  1324. this.query(this.formDataList)
  1325. } else if(this.$route.query.data){
  1326. this.cancelTwo();
  1327. // this.$router.push({path:'/index'})
  1328. }else {
  1329. this.$confirm('当前数据是否保存?', '提示', {
  1330. confirmButtonText: '保存',
  1331. cancelButtonText: '取消',
  1332. type: 'warning'
  1333. }).then(() => {
  1334. this.submitAndSave(2,1)
  1335. }).catch(() => {
  1336. data = {
  1337. tableName: this.queryList.tableName,
  1338. userId: Cookies.get('userName')
  1339. }
  1340. this.getRow(data)
  1341. this.query(this.formDataList)
  1342. })
  1343. }
  1344. },
  1345. //所以按钮
  1346. buttonList(row) {
  1347. console.log(row)
  1348. let data
  1349. switch (row.name) {
  1350. case '新单':
  1351. if(row.nameTwo == '详情页'){
  1352. if(this.$refs.avatar.form.fId){
  1353. this.contentList = []
  1354. data = {
  1355. tableName: this.purchaseList.tableName,
  1356. userId: Cookies.get('userName')
  1357. }
  1358. this.$refs.avatar.form = {}
  1359. this.getRow(data,'',1)
  1360. this.contentOption.forEach(item => {
  1361. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1362. item.disabled = true
  1363. } else {
  1364. item.disabled = false
  1365. }
  1366. })
  1367. this.contentButton.forEach(item => item.disabled = false)
  1368. this.contentStyle.forEach(item => item.disabled = false)
  1369. this.$refs.avatar.clearVerification()
  1370. this.$refs.avatar.form.createBy = Cookies.get('userName')
  1371. }else{
  1372. this.$message.error("当前数据未保存,请先保存")
  1373. }
  1374. }else{
  1375. this.contentList = []
  1376. data = {
  1377. tableName: this.purchaseList.tableName,
  1378. userId: Cookies.get('userName')
  1379. }
  1380. this.$refs.avatar.form = {}
  1381. this.getRow(data,'',1)
  1382. this.contentOption.forEach(item => {
  1383. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1384. item.disabled = true
  1385. } else {
  1386. item.disabled = false
  1387. }
  1388. })
  1389. this.contentButton.forEach(item => item.disabled = false)
  1390. this.contentStyle.forEach(item => item.disabled = false)
  1391. this.$refs.avatar.clearVerification()
  1392. this.$refs.avatar.form.createBy = Cookies.get('userName')
  1393. }
  1394. break
  1395. case '保存':
  1396. this.$refs.avatar.submitForm('submit')
  1397. break
  1398. case '打印':
  1399. console.log(this.listData.fFeeid,this.contentList)
  1400. for (let item in this.contentList){
  1401. for (let li in this.listData.fFeeid){
  1402. if (this.contentList[item].fFeeid == this.listData.fFeeid[li].value){
  1403. this.contentList[item].feeName = this.listData.fFeeid[li].label
  1404. }
  1405. }
  1406. for(let i in this.listData.fFeeunitid){
  1407. if (this.contentList[item].fFeeunitid == this.listData.fFeeunitid[i].value){
  1408. this.contentList[item].fFeeunitName = this.listData.fFeeunitid[i].label
  1409. }
  1410. }
  1411. }
  1412. if (!this.$refs.avatar.form.fId){
  1413. this.$message.error('未保存,不允许打印');
  1414. }else if (this.$refs.avatar.form.fBillstatus >= 4){
  1415. this.formList = this.$refs.avatar.form
  1416. this.dialogVisible = true
  1417. }else {
  1418. this.formList = this.$refs.avatar.form
  1419. console.log(this.$refs.avatar.form.fBillstatus)
  1420. this.submitAndSave(1)
  1421. }
  1422. break
  1423. case '修改':
  1424. this.contentButton.forEach(item =>{
  1425. if (this.$refs.avatar.form.fBillstatus >= 4){
  1426. if (item.name === '返回列表' || item.name == '打印' || item.name === '修改' || item.name === '生成入库单' || item.name === '生成销售单'||item.name === '生成出库单' || item.name === '查看审批' || item.name === '审批' || item.name === '撤销采购' || item.name === '撤销审批'){
  1427. item.disabled = false
  1428. }else {
  1429. item.disabled = true
  1430. }
  1431. }else {
  1432. item.disabled = false
  1433. this.purchaseList.columnList.forEach(item => item.disabled = false)
  1434. this.contentStyle.forEach(item => item.disabled = false)
  1435. this.contentOption.forEach(item => {
  1436. if (item.label == 'personNaem' || item.label == 'corpsName' || item.label == 'createBy' || item.label == 'fBillno') {
  1437. item.disabled = true
  1438. } else {
  1439. item.disabled = false
  1440. }
  1441. })
  1442. }
  1443. })
  1444. break
  1445. case '录入明细':
  1446. this.contentList.push({
  1447. fFeeid: '',
  1448. fUnitprice: '',
  1449. fPurchase: '',
  1450. fQty: '',
  1451. fFeeunitid: '',
  1452. fAmount: '',
  1453. fStltypeid: '',
  1454. remark: '',
  1455. createTime: '',
  1456. createBy: Cookies.get('userName'),
  1457. fReviewDate: '',
  1458. operation: '',
  1459. })
  1460. break
  1461. case '查看审批':
  1462. this.addOrUpdateHandle()
  1463. break
  1464. case '审批':
  1465. this.addOrUpdateHand()
  1466. break
  1467. case '请核':
  1468. if (this.$refs.avatar.form.fBillstatus < 4){
  1469. this.$refs.avatar.submitForm('check')
  1470. }else {
  1471. this.$message.error('请先保存');
  1472. }
  1473. break
  1474. case '生成入库单':
  1475. let listData = {
  1476. fId:this.$refs.avatar.form.fId,
  1477. fBilltype:'RK'
  1478. }
  1479. copyNew(listData).then(res=>{
  1480. this.$message({
  1481. message: '生成成功',
  1482. type: 'success',
  1483. showClose:true
  1484. });
  1485. })
  1486. break
  1487. case '生成销售单':
  1488. let liste = {
  1489. fId:this.$refs.avatar.form.fId,
  1490. fBilltype:'XS'
  1491. }
  1492. copyNew(liste).then(res=>{
  1493. this.$message({
  1494. message: '生成成功',
  1495. type: 'success',
  1496. showClose:true
  1497. });
  1498. })
  1499. break
  1500. case '生成出库单':
  1501. let listd = {
  1502. fId:this.$refs.avatar.form.fId,
  1503. fBilltype:'CK'
  1504. }
  1505. copyNew(listd).then(res=>{
  1506. this.$message({
  1507. message: '生成成功',
  1508. type: 'success',
  1509. showClose:true
  1510. });
  1511. })
  1512. break
  1513. case '复制新单':
  1514. if (row.nameTwo === '详情页'){
  1515. this.$refs.avatar.submitForm('submit',3)
  1516. }else {
  1517. if (this.selection.length > 0){
  1518. let scope = {
  1519. row:{
  1520. fId:this.selection[0].fId
  1521. }
  1522. }
  1523. this.query(this.formDataList)
  1524. this.viewMethod(scope,'',1)
  1525. }else {
  1526. this.$message.warning('未选择列表,请选择后再点击');
  1527. }
  1528. }
  1529. break
  1530. case '撤销审批':
  1531. let date = new Date()
  1532. let y = date.getFullYear()
  1533. let m = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
  1534. let d = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate())
  1535. data = {
  1536. actId:520,
  1537. id:this.$refs.avatar.form.fId,
  1538. billId:this.$refs.avatar.form.fId,
  1539. auditItem:y + '-' + m + '-' + d
  1540. }
  1541. console.log(data)
  1542. revoke(data).then(res=>{
  1543. if (res.code === 200){
  1544. this.$message({
  1545. showClose: true,
  1546. message: '撤销成功',
  1547. type: 'success'
  1548. })
  1549. data = {
  1550. tableName: this.queryList.tableName,
  1551. userId: Cookies.get('userName')
  1552. }
  1553. this.getRow(data)
  1554. this.query(this.formDataList)
  1555. }
  1556. })
  1557. break
  1558. case '撤销采购':
  1559. withdrawBy(this.$refs.avatar.form.fId).then(res=>{
  1560. if (res.code === 200){
  1561. this.$message({
  1562. showClose: true,
  1563. message: '撤销成功',
  1564. type: 'success'
  1565. })
  1566. data = {
  1567. tableName: this.queryList.tableName,
  1568. userId: Cookies.get('userName')
  1569. }
  1570. this.getRow(data)
  1571. this.query(this.formDataList)
  1572. }
  1573. })
  1574. break
  1575. default:
  1576. this.$message.error('该按钮暂无功能')
  1577. }
  1578. },
  1579. //请核
  1580. writeOff(){
  1581. let formData = new window.FormData()
  1582. formData.append('tWarehousebills', JSON.stringify(this.$refs.avatar.form))
  1583. formData.append('tWarehousebillsfees', JSON.stringify(this.contentList))
  1584. formData.append('fBilltype', 'SQ')
  1585. pleaseCheck(formData).then(res => {
  1586. if (res.code == 200) {
  1587. this.$message.success('请核成功')
  1588. this.contentOption.forEach(item => item.disabled = true)
  1589. this.contentStyle.forEach(item => item.disabled = true)
  1590. this.contentButton.forEach(item =>{
  1591. if (item.name == '返回列表' || item.name == '修改'){
  1592. item.disabled = false
  1593. }else {
  1594. item.disabled = true
  1595. }
  1596. })
  1597. // this.$refs.avatar.form = res.data.warehouseBills
  1598. // this.contentList = res.data.tWarehousebillsCntrs
  1599. let data = {
  1600. tableName: this.queryList.tableName,
  1601. userId: Cookies.get('userName')
  1602. }
  1603. this.getRow(data)
  1604. this.query(this.formDataList)
  1605. }
  1606. })
  1607. },
  1608. // 显示搜索条件、点击后会调用此方法
  1609. showSearch() {
  1610. console.log('到我了')
  1611. this.searchWhether = !this.searchWhether
  1612. },
  1613. //搜索、重置、展开
  1614. feedback(res) {
  1615. console.log(res)
  1616. if (res == '展开') {
  1617. if (this.inDex == 4) {
  1618. this.inDex = this.formOption.length
  1619. } else {
  1620. this.inDex = 4
  1621. }
  1622. } else if (res == '搜索') {
  1623. this.$refs.avatar.submitForm()
  1624. } else if (res == '重置') {
  1625. this.$refs.avatar.form = {}
  1626. this.formDataList.pageNum = 1
  1627. this.$refs.avatar.submitForm()
  1628. }
  1629. },
  1630. //表单验证通过执行搜索
  1631. submitForm() {
  1632. let list = this.formDataList
  1633. console.log(this.$refs.avatar.form)
  1634. this.formDataList = this.$refs.avatar.form
  1635. this.formDataList.fBilltype = list.fBilltype
  1636. this.formDataList.pageSize = list.pageSize
  1637. this.formDataList.pageNum = list.pageNum
  1638. this.query(this.formDataList)
  1639. },
  1640. //点击刷新会调用此方法
  1641. getList() {
  1642. this.feedback('重置')
  1643. this.submitForm()
  1644. console.log('到我了2')
  1645. },
  1646. //详情表内容移出
  1647. deletRows(index, rows) {
  1648. console.log(index, rows)
  1649. if (rows[index].fId) {
  1650. deleteQuery(this.$refs.avatar.form.fId, this.$refs.avatar.form.fDateChanged).then(res => {
  1651. if (res.code === 200) {
  1652. listDelete(rows[index].fId).then(data => {
  1653. rows.splice(index, 1)
  1654. })
  1655. }
  1656. })
  1657. } else {
  1658. rows.splice(index, 1)
  1659. }
  1660. }
  1661. }
  1662. }
  1663. </script>
  1664. <style scoped>
  1665. .table {
  1666. border-collapse: collapse;
  1667. border-spacing: 0;
  1668. background-color: transparent;
  1669. display: table;
  1670. width: 100%;
  1671. max-width: 100%;
  1672. margin: 0 auto;
  1673. }
  1674. .table td {
  1675. text-align: center;
  1676. vertical-align: middle;
  1677. font-size: 14px;
  1678. color: #333333;
  1679. padding: 8px 12px;
  1680. }
  1681. .column {
  1682. border: 1px solid #000;
  1683. }
  1684. .app-container >>> .el-form-item{
  1685. margin-bottom: 0;
  1686. }
  1687. </style>