incomeMoney.vue 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842
  1. <template>
  2. <div>
  3. <!-- 列设置-->
  4. <el-dialog title="提示" :visible.sync="showSetting" width="700px" v-dialogDrag append-to-body>
  5. <template slot="title">
  6. <div class="avue-crud__dialog__header">
  7. <span class="el-dialog__title">
  8. <span
  9. style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px"></span>
  10. </span>
  11. </div>
  12. </template>
  13. <div>配置排序列数据(拖动调整顺序)</div>
  14. <div style="margin-left: 17px">
  15. <el-checkbox
  16. v-model="allCheck"
  17. label="全选"
  18. @change="allChecked"
  19. ></el-checkbox>
  20. </div>
  21. <div style="padding: 4px; display: flex; justify-content: center">
  22. <draggable
  23. v-model="setRowList"
  24. group="site"
  25. animation="300"
  26. @start="onStart"
  27. @end="onEnd"
  28. handle=".indraggable"
  29. >
  30. <transition-group>
  31. <div
  32. v-for="item in setRowList"
  33. :key="item.surface"
  34. class="listStyle"
  35. >
  36. <div style="width: 500px" class="indraggable">
  37. <div class="progress" :style="{ width: item.width + 'px' }">
  38. <el-checkbox
  39. :label="item.name"
  40. v-model="item.checked"
  41. :true-label="0"
  42. :false-label="1"
  43. >{{ item.name }}
  44. </el-checkbox>
  45. </div>
  46. </div>
  47. <el-input-number
  48. v-model.number="item.width"
  49. controls-position="right"
  50. :min="1"
  51. :max="500"
  52. size="mini"
  53. ></el-input-number>
  54. </div>
  55. </transition-group>
  56. </draggable>
  57. </div>
  58. <span slot="footer" class="dialog-footer">
  59. <el-button @click="showSetting = false">取 消</el-button>
  60. <el-button @click="delRow" type="danger">重 置</el-button>
  61. <el-button type="primary" @click="save()">确 定</el-button>
  62. </span>
  63. </el-dialog>
  64. <div
  65. class="dialogTableTitle flex a-center jlr"
  66. style="
  67. display: flex;
  68. justify-content: space-between;
  69. align-items: center;
  70. margin: 10px 0;
  71. "
  72. >
  73. <div>
  74. <el-button
  75. size="small"
  76. type="primary"
  77. :disabled="browseStatus"
  78. @click.prevent="addCollection()"
  79. >新行
  80. </el-button>
  81. <el-button
  82. type="primary"
  83. size="small"
  84. :disabled="browseStatus"
  85. @click="saveForm"
  86. >保 存
  87. </el-button
  88. >
  89. <el-button
  90. size="small"
  91. @click.prevent="handleSelect()"
  92. type="danger"
  93. >作业费协议
  94. </el-button>
  95. <el-button
  96. v-if="feeDisplay"
  97. size="small"
  98. :disabled="browseStatus"
  99. type="warning"
  100. >计算仓储费
  101. </el-button>
  102. <el-button
  103. size="small"
  104. type="primary"
  105. @click="feesConfirm"
  106. v-if="isShowFeesConfirm == 0"
  107. >费用确认单</el-button>
  108. <el-button
  109. type="primary"
  110. size="small"
  111. v-if="browseStatus"
  112. @click="feeChange"
  113. >费用变更</el-button>
  114. </div>
  115. <div style="margin: 0 10px;float: right">
  116. <el-button
  117. v-if="true"
  118. icon="el-icon-setting"
  119. size="mini"
  120. circle
  121. @click="showSetting = !showSetting"
  122. ></el-button>
  123. </div>
  124. </div>
  125. <el-table
  126. :data="warehouseDrList"
  127. ref="table"
  128. tooltip-effect="dark"
  129. border
  130. stripe
  131. show-summary
  132. @selection-change="Collectionoptions"
  133. :summary-method="warehouseDrSummaries"
  134. >
  135. <el-table-column type="selection" width="55" align="center"/>
  136. <el-table-column label="序号" type="index" width="80"></el-table-column>
  137. <el-table-column
  138. v-for="(item, index) in getRowList"
  139. :key="index"
  140. :label="item.name"
  141. :width="item.width"
  142. :prop="item.label"
  143. align="center"
  144. :fixed="item.fixed"
  145. :show-overflow-tooltip="true"
  146. sortable
  147. >
  148. <template slot-scope="scope">
  149. <span v-if="item.label == 'fCorpid'">
  150. <el-select
  151. v-model="scope.row.fCorpid"
  152. filterable
  153. clearable
  154. placeholder="客户名称"
  155. :disabled="browseStatus || scope.row.fBillstatus == 6"
  156. >
  157. <el-option
  158. v-for="(item, index) in fMblnoOptions"
  159. :key="index.fId"
  160. :label="item.fName"
  161. :value="item.fId"
  162. ></el-option>
  163. </el-select>
  164. </span>
  165. <span v-else-if="item.label == 'fFeeid'">
  166. <el-select
  167. v-model="scope.row.fFeeid"
  168. clearable
  169. filterable
  170. placeholder="费用名称"
  171. :disabled="browseStatus || scope.row.fBillstatus == 6"
  172. @change="feeChoice(scope.row)"
  173. >
  174. <el-option
  175. v-for="(item, index) in fDNameOptions"
  176. :key="index.fId"
  177. :label="item.fName"
  178. :value="item.fId"
  179. ></el-option>
  180. </el-select>
  181. </span>
  182. <span v-else-if="item.label == 'fBusinessType'">
  183. <el-select
  184. style="width: 80%"
  185. v-model="scope.row.fBusinessType"
  186. filterable
  187. disabled
  188. >
  189. <el-option
  190. v-for="(item, index) in businessTypeOption"
  191. :key="index.dictValue"
  192. :label="item.dictLabel"
  193. :value="item.dictValue"
  194. ></el-option>
  195. </el-select>
  196. </span>
  197. <span v-else-if="item.label == 'fFeeUnitid'">
  198. <el-select
  199. v-model="scope.row.fFeeUnitid"
  200. placeholder="请选择计价单位"
  201. clearable
  202. :disabled="browseStatus || scope.row.fBillstatus == 6"
  203. @change="changeFeeUnit(scope.row)"
  204. >
  205. <el-option
  206. v-for="(item, index) in fFeetUnitOptions"
  207. :key="index.dictValue"
  208. :label="item.dictLabel"
  209. :value="item.dictValue"
  210. />
  211. </el-select>
  212. </span>
  213. <span v-else-if="item.label == 'fQty'">
  214. <el-input
  215. oninput='this.value=this.value.replace(/[^0-9.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/,"$1$2.$3")'
  216. v-model="scope.row.fQty"
  217. placeholder="数量"
  218. :disabled="browseStatus || scope.row.fBillstatus == 6"
  219. @change="changeContractAmt(scope.row)"
  220. show-word-limit
  221. />
  222. </span>
  223. <span v-else-if="item.label == 'fUnitprice'">
  224. <el-input
  225. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  226. v-model="scope.row.fUnitprice"
  227. placeholder="单价"
  228. :disabled="browseStatus || scope.row.fSrcTypeId !== 0 || scope.row.fBillstatus == 6"
  229. @change="changeContractAmt(scope.row)"
  230. show-word-limit
  231. />
  232. </span>
  233. <span v-else-if="item.label == 'fAmount'">
  234. <el-input
  235. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  236. v-model="scope.row.fAmount"
  237. :disabled="browseStatus || scope.row.fSrcTypeId !== 0 || scope.row.fBillstatus == 6"
  238. placeholder="金额"
  239. show-word-limit
  240. />
  241. </span>
  242. <span v-else-if="item.label == 'fStltypeid'">
  243. <el-select
  244. v-model="scope.row.fStltypeid"
  245. placeholder="请选择结算表票结、月结"
  246. :disabled="browseStatus || scope.row.fBillstatus == 6"
  247. >
  248. <el-option
  249. v-for="(item, index) in fStltypeOptions"
  250. :key="index.dictValue"
  251. :label="item.dictLabel"
  252. :value="item.dictValue"
  253. ></el-option>
  254. </el-select>
  255. </span>
  256. <span v-else-if="item.label == 'fCurrency'">
  257. <el-input
  258. v-model="scope.row.fCurrency"
  259. :disabled="browseStatus || scope.row.fBillstatus == 6"
  260. placeholder="币别"
  261. show-word-limit
  262. />
  263. </span>
  264. <span v-else-if="item.label == 'fExrate'">
  265. <el-input
  266. v-model="scope.row.fExrate"
  267. :disabled="browseStatus || scope.row.fBillstatus == 6"
  268. placeholder="汇率"
  269. show-word-limit
  270. />
  271. </span>
  272. <span v-else-if="item.label == 'fTaxrate'">
  273. <el-input
  274. v-model="scope.row.fTaxrate"
  275. :disabled="browseStatus || scope.row.fBillstatus == 6"
  276. placeholder="税率"
  277. show-word-limit
  278. />
  279. </span>
  280. <span v-else-if="item.label == 'fMblno'">
  281. <el-input
  282. v-model="scope.row.fMblno"
  283. :disabled="browseStatus || scope.row.fBillstatus == 6"
  284. placeholder="提单号"
  285. show-word-limit
  286. />
  287. </span>
  288. <span v-else-if="item.label == 'fProductName'">
  289. <el-input
  290. v-model="scope.row.fProductName"
  291. :disabled="browseStatus || scope.row.fBillstatus == 6"
  292. placeholder="品名"
  293. show-word-limit
  294. />
  295. </span>
  296. <span v-else-if="item.label == 'fMarks'">
  297. <el-input
  298. v-model="scope.row.fMarks"
  299. :disabled="browseStatus || scope.row.fBillstatus == 6"
  300. placeholder="品牌"
  301. show-word-limit
  302. />
  303. </span>
  304. <span v-else-if="item.label == 'fSrcTypeId'">
  305. <span v-if="scope.row.fSrcTypeId === 0">录入</span>
  306. <span v-if="scope.row.fSrcTypeId == 1">协议</span>
  307. <span v-if="scope.row.fSrcTypeId == 10">变更</span>
  308. </span>
  309. <span v-else-if="item.label == 'remark'">
  310. <el-input
  311. v-model="scope.row.remark"
  312. :disabled="browseStatus || scope.row.fBillstatus == 6"
  313. placeholder="备注"
  314. show-word-limit
  315. />
  316. </span>
  317. </template>
  318. </el-table-column>
  319. <!-- <el-table-column-->
  320. <!-- prop="fCorpid"-->
  321. <!-- header-align="center"-->
  322. <!-- align="center"-->
  323. <!-- width="300px"-->
  324. <!-- label="客户名称"-->
  325. <!-- >-->
  326. <!-- <template slot-scope="scope">-->
  327. <!-- <el-select-->
  328. <!-- v-model="scope.row.fCorpid"-->
  329. <!-- filterable-->
  330. <!-- clearable-->
  331. <!-- placeholder="客户名称"-->
  332. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  333. <!-- >-->
  334. <!-- <el-option-->
  335. <!-- v-for="(item, index) in fMblnoOptions"-->
  336. <!-- :key="index.fId"-->
  337. <!-- :label="item.fName"-->
  338. <!-- :value="item.fId"-->
  339. <!-- ></el-option>-->
  340. <!-- </el-select>-->
  341. <!-- </template>-->
  342. <!-- </el-table-column>-->
  343. <!-- <el-table-column-->
  344. <!-- prop="fFeeid"-->
  345. <!-- header-align="center"-->
  346. <!-- align="center"-->
  347. <!-- width="240px"-->
  348. <!-- label="费用名称"-->
  349. <!-- >-->
  350. <!-- <template slot-scope="scope">-->
  351. <!-- <el-select-->
  352. <!-- v-model="scope.row.fFeeid"-->
  353. <!-- clearable-->
  354. <!-- filterable-->
  355. <!-- placeholder="费用名称"-->
  356. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  357. <!-- >-->
  358. <!-- <el-option-->
  359. <!-- v-for="(item, index) in fDNameOptions"-->
  360. <!-- :key="index.fId"-->
  361. <!-- :label="item.fName"-->
  362. <!-- :value="item.fId"-->
  363. <!-- ></el-option>-->
  364. <!-- </el-select>-->
  365. <!-- </template>-->
  366. <!-- </el-table-column>-->
  367. <!-- <el-table-column-->
  368. <!-- prop="fBusinessType"-->
  369. <!-- header-align="center"-->
  370. <!-- align="center"-->
  371. <!-- width="180px"-->
  372. <!-- label="作业类型"-->
  373. <!-- >-->
  374. <!-- <template slot-scope="scope">-->
  375. <!-- <el-select-->
  376. <!-- style="width: 80%"-->
  377. <!-- v-model="scope.row.fBusinessType"-->
  378. <!-- filterable-->
  379. <!-- disabled-->
  380. <!-- >-->
  381. <!-- <el-option-->
  382. <!-- v-for="(item, index) in businessTypeOption"-->
  383. <!-- :key="index.dictValue"-->
  384. <!-- :label="item.dictLabel"-->
  385. <!-- :value="item.dictValue"-->
  386. <!-- ></el-option>-->
  387. <!-- </el-select>-->
  388. <!-- </template>-->
  389. <!-- </el-table-column>-->
  390. <!-- <el-table-column-->
  391. <!-- prop="fFeeUnitid"-->
  392. <!-- header-align="center"-->
  393. <!-- align="center"-->
  394. <!-- width="180px"-->
  395. <!-- label="计价单位"-->
  396. <!-- >-->
  397. <!-- <template slot-scope="scope">-->
  398. <!-- <el-select-->
  399. <!-- v-model="scope.row.fFeeUnitid"-->
  400. <!-- placeholder="请选择计价单位"-->
  401. <!-- clearable-->
  402. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  403. <!-- @change="changeFeeUnit(scope.row)"-->
  404. <!-- >-->
  405. <!-- <el-option-->
  406. <!-- v-for="(item, index) in fFeetUnitOptions"-->
  407. <!-- :key="index.dictValue"-->
  408. <!-- :label="item.dictLabel"-->
  409. <!-- :value="item.dictValue"-->
  410. <!-- />-->
  411. <!-- </el-select>-->
  412. <!-- </template>-->
  413. <!-- </el-table-column>-->
  414. <!-- <el-table-column-->
  415. <!-- prop="fQty"-->
  416. <!-- header-align="center"-->
  417. <!-- align="center"-->
  418. <!-- width="130px"-->
  419. <!-- label="数量"-->
  420. <!-- >-->
  421. <!-- <template slot-scope="scope">-->
  422. <!-- <el-input-->
  423. <!-- oninput='this.value=this.value.replace(/[^0-9.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/,"$1$2.$3")'-->
  424. <!-- v-model="scope.row.fQty"-->
  425. <!-- placeholder="数量"-->
  426. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  427. <!-- @change="changeContractAmt(scope.row)"-->
  428. <!-- show-word-limit-->
  429. <!-- />-->
  430. <!-- </template>-->
  431. <!-- </el-table-column>-->
  432. <!-- <el-table-column-->
  433. <!-- prop="fUnitprice"-->
  434. <!-- header-align="center"-->
  435. <!-- align="center"-->
  436. <!-- width="130px"-->
  437. <!-- label="单价"-->
  438. <!-- >-->
  439. <!-- <template slot-scope="scope">-->
  440. <!-- <el-input-->
  441. <!-- oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'-->
  442. <!-- v-model="scope.row.fUnitprice"-->
  443. <!-- placeholder="单价"-->
  444. <!-- :disabled="browseStatus || scope.row.fSrcTypeId !== 0 || scope.row.fBillstatus == 6"-->
  445. <!-- @change="changeContractAmt(scope.row)"-->
  446. <!-- show-word-limit-->
  447. <!-- />-->
  448. <!-- </template>-->
  449. <!-- </el-table-column>-->
  450. <!-- <el-table-column-->
  451. <!-- prop="fAmount"-->
  452. <!-- header-align="center"-->
  453. <!-- align="center"-->
  454. <!-- width="130px"-->
  455. <!-- label="金额"-->
  456. <!-- >-->
  457. <!-- <template slot-scope="scope">-->
  458. <!-- <el-input-->
  459. <!-- oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'-->
  460. <!-- v-model="scope.row.fAmount"-->
  461. <!-- :disabled="browseStatus || scope.row.fSrcTypeId !== 0 || scope.row.fBillstatus == 6"-->
  462. <!-- placeholder="金额"-->
  463. <!-- show-word-limit-->
  464. <!-- />-->
  465. <!-- </template>-->
  466. <!-- </el-table-column>-->
  467. <!-- <el-table-column-->
  468. <!-- prop="fStltypeid"-->
  469. <!-- header-align="center"-->
  470. <!-- align="center"-->
  471. <!-- width="130px"-->
  472. <!-- label="结算方式"-->
  473. <!-- >-->
  474. <!-- <template slot-scope="scope">-->
  475. <!-- <el-select-->
  476. <!-- v-model="scope.row.fStltypeid"-->
  477. <!-- placeholder="请选择结算表票结、月结"-->
  478. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  479. <!-- >-->
  480. <!-- <el-option-->
  481. <!-- v-for="(item, index) in fStltypeOptions"-->
  482. <!-- :key="index.dictValue"-->
  483. <!-- :label="item.dictLabel"-->
  484. <!-- :value="item.dictValue"-->
  485. <!-- ></el-option>-->
  486. <!-- </el-select>-->
  487. <!-- </template>-->
  488. <!-- </el-table-column>-->
  489. <!-- <el-table-column-->
  490. <!-- prop="fCurrency"-->
  491. <!-- header-align="center"-->
  492. <!-- align="center"-->
  493. <!-- width="130px"-->
  494. <!-- label="币别"-->
  495. <!-- >-->
  496. <!-- <template slot-scope="scope">-->
  497. <!-- <el-input-->
  498. <!-- v-model="scope.row.fCurrency"-->
  499. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  500. <!-- placeholder="币别"-->
  501. <!-- show-word-limit-->
  502. <!-- />-->
  503. <!-- </template>-->
  504. <!-- </el-table-column>-->
  505. <!-- <el-table-column-->
  506. <!-- prop="fExrate"-->
  507. <!-- header-align="center"-->
  508. <!-- align="center"-->
  509. <!-- width="130px"-->
  510. <!-- label="汇率"-->
  511. <!-- >-->
  512. <!-- <template slot-scope="scope">-->
  513. <!-- <el-input-->
  514. <!-- v-model="scope.row.fExrate"-->
  515. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  516. <!-- placeholder="汇率"-->
  517. <!-- show-word-limit-->
  518. <!-- />-->
  519. <!-- </template>-->
  520. <!-- </el-table-column>-->
  521. <!-- <el-table-column-->
  522. <!-- prop="fTaxrate"-->
  523. <!-- header-align="center"-->
  524. <!-- align="center"-->
  525. <!-- width="130px"-->
  526. <!-- label="税率"-->
  527. <!-- >-->
  528. <!-- <template slot-scope="scope">-->
  529. <!-- <el-input-->
  530. <!-- v-model="scope.row.fTaxrate"-->
  531. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  532. <!-- placeholder="税率"-->
  533. <!-- show-word-limit-->
  534. <!-- />-->
  535. <!-- </template>-->
  536. <!-- </el-table-column>-->
  537. <!-- <el-table-column-->
  538. <!-- prop="fMblno"-->
  539. <!-- header-align="center"-->
  540. <!-- align="center"-->
  541. <!-- width="130px"-->
  542. <!-- label="提单号"-->
  543. <!-- >-->
  544. <!-- <template slot-scope="scope">-->
  545. <!-- <el-input-->
  546. <!-- v-model="scope.row.fMblno"-->
  547. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  548. <!-- placeholder="提单号"-->
  549. <!-- show-word-limit-->
  550. <!-- />-->
  551. <!-- </template>-->
  552. <!-- </el-table-column>-->
  553. <!-- <el-table-column-->
  554. <!-- prop="fProductName"-->
  555. <!-- header-align="center"-->
  556. <!-- align="center"-->
  557. <!-- width="140px"-->
  558. <!-- label="品名"-->
  559. <!-- >-->
  560. <!-- <template slot-scope="scope">-->
  561. <!-- <el-input-->
  562. <!-- v-model="scope.row.fProductName"-->
  563. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  564. <!-- placeholder="品名"-->
  565. <!-- show-word-limit-->
  566. <!-- />-->
  567. <!-- </template>-->
  568. <!-- </el-table-column>-->
  569. <!-- <el-table-column-->
  570. <!-- prop="fMarks"-->
  571. <!-- header-align="center"-->
  572. <!-- align="center"-->
  573. <!-- width="130px"-->
  574. <!-- label="品牌"-->
  575. <!-- >-->
  576. <!-- <template slot-scope="scope">-->
  577. <!-- <el-input-->
  578. <!-- v-model="scope.row.fMarks"-->
  579. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  580. <!-- placeholder="品牌"-->
  581. <!-- show-word-limit-->
  582. <!-- />-->
  583. <!-- </template>-->
  584. <!-- </el-table-column>-->
  585. <!-- <el-table-column-->
  586. <!-- prop="fSrcTypeId"-->
  587. <!-- header-align="center"-->
  588. <!-- align="center"-->
  589. <!-- width="130px"-->
  590. <!-- label="来源"-->
  591. <!-- >-->
  592. <!-- <template slot-scope="scope">-->
  593. <!-- <span v-if="scope.row.fSrcTypeId === 0">录入</span>-->
  594. <!-- <span v-if="scope.row.fSrcTypeId == 1">协议</span>-->
  595. <!-- <span v-if="scope.row.fSrcTypeId == 10">变更</span>-->
  596. <!-- </template>-->
  597. <!-- </el-table-column>-->
  598. <!-- <span v-if="feeDisplay">-->
  599. <!-- <el-table-column-->
  600. <!-- prop="fBilltype"-->
  601. <!-- header-align="center"-->
  602. <!-- align="center"-->
  603. <!-- width="140px"-->
  604. <!-- label="业务来源"-->
  605. <!-- >-->
  606. <!-- <template slot-scope="scope">-->
  607. <!-- <span v-if="scope.row.fBilltype === 'SJRK'">入库</span>-->
  608. <!-- <span v-if="scope.row.fBilltype === 'SJCK'">出库</span>-->
  609. <!-- <span v-if="scope.row.fBilltype === 'KCZZ'">库存总账</span>-->
  610. <!-- </template>-->
  611. <!-- </el-table-column>-->
  612. <!-- <el-table-column-->
  613. <!-- prop="fMblno"-->
  614. <!-- header-align="center"-->
  615. <!-- align="center"-->
  616. <!-- width="140px"-->
  617. <!-- label="业务单号"-->
  618. <!-- >-->
  619. <!-- </el-table-column>-->
  620. <!-- <el-table-column-->
  621. <!-- prop="fProductName"-->
  622. <!-- header-align="center"-->
  623. <!-- align="center"-->
  624. <!-- width="140px"-->
  625. <!-- label="货物名称"-->
  626. <!-- >-->
  627. <!-- </el-table-column>-->
  628. <!-- <el-table-column-->
  629. <!-- prop="fMarks"-->
  630. <!-- header-align="center"-->
  631. <!-- align="center"-->
  632. <!-- width="140px"-->
  633. <!-- label="唛头"-->
  634. <!-- />-->
  635. <!-- <el-table-column-->
  636. <!-- prop="fBsdate"-->
  637. <!-- header-align="center"-->
  638. <!-- align="center"-->
  639. <!-- width="140px"-->
  640. <!-- label="业务日期"-->
  641. <!-- >-->
  642. <!-- <template slot-scope="scope">-->
  643. <!-- <el-date-picker-->
  644. <!-- v-model="scope.row.fBsdate"-->
  645. <!-- size="large"-->
  646. <!-- type="date"-->
  647. <!-- disabled-->
  648. <!-- value-format="timestamp"-->
  649. <!-- placeholder="业务日期"-->
  650. <!-- >-->
  651. <!-- </el-date-picker>-->
  652. <!-- </template>-->
  653. <!-- </el-table-column>-->
  654. <!-- <el-table-column-->
  655. <!-- prop="fBillingway"-->
  656. <!-- header-align="center"-->
  657. <!-- align="center"-->
  658. <!-- width="180px"-->
  659. <!-- label="计费单位"-->
  660. <!-- >-->
  661. <!-- <template slot-scope="scope">-->
  662. <!-- <el-select-->
  663. <!-- v-model="scope.row.fBillingway"-->
  664. <!-- placeholder="请选择计费单位"-->
  665. <!-- disabled-->
  666. <!-- clearable-->
  667. <!-- >-->
  668. <!-- <el-option-->
  669. <!-- v-for="dict in fFeetunitOptions"-->
  670. <!-- :key="dict.dictValue"-->
  671. <!-- :label="dict.dictLabel"-->
  672. <!-- :value="dict.dictValue"-->
  673. <!-- />-->
  674. <!-- </el-select>-->
  675. <!-- </template>-->
  676. <!-- </el-table-column>-->
  677. <!-- <el-table-column-->
  678. <!-- prop="fBillingQty"-->
  679. <!-- header-align="center"-->
  680. <!-- align="center"-->
  681. <!-- width="140px"-->
  682. <!-- label="计费数量"-->
  683. <!-- >-->
  684. <!-- </el-table-column>-->
  685. <!-- <el-table-column-->
  686. <!-- prop="fChargedate"-->
  687. <!-- header-align="center"-->
  688. <!-- align="center"-->
  689. <!-- width="140px"-->
  690. <!-- label="计费起始日期"-->
  691. <!-- >-->
  692. <!-- <template slot-scope="scope">-->
  693. <!-- <el-date-picker-->
  694. <!-- v-model="scope.row.fChargedate"-->
  695. <!-- size="large"-->
  696. <!-- type="date"-->
  697. <!-- disabled-->
  698. <!-- value-format="timestamp"-->
  699. <!-- placeholder="计费起始日期"-->
  700. <!-- >-->
  701. <!-- </el-date-picker>-->
  702. <!-- </template>-->
  703. <!-- </el-table-column>-->
  704. <!-- <el-table-column-->
  705. <!-- prop="fBillingDeadline"-->
  706. <!-- header-align="center"-->
  707. <!-- align="center"-->
  708. <!-- width="140px"-->
  709. <!-- label="计费截止日期"-->
  710. <!-- >-->
  711. <!-- <template slot-scope="scope">-->
  712. <!-- <el-date-picker-->
  713. <!-- v-model="scope.row.fBillingDeadline"-->
  714. <!-- size="large"-->
  715. <!-- type="date"-->
  716. <!-- disabled-->
  717. <!-- value-format="timestamp"-->
  718. <!-- placeholder="计费截止日期"-->
  719. <!-- >-->
  720. <!-- </el-date-picker>-->
  721. <!-- </template>-->
  722. <!-- </el-table-column>-->
  723. <!-- <el-table-column-->
  724. <!-- prop="fBillingDays"-->
  725. <!-- header-align="center"-->
  726. <!-- align="center"-->
  727. <!-- width="140px"-->
  728. <!-- label="计费天数"-->
  729. <!-- >-->
  730. <!-- </el-table-column>-->
  731. <!-- <el-table-column-->
  732. <!-- prop="fInventoryDays"-->
  733. <!-- header-align="center"-->
  734. <!-- align="center"-->
  735. <!-- width="140px"-->
  736. <!-- label="库存天数"-->
  737. <!-- >-->
  738. <!-- </el-table-column>-->
  739. <!-- <el-table-column-->
  740. <!-- prop="fAmt"-->
  741. <!-- header-align="center"-->
  742. <!-- align="center"-->
  743. <!-- width="140px"-->
  744. <!-- label="计费金额"-->
  745. <!-- >-->
  746. <!-- </el-table-column>-->
  747. <!-- </span>-->
  748. <!-- <el-table-column-->
  749. <!-- prop="remark"-->
  750. <!-- header-align="center"-->
  751. <!-- align="center"-->
  752. <!-- width="150px"-->
  753. <!-- label="备注"-->
  754. <!-- >-->
  755. <!-- <template slot-scope="scope">-->
  756. <!-- <el-input-->
  757. <!-- v-model="scope.row.remark"-->
  758. <!-- :disabled="browseStatus || scope.row.fBillstatus == 6"-->
  759. <!-- placeholder="备注"-->
  760. <!-- show-word-limit-->
  761. <!-- />-->
  762. <!-- </template>-->
  763. <!-- </el-table-column>-->
  764. <el-table-column
  765. header-align="center"
  766. align="center"
  767. label="操作"
  768. width="200px"
  769. fixed="right"
  770. >
  771. <template slot-scope="scope">
  772. <el-button
  773. @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
  774. size="small"
  775. :disabled="scope.row.fBillstatus == 6 || browseStatus"
  776. >移除
  777. </el-button>
  778. <el-button
  779. size="small"
  780. @click="listCheck(scope.row)"
  781. v-if="scope.row.fBillstatus < 6"
  782. :disabled="browseStatus"
  783. >请核</el-button>
  784. <el-button
  785. size="small"
  786. @click="revokeListCheck(scope.row)"
  787. :disabled="browseStatus"
  788. v-if="scope.row.fBillstatus == 6"
  789. >撤销请核</el-button>
  790. </template>
  791. </el-table-column>
  792. </el-table>
  793. <!-- 选择作业费协议数据 -->
  794. <el-dialog
  795. v-dialogDrag
  796. title="作业费协议"
  797. :close-on-click-modal="false"
  798. :modal="false"
  799. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  800. :visible.sync="warehousingagreements"
  801. width="70%"
  802. >
  803. <template slot="作业费协议">
  804. <div class="avue-crud__dialog__header">
  805. <span class="el-dialog__title">
  806. <span
  807. style="
  808. display: inline-block;
  809. width: 3px;
  810. height: 20px;
  811. margin-right: 5px;
  812. float: left;
  813. margin-top: 2px;
  814. "
  815. ></span>
  816. </span>
  817. </div>
  818. </template>
  819. <el-menu
  820. :default-active="activeIndex"
  821. v-if="Navigation === true"
  822. class="el-menu-demo"
  823. mode="horizontal"
  824. @select="handleSelect"
  825. >
  826. <el-menu-item index="1">车队作业费</el-menu-item>
  827. <el-menu-item index="2">劳务作业费</el-menu-item>
  828. </el-menu>
  829. <el-table
  830. :data="tasklegList"
  831. ref="table"
  832. tooltip-effect="dark"
  833. width="100%"
  834. border
  835. stripe
  836. @selection-change="whgenlegSelectionChange"
  837. >
  838. <el-table-column type="selection" width="55"></el-table-column>
  839. <el-table-column label="行号" type="index" width="80"></el-table-column>
  840. <el-table-column
  841. prop="fCorpname"
  842. header-align="center"
  843. align="center"
  844. label="客户名称"
  845. />
  846. <el-table-column
  847. prop="fName"
  848. header-align="center"
  849. align="center"
  850. label="费用名称"
  851. />
  852. <el-table-column
  853. prop="fFeeUnitid"
  854. header-align="center"
  855. align="center"
  856. width="180px"
  857. label="计价单位"
  858. >
  859. <template slot-scope="scope">
  860. <el-select
  861. v-model="scope.row.fFeeUnitid"
  862. placeholder="请选择计价单位"
  863. @change="changeFeeUnit(scope.row)"
  864. disabled
  865. clearable
  866. >
  867. <el-option
  868. v-for="(dict, index) in fFeetUnitOptions"
  869. :key="index.dictValue"
  870. :label="dict.dictLabel"
  871. :value="dict.dictValue"
  872. />
  873. </el-select>
  874. </template>
  875. </el-table-column>
  876. <el-table-column
  877. prop="fPrice"
  878. header-align="center"
  879. align="center"
  880. label="单价"
  881. width="100px"
  882. />
  883. <el-table-column
  884. prop="remark"
  885. header-align="center"
  886. align="center"
  887. label="备注"
  888. />
  889. </el-table>
  890. <pagination
  891. v-show="whgenlegTotal > 0"
  892. :total="whgenlegTotal"
  893. :page.sync="pageNum"
  894. :limit.sync="pageSize"
  895. @pagination="getWhgenlegList"
  896. />
  897. <div slot="footer" class="dialog-footer">
  898. <el-button type="primary" @click="zhgenlegData" :disabled="browseStatus">导 入</el-button>
  899. <el-button
  900. @click="
  901. warehousingagreements = false;
  902. Navigation = false;
  903. "
  904. >取 消
  905. </el-button
  906. >
  907. </div>
  908. </el-dialog>
  909. <!-- 费用确认单-->
  910. <el-dialog
  911. :visible.sync="print_fyqr"
  912. width="70%"
  913. :close-on-click-modal="false"
  914. :modal="false"
  915. >
  916. <div id="print_fyqr" class="print-div">
  917. <div
  918. class="print-title"
  919. style="
  920. display: flex;
  921. justify-content: center;
  922. font-size: 28px;
  923. margin-bottom: 5px;
  924. "
  925. >
  926. {{ fCompanyName? fCompanyName: company }}
  927. </div>
  928. <div
  929. style="
  930. display: flex;
  931. justify-content: center;
  932. margin-bottom: 5px;
  933. ">
  934. <div style="font-size: 24px;">费用确认</div>
  935. </div>
  936. <div style="display: flex;justify-content: space-between;">
  937. <div>
  938. <div>业务编号:{{ form.fBillno }}</div>
  939. <div>客户名称:{{ form.fCorpidName }}</div>
  940. <div>提单号:{{ form.fMblno }}</div>
  941. <div>结算单位: {{ form.chargeUnit }}</div>
  942. </div>
  943. <div>
  944. <div>制单日期:{{ form.createTime | fBsdateFormat }}</div>
  945. <div>仓库名称:{{ form.fWarehouseid | warehouseFormat(warehouseOptions) }}</div>
  946. <div>箱型/箱量:{{ form.fCntval }}</div>
  947. </div>
  948. <div>
  949. <div>制单人:{{ form.createBy }}</div>
  950. <div>打印日期:{{ nowTime | fBsdateFormat }}</div>
  951. <div>品名:{{ form.fGoodsid | goodsFormat(goodsOptions) }}</div>
  952. </div>
  953. </div>
  954. <div class="print_table" style="display: flex">
  955. <table
  956. border="0"
  957. cellspacing="0"
  958. cellpadding="0"
  959. style="width: 100%; line-height: 30px"
  960. >
  961. <tr>
  962. <td>序号</td>
  963. <td>费用项目</td>
  964. <td>计价单位</td>
  965. <td>数量</td>
  966. <td>单价</td>
  967. <td>是否含税</td>
  968. <td>税率</td>
  969. <td>不含税金额</td>
  970. <td>税额</td>
  971. <td>应收金额</td>
  972. <td>备注</td>
  973. </tr>
  974. <tr v-for="(item, index) in Collectionoptionss" :key="index">
  975. <td>{{ index + 1 }}</td>
  976. <td>{{ item.fFeeid | fFeetFormat(fDNameOptions) }}</td>
  977. <td>{{ item.fFeeUnitid | fFeetUnitFormat(fFeetUnitOptions) }}</td>
  978. <td>{{ item.fQty }}</td>
  979. <td>{{ item.fUnitprice }}</td>
  980. <td>{{ item.fTaxrate != 0? '√': '×' }}</td>
  981. <td>{{ item.fTaxrate }}</td>
  982. <td>{{ item.taxAmount }}</td>
  983. <td>{{ item.exclTax }}</td>
  984. <td>{{ item.fAmount }}</td>
  985. <td>{{ item.remark }}</td>
  986. </tr>
  987. <tr>
  988. <td colspan="7">合计</td>
  989. <td>{{ allTaxAmount }}</td>
  990. <td>{{ allExclTax }}</td>
  991. <td>{{ allDrAmount }}</td>
  992. <td></td>
  993. </tr>
  994. </table>
  995. </div>
  996. <!-- <div>人民币汇款路径:</div>-->
  997. <!-- <div>公司名称:{{ fCompanyName? fCompanyName: company }}</div>-->
  998. <!-- <div>纳税人识别号:{{ printFeeConfirm.fTax }}</div>-->
  999. <!-- <div>地址:{{ printFeeConfirm.fAddr }}</div>-->
  1000. <!-- <div>电话:{{ printFeeConfirm.fTel }}</div>-->
  1001. <!-- <div>开户行:{{ printFeeConfirm.fBankname }}</div>-->
  1002. <!-- <div>银行账户:{{ printFeeConfirm.fBankno }}</div>-->
  1003. </div>
  1004. <span slot="footer" class="dialog-footer">
  1005. <el-button
  1006. type="primary"
  1007. @click="
  1008. addprint('fyqrd');
  1009. print_fyqr = false;
  1010. "
  1011. >打印
  1012. </el-button>
  1013. <el-button @click="print_fyqr = false">取消 </el-button>
  1014. </span>
  1015. </el-dialog>
  1016. </div>
  1017. </template>
  1018. <script>
  1019. import {operationAgreement} from "@/api/agreement/agreement";
  1020. import {feesCheck,revokefeeCheck} from "@/api/warehouseBusiness/warehouseInStock";
  1021. import print from "print-js";
  1022. import Cookies from "js-cookie";
  1023. import {addSet, resetModule, select} from '@/api/system/set';
  1024. import draggable from "vuedraggable";
  1025. import {
  1026. listWarehouse,
  1027. treeselect,
  1028. listWarehousesss,
  1029. deliveryDetails
  1030. } from "@/api/basicdata/warehouse";
  1031. import { getFees } from "@/api/basicdata/fees";
  1032. export default {
  1033. props: {
  1034. feeDisplay:false,
  1035. browseStatus: {
  1036. type: Boolean,
  1037. default: false,
  1038. },
  1039. warehouseDrList: {
  1040. type: Array,
  1041. default: [],
  1042. },
  1043. businessTypeOption: {
  1044. type: Array,
  1045. default: [],
  1046. },
  1047. fMblnoOptions: {
  1048. type: Array,
  1049. default: [],
  1050. },
  1051. fDNameOptions: {
  1052. type: Array,
  1053. default: [],
  1054. },
  1055. fFeetUnitOptions: {
  1056. type: Array,
  1057. default: [],
  1058. },
  1059. fStltypeOptions: {
  1060. type: Array,
  1061. default: [],
  1062. },
  1063. fGrossweight: {
  1064. type: Number,
  1065. default: null,
  1066. },
  1067. fQty: {
  1068. type: Number,
  1069. default: null,
  1070. },
  1071. fNetweight: {
  1072. type: Number,
  1073. default: null,
  1074. },
  1075. fCntqty: {
  1076. type: Number,
  1077. default: null,
  1078. },
  1079. form: {
  1080. type: Object,
  1081. default: null,
  1082. },
  1083. CntrTable: {
  1084. type: Array,
  1085. default: [],
  1086. },
  1087. cntrList: {
  1088. type: Array,
  1089. default: [],
  1090. },
  1091. goodsOptions: {
  1092. type: Array,
  1093. default: [],
  1094. },
  1095. fCompanyName: {
  1096. type: String
  1097. },
  1098. printFeeConfirm: {
  1099. type: Object,
  1100. },
  1101. },
  1102. components: {
  1103. draggable
  1104. },
  1105. data() {
  1106. return {
  1107. Collectionoptionss: [],
  1108. warehousingagreements: false,
  1109. whgenlegTotal: 0,
  1110. Navigation: false,
  1111. tasklegList: [],
  1112. dialogWhgenlegList: [],
  1113. pageNum: 1,
  1114. pageSize: 10,
  1115. nowTime: '',
  1116. // 税额总数
  1117. allTaxAmount: 0,
  1118. // 不含税金额总数
  1119. allExclTax: 0,
  1120. // 收款金额合计
  1121. allDrAmount: 0,
  1122. print_fyqr: false,
  1123. company: '',
  1124. warehouseOptions:[],
  1125. // 是否启用请款单
  1126. isShowInvoice: null,
  1127. // 是否启用费用确认单
  1128. isShowFeesConfirm: null,
  1129. // 设置列开关
  1130. showSetting: false,
  1131. setRowList: [],
  1132. getRowList: [],
  1133. showfCustomno: null,
  1134. //自定义列宽
  1135. allCheck: false,
  1136. drag: false,
  1137. tableDate: [
  1138. {
  1139. surface: "1",
  1140. label: "fCorpid",
  1141. name: "客户名称",
  1142. checked: 0,
  1143. width: 260,
  1144. },
  1145. {
  1146. surface: "2",
  1147. label: "fFeeid",
  1148. name: "费用名称",
  1149. checked: 0,
  1150. width: 200,
  1151. },
  1152. {
  1153. surface: "3",
  1154. label: "fFeeUnitid",
  1155. name: "计价单位",
  1156. checked: 0,
  1157. width: 130,
  1158. },
  1159. {
  1160. surface: "4",
  1161. label: "fQty",
  1162. name: "数量",
  1163. checked: 0,
  1164. width: 80,
  1165. },
  1166. {
  1167. surface: "5",
  1168. label: "fUnitprice",
  1169. name: "单价",
  1170. checked: 0,
  1171. width: 80,
  1172. },
  1173. {
  1174. surface: "6",
  1175. label: "fAmount",
  1176. name: "金额",
  1177. checked: 0,
  1178. width: 130,
  1179. },
  1180. {
  1181. surface: "7",
  1182. label: "fStltypeid",
  1183. name: "结算方式",
  1184. checked: 0,
  1185. width: 100,
  1186. },
  1187. {
  1188. surface: "8",
  1189. label: "fCurrency",
  1190. name: "币别",
  1191. checked: 0,
  1192. width: 100,
  1193. },
  1194. {
  1195. surface: "9",
  1196. label: "fExrate",
  1197. name: "汇率",
  1198. checked: 0,
  1199. width: 80,
  1200. },
  1201. {
  1202. surface: "10",
  1203. label: "fTaxrate",
  1204. name: "税率",
  1205. checked: 0,
  1206. width: 80,
  1207. },
  1208. {
  1209. surface: "11",
  1210. label: "fBusinessType",
  1211. name: "作业类型",
  1212. checked: 0,
  1213. width: 180,
  1214. },
  1215. {
  1216. surface: "12",
  1217. label: "fMblno",
  1218. name: "提单号",
  1219. checked: 0,
  1220. width: 150,
  1221. },
  1222. {
  1223. surface: "13",
  1224. label: "fProductName",
  1225. name: "品名",
  1226. checked: 0,
  1227. width: 140,
  1228. },
  1229. {
  1230. surface: "14",
  1231. label: "fMarks",
  1232. name: "品牌",
  1233. checked: 0,
  1234. width: 130,
  1235. },
  1236. {
  1237. surface: "15",
  1238. label: "fSrcTypeId",
  1239. name: "来源",
  1240. checked: 0,
  1241. width: 130,
  1242. },
  1243. {
  1244. surface: "16",
  1245. label: "fAccamount",
  1246. name: "对账金额",
  1247. checked: 0,
  1248. width: 130,
  1249. },
  1250. {
  1251. surface: "17",
  1252. label: "fStlamount",
  1253. name: "结算金额",
  1254. checked: 0,
  1255. width: 130,
  1256. },
  1257. {
  1258. surface: "18",
  1259. label: "fStlamountDate",
  1260. name: "结算日期",
  1261. checked: 0,
  1262. width: 130,
  1263. },
  1264. // {
  1265. // surface: "16",
  1266. // label: "fBilltype",
  1267. // name: "业务来源",
  1268. // checked: 0,
  1269. // width: 130,
  1270. // },
  1271. // {
  1272. // surface: "17",
  1273. // label: "fMblno",
  1274. // name: "业务单号",
  1275. // checked: 0,
  1276. // width: 140,
  1277. // },
  1278. // {
  1279. // surface: "18",
  1280. // label: "fProductName",
  1281. // name: "货物名称",
  1282. // checked: 0,
  1283. // width: 140,
  1284. // },
  1285. // {
  1286. // surface: "19",
  1287. // label: "fMarks",
  1288. // name: "唛头",
  1289. // checked: 0,
  1290. // width: 140,
  1291. // },
  1292. // {
  1293. // surface: "20",
  1294. // label: "fBsdate",
  1295. // name: "业务日期",
  1296. // checked: 0,
  1297. // width: 140,
  1298. // },
  1299. // {
  1300. // surface: "21",
  1301. // label: "fBillingway",
  1302. // name: "计费单位",
  1303. // checked: 0,
  1304. // width: 180,
  1305. // },
  1306. // {
  1307. // surface: "22",
  1308. // label: "fBillingQty",
  1309. // name: "计费数量",
  1310. // checked: 0,
  1311. // width: 140,
  1312. // },
  1313. // {
  1314. // surface: "23",
  1315. // label: "fChargedate",
  1316. // name: "计费起始日期",
  1317. // checked: 0,
  1318. // width: 140,
  1319. // },
  1320. // {
  1321. // surface: "24",
  1322. // label: "fBillingDeadline",
  1323. // name: "计费截止日期",
  1324. // checked: 0,
  1325. // width: 140,
  1326. // },
  1327. // {
  1328. // surface: "25",
  1329. // label: "fBillingDays",
  1330. // name: "计费天数",
  1331. // checked: 0,
  1332. // width: 140,
  1333. // },
  1334. // {
  1335. // surface: "26",
  1336. // label: "fInventoryDays",
  1337. // name: "库存天数",
  1338. // checked: 0,
  1339. // width: 140,
  1340. // },
  1341. // {
  1342. // surface: "27",
  1343. // label: "fAmt",
  1344. // name: "计费金额",
  1345. // checked: 0,
  1346. // width: 140,
  1347. // },
  1348. {
  1349. surface: "28",
  1350. label: "remark",
  1351. name: "备注",
  1352. checked: 0,
  1353. width: 150,
  1354. },
  1355. ],
  1356. };
  1357. },
  1358. created() {
  1359. this.setRowList = this.tableDate;
  1360. this.getRowList = this.tableDate;
  1361. this.getConfigKey("warehouse.show.invoice").then((response) => {
  1362. this.isShowInvoice = response.msg;
  1363. });
  1364. this.getConfigKey("warehouse.show.feesConfirm").then((response) => {
  1365. this.isShowFeesConfirm = response.msg;
  1366. });
  1367. this.company = Cookies.get("companyName")
  1368. listWarehousesss({fStatus: 0, delFlag: 0}).then((response) => {
  1369. this.warehouseOptions = response.rows;
  1370. });
  1371. this.getRow();
  1372. },
  1373. filters: {
  1374. fBsdateFormat(row) {
  1375. if (row) {
  1376. const dateMat = new Date(row);
  1377. const year = dateMat.getFullYear();
  1378. const month = dateMat.getMonth() + 1;
  1379. const day = dateMat.getDate();
  1380. const timeFormat = year + "-" + month + "-" + day;
  1381. return timeFormat;
  1382. }
  1383. },
  1384. warehouseFormat(row, warehouseOptions) {
  1385. let warehouse;
  1386. warehouseOptions.map((e) => {
  1387. if (row == e.fId) {
  1388. warehouse = e.fName;
  1389. }
  1390. });
  1391. return warehouse;
  1392. },
  1393. fFeetFormat(row, fNameOptions) {
  1394. let name;
  1395. fNameOptions.map((e) => {
  1396. if (row == e.fId) {
  1397. name = e.fName;
  1398. }
  1399. });
  1400. return name;
  1401. },
  1402. fFeetUnitFormat(row, fFeetUnitOptions) {
  1403. let name;
  1404. fFeetUnitOptions.map((e) => {
  1405. if (row == e.dictValue) {
  1406. name = e.dictLabel;
  1407. }
  1408. });
  1409. return name;
  1410. },
  1411. goodsFormat(row, goodsOptions) {
  1412. let goods;
  1413. goodsOptions.map((e) => {
  1414. if (row == e.fId) {
  1415. goods = e.fName;
  1416. }
  1417. });
  1418. return goods;
  1419. },
  1420. },
  1421. methods: {
  1422. feeChange() {
  1423. this.$emit("feeChangeD", 'D');
  1424. },
  1425. saveForm() {
  1426. this.$emit("chiSave");
  1427. },
  1428. addCollection() {
  1429. this.$emit("chiAdd");
  1430. },
  1431. // 付款合计
  1432. warehouseDrSummaries(param) {
  1433. const {columns, data} = param;
  1434. const sums = [];
  1435. columns.forEach((column, index) => {
  1436. if (index === 0) {
  1437. sums[index] = "合计";
  1438. return;
  1439. }
  1440. const values = data.map((item) => Number(item[column.property]));
  1441. // column.property === "fUnitprice" ||
  1442. if (
  1443. column.property === "fAmount"
  1444. // column.property === "fAmount" ||
  1445. // column.property === "fQty"
  1446. ) {
  1447. sums[index] = values.reduce((prev, curr) => {
  1448. const value = Number(curr);
  1449. if (!isNaN(value)) {
  1450. return prev + curr;
  1451. } else {
  1452. return prev;
  1453. }
  1454. }, 0);
  1455. sums[index] = sums[index].toFixed(2);
  1456. }
  1457. });
  1458. return sums;
  1459. },
  1460. // 收款选
  1461. Collectionoptions(selection) {
  1462. this.Collectionoptionss = selection;
  1463. for (let item in this.fWbuOptions) {
  1464. for (let li in this.Collectionoptionss) {
  1465. if (
  1466. this.fWbuOptions[item].fId === this.Collectionoptionss[li].fFeeid
  1467. ) {
  1468. this.$set(
  1469. this.Collectionoptionss[li],
  1470. "fFeeids",
  1471. this.fWbuOptions[item].fName
  1472. );
  1473. }
  1474. }
  1475. }
  1476. },
  1477. deleteRow(index, rows) {
  1478. rows.splice(index, 1);
  1479. },
  1480. // 变更计价单位
  1481. changeFeeUnit(row) {
  1482. if (!row.fFeeUnitid) {
  1483. return false;
  1484. }
  1485. if (row.fFeeUnitid === "2") {
  1486. this.$set(row, "fQty", (this.fGrossweight / 1000).toFixed(2));
  1487. } else if (row.fFeeUnitid === "1") {
  1488. this.$set(row, "fQty", this.fQty.toFixed(2));
  1489. } else if (row.fFeeUnitid === "3") {
  1490. this.$set(row, "fQty", (this.fNetweight / 1000).toFixed(2));
  1491. } else if (row.fFeeUnitid === "7") {
  1492. this.$set(row, "fQty", this.fCntqty);
  1493. } else if (row.fFeeUnitid === "8") {
  1494. this.$set(row, "fQty", 1);
  1495. } else {
  1496. this.$set(row, "fQty", 0);
  1497. }
  1498. if (row.fUnitprice) {
  1499. this.$set(
  1500. row,
  1501. "fAmount",
  1502. parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2)
  1503. );
  1504. }
  1505. },
  1506. // 数量计算
  1507. changeContractAmt(row) {
  1508. let fQty = 0;
  1509. let fUnitprice = 0;
  1510. if (row.fUnitprice) {
  1511. fUnitprice = row.fUnitprice;
  1512. }
  1513. if (row.fQty) {
  1514. fQty = row.fQty;
  1515. }
  1516. this.$set(row, "fAmount", Number(fUnitprice) * Number(fQty)).toFixed(2);
  1517. },
  1518. handleSelect() {
  1519. if (!this.form.fCorpid) {
  1520. this.$message({
  1521. message: "请维护客户",
  1522. type: "warning",
  1523. });
  1524. } else if (this.form.fProductName == undefined) {
  1525. this.$message({
  1526. message: "请维护入库明细品名",
  1527. type: "warning",
  1528. });
  1529. } else {
  1530. this.pageNum = 1;
  1531. this.pageSize = 10;
  1532. this.dialogWhgenlegList = [];
  1533. this.whgenlegTotal = 0;
  1534. this.warehousingagreements = true;
  1535. this.getWhgenlegList();
  1536. }
  1537. },
  1538. // 查询作业费信息
  1539. getWhgenlegList() {
  1540. let data = {};
  1541. this.Navigation = false;
  1542. data = {
  1543. pageNum: this.pageNum,
  1544. pageSize: this.pageSize,
  1545. fCorpid: this.form.fCorpid,
  1546. };
  1547. operationAgreement(data).then((response) => {
  1548. response.rows.map((e) => {
  1549. if (e.fFeeUnitid) {
  1550. e.fFeeUnitid = e.fFeeUnitid.toString();
  1551. }
  1552. });
  1553. this.tasklegList = response.rows;
  1554. this.whgenlegTotal = response.total;
  1555. });
  1556. },
  1557. // 库存总账多选框
  1558. whgenlegSelectionChange(selection) {
  1559. this.dialogWhgenlegList = selection;
  1560. },
  1561. //导入收付款信息明细
  1562. zhgenlegData() {
  1563. if (this.dialogWhgenlegList.length === 0) {
  1564. this.$message({
  1565. message: "请选择需要导入的数据",
  1566. type: "warning",
  1567. });
  1568. } else {
  1569. this.dialogWhgenlegList.map((e) => {
  1570. let qty = 1;
  1571. if (e.fFeeUnitid == 1) {
  1572. qty = this.fQty;
  1573. } else if (e.fFeeUnitid == 2) {
  1574. qty = (this.fGrossweight / 1000).toFixed(2);
  1575. } else if (e.fFeeUnitid == 3) {
  1576. qty = (this.fNetweight / 1000).toFixed(2);
  1577. } else if (e.fFeeUnitid == 7) {
  1578. qty = this.fCntqty;
  1579. }
  1580. let fAmount = 0;
  1581. fAmount = e.fPrice * qty;
  1582. this.warehouseDrList.push({
  1583. fQty: qty,
  1584. fCorpid: e.fCorpid,
  1585. fFeeid: e.feeFId,
  1586. fFeeUnitid: e.fFeeUnitid,
  1587. fUnitprice: e.fPrice,
  1588. fCurrency: "RMB",
  1589. fExrate: 1,
  1590. fAmount: fAmount,
  1591. fTaxrate: '0',
  1592. fMblno: this.form.fMblno,
  1593. fProductName: this.form.fProductName,
  1594. fMarks: this.form.fMarks,
  1595. fBusinessType: this.form.fBusinessType,
  1596. fSrcTypeId: 1,
  1597. fStltypeid: '1',
  1598. });
  1599. });
  1600. this.warehousingagreements = false;
  1601. }
  1602. },
  1603. // 费用明细请核
  1604. listCheck(row) {
  1605. this.$confirm("是否发起费用明细请核?", "提示", {
  1606. confirmButtonText: "确认",
  1607. cancelButtonText: "取消",
  1608. type: "warning",
  1609. }).then(() => {
  1610. feesCheck(row.fId).then(res => {
  1611. this.$message.success('请核成功')
  1612. res.data.fFeeUnitid = res.data.fFeeunitid.toString();
  1613. res.data.fStltypeid = res.data.fStltypeid.toString();
  1614. if (res.data.fDc == 'D') {
  1615. let index = this.warehouseDrList.findIndex(item => item.fId == res.data.fId)
  1616. this.warehouseDrList.splice(index, 1, res.data)
  1617. } else {
  1618. let index = this.warehouseCrList.findIndex(item => item.fId == res.data.fId)
  1619. this.warehouseCrList.splice(index, 1, res.data)
  1620. }
  1621. })
  1622. });
  1623. },
  1624. // 费用明细撤销请核
  1625. revokeListCheck(row) {
  1626. this.$confirm("是否撤销请核?", "提示", {
  1627. confirmButtonText: "确认",
  1628. cancelButtonText: "取消",
  1629. type: "warning",
  1630. }).then(() => {
  1631. revokefeeCheck(row.fId).then(res => {
  1632. res.data.fFeeUnitid = res.data.fFeeunitid.toString();
  1633. res.data.fStltypeid = res.data.fStltypeid.toString();
  1634. this.$message.success('操作成功')
  1635. if (res.data.fDc == 'D') {
  1636. let index = this.warehouseDrList.findIndex(item => item.fId == res.data.fId)
  1637. this.warehouseDrList.splice(index, 1, res.data)
  1638. } else {
  1639. let index = this.warehouseCrList.findIndex(item => item.fId == res.data.fId)
  1640. this.warehouseCrList.splice(index, 1, res.data)
  1641. }
  1642. })
  1643. });
  1644. },
  1645. // 打印费用确认单准备
  1646. feesConfirm() {
  1647. if (this.Collectionoptionss.length > 0) {
  1648. for (let item in this.Collectionoptionss) {
  1649. if (!this.Collectionoptionss[item].fId) {
  1650. return this.$message.error("请先保存!");
  1651. }
  1652. }
  1653. if (this.CntrTable.length > 0) {
  1654. let arr = [];
  1655. this.CntrTable.map((e) => {
  1656. this.cntrList.map((item) => {
  1657. if (item.fId == e.fCntrid) {
  1658. arr.push(item.fName + "X" + e.fCntrcount);
  1659. }
  1660. });
  1661. });
  1662. arr = [...new Set(arr)];
  1663. this.form.fCntval = arr.join(",");
  1664. } else {
  1665. this.form.fCntval = null;
  1666. }
  1667. this.allTaxAmount = 0;
  1668. this.allExclTax = 0;
  1669. this.allDrAmount = 0;
  1670. this.Collectionoptionss.forEach(item => {
  1671. // 税额
  1672. this.$set(item, 'taxAmount', Number(item.fAmount) / (1 + Number(Number(item.fTaxrate) / 100)))
  1673. item.taxAmount = item.taxAmount.toSuperFixed(2)
  1674. // 不含税金额
  1675. this.$set(item, 'exclTax', Number(item.fAmount) - Number(item.taxAmount))
  1676. item.exclTax = item.exclTax.toSuperFixed(2)
  1677. this.allTaxAmount = Number(this.allTaxAmount) + Number(item.taxAmount)
  1678. this.allExclTax = Number(this.allExclTax) + Number(item.exclTax)
  1679. this.allDrAmount = Number(this.allDrAmount) + Number(item.fAmount)
  1680. this.allTaxAmount = this.allTaxAmount.toSuperFixed(2)
  1681. this.allExclTax = this.allExclTax.toSuperFixed(2)
  1682. this.allDrAmount = this.allDrAmount.toSuperFixed(2)
  1683. })
  1684. this.nowTime = new Date().toLocaleDateString()
  1685. for (let corp in this.fMblnoOptions) {
  1686. if (this.form.fCorpid === this.fMblnoOptions[corp].fId) {
  1687. this.$set(
  1688. this.form,
  1689. "fCorpidName",
  1690. this.fMblnoOptions[corp].fName
  1691. );
  1692. }
  1693. if (this.Collectionoptionss[0].fCorpid === this.fMblnoOptions[corp].fId) {
  1694. this.$set(
  1695. this.form,
  1696. "chargeUnit",
  1697. this.fMblnoOptions[corp].fName
  1698. );
  1699. }
  1700. }
  1701. this.print_fyqr = true;
  1702. } else {
  1703. this.$message.error("请选择需要打印的明细!");
  1704. }
  1705. },
  1706. // 打印
  1707. addprint(status) {
  1708. const style =
  1709. "@page { } " +
  1710. "@media print { .print-div{ padding:8px;background-color:#cccccc;} .print-title{display:flex;justify-content: center;font-size:24px} .print_form{font-size:12px} .print_table table {border-right: 1px solid #000;border-bottom: 1px solid #000;font-size:12px} .print_table table td {border-left: 1px solid #000;border-top: 1px solid #000;padding:2px;vertical-align:middle;text-align: center;}";
  1711. switch (status) {
  1712. case "fyqrd":
  1713. print({
  1714. printable: "print_fyqr",
  1715. type: "html",
  1716. style: style, // 亦可使用引入的外部css;
  1717. scanStyles: false,
  1718. });
  1719. break;
  1720. }
  1721. },
  1722. feeChoice(row) {
  1723. getFees(row.fFeeid).then(res => {
  1724. row.fFeeUnitid = (res.data.fFeeunitid).toString()
  1725. this.changeFeeUnit(row)
  1726. })
  1727. },
  1728. //列设置全选
  1729. allChecked() {
  1730. if (this.allCheck == true) {
  1731. this.setRowList.map((e) => {
  1732. return (e.checked = 0);
  1733. });
  1734. } else {
  1735. this.setRowList.map((e) => {
  1736. return (e.checked = 1);
  1737. });
  1738. }
  1739. },
  1740. //开始拖拽事件
  1741. onStart() {
  1742. this.drag = true;
  1743. },
  1744. //拖拽结束事件
  1745. onEnd() {
  1746. this.drag = false;
  1747. },
  1748. //重置列表
  1749. delRow() {
  1750. this.data = {
  1751. tableName: "入库收费",
  1752. userId: Cookies.get("userName"),
  1753. };
  1754. resetModule(this.data).then((res) => {
  1755. if (res.code == 200) {
  1756. this.showSetting = false;
  1757. this.setRowList = this.tableDate;
  1758. console.log(this.setRowList)
  1759. this.getRowList = this.tableDate;
  1760. }
  1761. });
  1762. },
  1763. //保存列设置
  1764. save() {
  1765. this.showSetting = false;
  1766. this.data = {
  1767. tableName: "入库收费",
  1768. userId: Cookies.get("userName"),
  1769. sysTableSetList: this.setRowList,
  1770. };
  1771. addSet(this.data).then((res) => {
  1772. this.getRowList = this.setRowList.filter((e) => e.checked == 0);
  1773. });
  1774. },
  1775. //查询列数据
  1776. getRow() {
  1777. let that = this;
  1778. this.data = {
  1779. tableName: "入库收费",
  1780. userId: Cookies.get("userName"),
  1781. };
  1782. select(this.data).then((res) => {
  1783. if (res.data.length != 0) {
  1784. this.getRowList = res.data.filter((e) => e.checked == 0);
  1785. this.setRowList = res.data;
  1786. this.setRowList = this.setRowList.reduce((res, item) => {
  1787. res.push({
  1788. surface: item.surface,
  1789. label: item.label,
  1790. name: item.name,
  1791. checked: item.checked,
  1792. width: item.width,
  1793. fixed: item.fixed,
  1794. });
  1795. return res;
  1796. }, []);
  1797. }
  1798. });
  1799. },
  1800. },
  1801. watch: {
  1802. browseStatus(val) {
  1803. this.browseStatus = val;
  1804. },
  1805. warehouseDrList(val) {
  1806. this.warehouseDrList = val;
  1807. },
  1808. },
  1809. };
  1810. </script>
  1811. <style scoped lang="scss">
  1812. .print_table {
  1813. table {
  1814. border-right: 1px solid #000;
  1815. border-bottom: 1px solid #000;
  1816. font-size: 12px;
  1817. margin-bottom: 5px;
  1818. }
  1819. table td {
  1820. border-left: 1px solid #000;
  1821. border-top: 1px solid #000;
  1822. vertical-align: middle;
  1823. padding: 2px;
  1824. text-align: center;
  1825. }
  1826. }
  1827. .print_form {
  1828. font-size: 12px;
  1829. }
  1830. </style>