cost-allocation-table.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. <template>
  2. <!--报表 成本分配表 (保存后数据到单证的成本分配汇总内)-->
  3. <div id="costAllocationTable">
  4. <a-card :bordered="false">
  5. <!-- 主表信息 点击搜索后 回显--->
  6. <a-row :gutter="24">
  7. <div class="table-page-search-wrapper">
  8. <!-- ref="form" :model="costAllocationTable" -->
  9. <a-form-model layout="inline" class="kk">
  10. <a-col :md="6" :sm="8">
  11. <a-form-model-item label="计划单号" prop="plannum">
  12. <a-input-search
  13. placeholder="请输入计划单号"
  14. enter-button
  15. v-model="detailsPlanNum.planNum"
  16. @search="onSearch"
  17. :loading="this.loading"
  18. v-show='showSelect==0'
  19. />
  20. <a-input-search
  21. placeholder="请输入计划单号"
  22. v-text="detailsPlanNum.planNum"
  23. enter-button
  24. @search="onSearch($event,'0')"
  25. v-show='showSelect==1'
  26. />
  27. </a-form-model-item>
  28. </a-col>
  29. <!-- 回显以下【备注】需要输入,后进行保存 disabled -->
  30. <a-col :md="6" :sm="8">
  31. <a-form-model-item label="产品款号" prop="poStyleNum">
  32. <span :title=" detailsPlanNum.poStyleNum">{{ detailsPlanNum.poStyleNum | ellipsis}}</span>
  33. <!-- {{ detailsPlanNum.poStyleNum }} -->
  34. </a-form-model-item>
  35. </a-col>
  36. <a-col :md="6" :sm="8">
  37. <a-form-model-item label="外销员" prop="exportSales">
  38. {{ detailsPlanNum.exportSales }}
  39. </a-form-model-item>
  40. </a-col>
  41. <a-col :md="6" :sm="8">
  42. <a-form-model-item label="成衣合同号" prop="garmentContractno">
  43. {{ detailsPlanNum.garmentContractno }}
  44. </a-form-model-item>
  45. </a-col>
  46. <a-col :md="6" :sm="8">
  47. <a-form-model-item label="部门" prop="department">
  48. {{ detailsPlanNum.department }}
  49. </a-form-model-item>
  50. </a-col>
  51. <a-col :md="6" :sm="8">
  52. <a-form-model-item label="客户简称" prop="customerShortame">
  53. {{ detailsPlanNum.customerShortame }}
  54. </a-form-model-item>
  55. </a-col>
  56. <a-col :md="6" :sm="8">
  57. <a-form-model-item label="加工单位" prop="processUnit">
  58. <span :title=" detailsPlanNum.processUnit">{{ detailsPlanNum.processUnit | ellipsis}}</span>
  59. <!-- {{ detailsPlanNum.processUnit }} -->
  60. </a-form-model-item>
  61. </a-col>
  62. <a-col :md="6" :sm="8">
  63. <a-form-model-item label="出运日期" prop="outdata">
  64. {{ detailsPlanNum.outdata }}
  65. </a-form-model-item>
  66. </a-col>
  67. <a-col :md="6" :sm="8">
  68. <a-form-model-item label="计划数量" prop="planQuantity">
  69. {{ detailsPlanNum.planQuantity }}
  70. </a-form-model-item>
  71. </a-col>
  72. <a-col :md="6" :sm="8">
  73. <a-form-model-item label="美元外销总价" prop="usdTotalexportprice">
  74. {{ detailsPlanNum.usdTotalexportprice }}
  75. </a-form-model-item>
  76. </a-col>
  77. <a-col :md="6" :sm="8">
  78. <a-form-model-item label="人民币费用支出" prop="rmbExpense">
  79. <a href="javascript:void(0)" @click="mainTableExpenseCNY()">{{ detailsPlanNum.rmbExpense }}</a>
  80. </a-form-model-item>
  81. </a-col>
  82. <!-- <a-col :md="6" :sm="8">
  83. <a-form-model-item label="税率%" prop="taxrate" class="fontColor">
  84. {{ detailsPlanNum.taxrate }}
  85. </a-form-model-item>
  86. </a-col> -->
  87. <a-col :md="6" :sm="8">
  88. <a-form-model-item label="实际出货数量" prop="actualShipquantity">
  89. {{ detailsPlanNum.actualShipquantity }}
  90. </a-form-model-item>
  91. </a-col>
  92. <a-col :md="6" :sm="8">
  93. <a-form-model-item label="人民币外销金额" prop="rmbExportamount">
  94. {{ detailsPlanNum.rmbExportamount }}
  95. </a-form-model-item>
  96. </a-col>
  97. <a-col :md="6" :sm="8">
  98. <a-form-model-item label="美元费用支出" prop="usdExpense" >
  99. <a href="javascript:void(0)" @click="mainTableExpenseUSD()" >{{ detailsPlanNum.usdExpense }}</a>
  100. </a-form-model-item>
  101. </a-col>
  102. <a-col :md="6" :sm="8">
  103. <a-form-model-item label="加工费" prop="rmbProcesscost">
  104. {{ detailsPlanNum.rmbProcesscost }}
  105. </a-form-model-item>
  106. </a-col>
  107. <a-col :md="6" :sm="8">
  108. <a-form-model-item label="短出数" prop="shortseveral" >
  109. {{ detailsPlanNum.shortseveral }}
  110. </a-form-model-item>
  111. </a-col>
  112. <a-col :md="6" :sm="8">
  113. <a-form-model-item label="短出货值" prop="shortvalue" >
  114. {{ detailsPlanNum.shortvalue }}
  115. </a-form-model-item>
  116. </a-col>
  117. <!-- <a-col :md="6" :sm="8">
  118. <a-form-model-item label="短出面料成本" prop="fabricshortcost" class="fontColor">
  119. {{ detailsPlanNum.fabricshortcost }}
  120. </a-form-model-item>
  121. </a-col> -->
  122. <a-col :md="6" :sm="8">
  123. <a-form-model-item label="事故单美金金额" prop="accidentUsdamount" >
  124. {{ detailsPlanNum.accidentUsdamount }}
  125. </a-form-model-item>
  126. </a-col>
  127. <a-col :md="6" :sm="8">
  128. <a-form-model-item label="面料含税成本" prop="fabriccostIncludestax" >
  129. {{ detailsPlanNum.fabriccostIncludestax }}
  130. </a-form-model-item>
  131. </a-col>
  132. <a-col :md="6" :sm="8">
  133. <a-form-model-item label="辅料含税成本" prop="excipiencostIncludestax">
  134. {{ detailsPlanNum.excipiencostIncludestax }}
  135. </a-form-model-item>
  136. </a-col>
  137. <a-col :md="6" :sm="8">
  138. <a-form-model-item label="销售订单本币总额" prop="salesordersLocaltotal">
  139. {{ detailsPlanNum.salesordersLocaltotal }}
  140. </a-form-model-item>
  141. </a-col>
  142. <a-col :md="6" :sm="8">
  143. <a-form-model-item label="事故单人民币金额" prop="accidentcnyAmount" >
  144. {{ detailsPlanNum.accidentcnyAmount }}
  145. </a-form-model-item>
  146. </a-col>
  147. <a-col :md="6" :sm="8">
  148. <a-form-model-item label="面料不含税成本" prop="fabriccostNotincludestax" >
  149. {{ detailsPlanNum.fabriccostNotincludestax }}
  150. </a-form-model-item>
  151. </a-col>
  152. <a-col :md="6" :sm="8">
  153. <a-form-model-item label="辅料不含税成本" prop="excipiencostNotincludestax">
  154. {{ detailsPlanNum.excipiencostNotincludestax }}
  155. </a-form-model-item>
  156. </a-col>
  157. <a-col :md="6" :sm="8">
  158. <a-form-model-item label="销售订单原币总额" prop="salesrrdersOriginaltotal">
  159. {{ detailsPlanNum.salesrrdersOriginaltotal }}
  160. </a-form-model-item>
  161. </a-col>
  162. <a-col :md="6" :sm="8">
  163. <a-form-model-item label="制单人" prop="preparedBy">
  164. {{ detailsPlanNum.preparedBy }}
  165. </a-form-model-item>
  166. </a-col>
  167. <a-col :md="6" :sm="8" class="noprint">
  168. <h4 style="color:red;">
  169. 标记
  170. <span>(计算结果是负值时,该标记是红色)</span>
  171. </h4>
  172. </a-col>
  173. </a-form-model>
  174. </div>
  175. </a-row>
  176. </a-card>
  177. <!--tabs 组件引入 -->
  178. <a-card :bordered="false" style=" marginTop:10px;">
  179. <div><tabs ref="unitTabs" :showSelect='showSelect' /></div>
  180. </a-card>
  181. <!-- 事故单 -->
  182. <a-card :bordered="true" style="margin:10px 0">
  183. <div style="margin:60px 0 40px 0">
  184. <h6 class="table-title">事故单</h6>
  185. <a-table
  186. rowKey="id"
  187. :loading="loading"
  188. :columns="accidentListColumns"
  189. :data-source="accidentListData"
  190. bordered
  191. :pagination="false"
  192. :scroll="{ }"
  193. >
  194. <!-- 事故单 -->
  195. <span slot="accidentNum" slot-scope="text">
  196. <a>{{ text }}</a>
  197. </span>
  198. </a-table>
  199. </div>
  200. <!-- 费用支出 -->
  201. <div>
  202. <h6 class="table-title">费用支出</h6>
  203. <a-table
  204. rowKey="id"
  205. :loading="loading"
  206. :columns="costPayColumns"
  207. :data-source="costPayData"
  208. bordered
  209. :pagination="false"
  210. >
  211. </a-table>
  212. </div>
  213. <!-- 备注信息 根据角色权限控制【填写】、【查看】-->
  214. <div class="note-one" style="marginTop:40px;">
  215. <h6 class="table-title">备注</h6>
  216. <div class="noteDetail">
  217. <a-form-model ref="form" :model="detailsPlanNum">
  218. <a-form-model-item prop="remarks">
  219. <a-input type="textarea" v-model="detailsPlanNum.remarks" placeholder="请输入备注" style="minHeight:100px;" v-show='showSelect==0' />
  220. <a-input type="textarea" v-text="detailsPlanNum.remarks" style="minHeight:100px;" v-show='showSelect==1'/>
  221. </a-form-model-item>
  222. </a-form-model>
  223. </div>
  224. </div>
  225. <!-- 页面底部保存 -->
  226. <a-row :gutter="24" style="marginTop:40px;float:right" class="noprint">
  227. <a-col :md="12" :sm="12" style="display:flex">
  228. <a-button type="primary" @click="daYin" style="margin-right:6px" :disabled ="PrintButton">
  229. 打印
  230. </a-button>
  231. <a-button type="primary" @click="save" :disabled="isDisabled">
  232. 保存
  233. </a-button>
  234. </a-col>
  235. </a-row>
  236. </a-card>
  237. <!-- 弹框 -->
  238. <div>
  239. <!-- 主表 人民币费用支出 弹框 -->
  240. <mainTableExpenseCNY-modal ref="mainTableExpenseCNYModal" :father="aa"></mainTableExpenseCNY-modal>
  241. <!-- 主表 美元费用支出 弹框 -->
  242. <mainTableExpenseUSD-modal ref="mainTableExpenseUSDModal" :father="bb"></mainTableExpenseUSD-modal>
  243. <!-- 事故单 -->
  244. <accidentList-modal ref="accidentListModal" :father="cc"></accidentList-modal>
  245. </div>
  246. </div>
  247. </template>
  248. <script>
  249. import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  250. import JEllipsis from '@/components/jeecg/JEllipsis'
  251. import moment from 'moment'
  252. // 原始文件(应该跟单证内弹框一样,尝试公用,成功后可删除以下注释)
  253. // import mainTableExpenseCNYModal from '@views/reportForms/cost-allocation-table/mainTableExpenseCNYModal.vue'
  254. // import mainTableExpenseUSDModal from '@views/reportForms/cost-allocation-table/mainTableExpenseUSDModal.vue'
  255. // import accidentListModal from '@views/reportForms/fabric-loss-table/accidentListModal.vue' // 事故单
  256. // import tabs from '@views/cost-allocation-total/tabs.vue' // tabs组件
  257. import tabs from '@views/reportForms/cost-allocation-table/tabs.vue' // tabs组件
  258. import mainTableExpenseCNYModal from '@views/cost-allocation-total/modal/mainTableExpenseCNYModal.vue'
  259. import mainTableExpenseUSDModal from '@views/cost-allocation-total/modal/mainTableExpenseUSDModal.vue'
  260. import accidentListModal from '@views/cost-allocation-total/modal/accidentListModal.vue' // 事故单
  261. import { seachPlanNum, addHalfInfo } from '@api/document/cost-allocation-total.js'
  262. export default {
  263. name: 'CostAllocationTable', // 成本分配 (新增)
  264. mixins: [JeecgListMixin],
  265. components: { JEllipsis, moment, tabs, mainTableExpenseCNYModal, mainTableExpenseUSDModal, accidentListModal },
  266. data() {
  267. return {
  268. key: '', //客户输入的订单号
  269. PrintButton:true,//打印按钮
  270. showSelect:0,//计划号是否是输入框
  271. loading: false, // 表格加载
  272. detailsPlanNum: {
  273. planNum: ''
  274. }, // 详情所有数据
  275. remarks: '', // 备注
  276. // 事故单 表头
  277. accidentListColumns: [
  278. {
  279. title: '单号',
  280. width: 120,
  281. dataIndex: 'accidentNum',
  282. className: 'replacecolor',
  283. customCell: this.accidentListCustomCell,
  284. scopedSlots: { customRender: 'accidentNum' }
  285. },
  286. { title: '事故承担方', width: 120, dataIndex: 'accidentUndertaker', className: 'replacecolor' },
  287. { title: '金额', dataIndex: 'amount', width: 120, className: 'replacecolor' }
  288. ],
  289. accidentListData: [],
  290. // 费用支出 表头
  291. costPayColumns: [
  292. { title: '账套号', width: 120, dataIndex: 'setNo', className: 'replacecolor' },
  293. { title: '支出单号', width: 120, dataIndex: 'disbursementSlipNo', className: 'replacecolor' },
  294. { title: '费用项目', dataIndex: 'expenseItem', width: 120, className: 'replacecolor' },
  295. { title: ' 支出本币金额', dataIndex: 'disbursedLocalmoney', width: 120, className: 'replacecolor' },
  296. { title: '支出原币金额', dataIndex: 'disbursedOriginalmoney', width: 120, className: 'replacecolor' },
  297. { title: '发票号', dataIndex: 'invoicenum', width: 120, className: 'replacecolor' },
  298. { title: '制单人', dataIndex: 'preparedBy', width: 120, className: 'replacecolor' }
  299. ],
  300. costPayData: [],
  301. isDisabled: false, //按钮禁止
  302. billstatus: '' // 单据状态
  303. // dateFormat: 'YYYY-MM-DD',
  304. }
  305. },
  306. created() {},
  307. filters: {
  308. //文字数超出时,超出部分使用...
  309. ellipsis(value) {
  310. if (!value) return ''
  311. if (value.length > 20) {
  312. return value.slice(0, 20) + '...'
  313. }
  314. return value
  315. }
  316. },
  317. methods: {
  318. // 【计划单号】 搜索
  319. onSearch() {
  320. this.$nextTick(() => {
  321. // TODO:接口完善后,type 应改为 add(暂时为了回显数据)
  322. this.loading = true
  323. seachPlanNum({ plannum: this.detailsPlanNum.planNum, type: 'query' }).then(res => {
  324. if (res.success) {
  325. this.PrintButton = false
  326. this.loading = false
  327. this.detailsPlanNum = res.result //所有详情
  328. this.accidentListData = res.result.syCostAllocationAccidentList //事故单
  329. this.accidentCalculation(this.accidentListData)
  330. var accidentNum = 0
  331. this.accidentListData.map(item =>{
  332. item.id = accidentNum + 1
  333. accidentNum += 1
  334. })
  335. this.costPayData = res.result.syCostAllocationCostpayList //支出费用
  336. var num = 0
  337. this.costPayData.map(item =>{
  338. item.id = num + 1
  339. num += 1
  340. })
  341. // tabs 名称集合
  342. this.$refs.unitTabs.tabNameList = res.result.processUnit.split(',')
  343. //所有tabs数据
  344. this.$refs.unitTabs.tabsAllData = res.result.processUnitList
  345. // 页面打开加载的数据
  346. var oneData = this.$refs.unitTabs.tabsAllData[0]
  347. this.$refs.unitTabs.fabData = oneData.syCostAllocationFabricList
  348. this.$refs.unitTabs.ingData = oneData.syCostAllocationIngredientList
  349. this.$refs.unitTabs.shipData = oneData.syCostAllocationShipdetail
  350. this.calculation(oneData.syCostAllocationShipdetail)
  351. //合计中面料相关金额
  352. var s=0
  353. oneData.syCostAllocationFabricList.map(item=>{
  354. s+=item.transferCost
  355. })
  356. this.$refs.unitTabs.sumInfo.fabricAmount = s.toFixed(3) //合计中的面料总额
  357. this.$refs.unitTabs.sumInfo.fabricExcludTax = (s/1.13).toFixed(3)//合计中的不含税面料总额
  358. this.detailsPlanNum.fabriccostIncludestax = s.toFixed(3) //表头中面料含税总额
  359. this.detailsPlanNum.fabriccostNotincludestax = (s/1.13).toFixed(3) //表头中面料不含税总额
  360. //合计中辅料相关金额
  361. var s = 0,
  362. v =0
  363. oneData.syCostAllocationIngredientList.map(item=>{
  364. s+=item.priceExcludingtax,
  365. v+=item.rmbAmount
  366. })
  367. this.$refs.unitTabs.sumInfo.ingExcludAmount = s.toFixed(3),//辅料不含税金额合计
  368. this.$refs.unitTabs.sumInfo.ingAmount =v.toFixed(3)//辅料金额合计
  369. //合计中出运明细相关金额
  370. var s =0,
  371. v = 0,
  372. d = 0,
  373. b = 0,
  374. f=0
  375. oneData.syCostAllocationShipdetail.map(item=>{
  376. s+=item.exportPrice
  377. v+=item.shipQuantity
  378. d+=item.processCost
  379. b+=item.exportPrice
  380. })
  381. this.$refs.unitTabs.sumInfo.exportPriceUSD = s.toFixed(3)//出运美元外销总价
  382. this.$refs.unitTabs.sumInfo.shipQua =v.toFixed(3)//出货数量合计
  383. this.$refs.unitTabs.sumInfo.shipProcesFees =d.toFixed(3)//出运加工费
  384. this.$refs.unitTabs.sumInfo.exportedAmountRMB =b.toFixed(3)//出运人民币外销金额 f
  385. f=Number(this.$refs.unitTabs.sumInfo.ingAmount)+Number(this.$refs.unitTabs.sumInfo.shipProcesFees)
  386. this.$refs.unitTabs.sumInfo.amountTotal =f.toFixed(3)//合计金额
  387. this.pagination = {
  388. total: res.result.total,
  389. current: res.result.current,
  390. pageSize: res.result.size
  391. }
  392. }else {
  393. THIS.loading = false
  394. this.$message.error(res.message);
  395. }
  396. })
  397. })
  398. },
  399. //计算短出货值
  400. calculation(val){
  401. var average = 0
  402. val.map(item=>{
  403. average += item.exportUnitPrice
  404. })
  405. this.detailsPlanNum.shortvalue = this.detailsPlanNum.shortseveral*average
  406. var shipQuantityAll =0,
  407. exportUnitPriceALll = 0,
  408. exportPriceAll =0,
  409. rmbAmountAll = 0,
  410. procesUnitPricermbAll = 0,
  411. procesUnitPriceusdAll = 0,
  412. processCostAll = 0
  413. val.map(item=>{
  414. shipQuantityAll+=Number(item.shipQuantity)
  415. exportUnitPriceALll+=Number(item.exportUnitPrice)
  416. exportPriceAll+=Number(item.exportPrice)
  417. rmbAmountAll+=Number(item.rmbAmount)
  418. procesUnitPricermbAll+=Number(item.procesUnitPricermb)
  419. procesUnitPriceusdAll+=Number(item.procesUnitPriceusd)
  420. processCostAll+=Number(item.processCost)
  421. })
  422. var allObj ={
  423. outdata:'合计',
  424. shipQuantity:shipQuantityAll.toFixed(3),
  425. exportUnitPrice:exportUnitPriceALll.toFixed(3),
  426. exportPrice:exportPriceAll.toFixed(3),
  427. rmbAmount:rmbAmountAll.toFixed(3),
  428. procesUnitPricermb:procesUnitPricermbAll.toFixed(3),
  429. procesUnitPriceusd:procesUnitPriceusdAll.toFixed(3),
  430. processCost:processCostAll.toFixed(3)
  431. }
  432. this.$refs.unitTabs.shipData.push(allObj)
  433. },
  434. daYin(){
  435. // printJS({
  436. // printable:this.fabricLoss.fabricOMOrderList1,
  437. // properties:[
  438. // {field:'cvcname',displayName:'制造工艺',columnSize:1},
  439. // {field:'cvenAbbName',displayName:'工厂',columnSize:1},
  440. // {field:'iquantityOut',displayName:'材料出库数量',columnSize:1},
  441. // {field:'iquantity', displayName:'计划数量',columnSize:1},
  442. // {field:'iquantityIn', displayName:'采购入库数量',columnSize:1},
  443. // {field:'cinvCode', displayName:'物料编码',columnSize:1},
  444. // {field:'cinvName', displayName:'货物名称',columnSize:1},
  445. // {field:'ccolor', displayName:'颜色',columnSize:1},
  446. // {field:'cquantityLoss', displayName:'损耗',columnSize:1},
  447. // {field:'iquantityMoreLess', displayName:'多发少发',columnSize:1},
  448. // ],
  449. // type:'json',
  450. // header:'C001',
  451. //样式设置
  452. // gridStyle:'border:2px solid #3971A5;text-align: center',
  453. // gridHeaderStyle:'color:red; border:2px solid #3971A5;'
  454. // })
  455. this.showSelect = 1
  456. this.$nextTick(() => {
  457. const html = window.document.getElementById('costAllocationTable').innerHTML
  458. const win = window.open();
  459. const style = '<style>\n'
  460. +'.noprint{display:none}'
  461. // +'.ant-table-body-inner{overflow-x: hidden !important;overflow-y: hidden !important }' //去除滚动条
  462. +'.ant-table-body{overflow-x: hidden !important ;overflow-y: hidden !important}'
  463. +'.ant-table-header {overflow-x: hidden !important ;overflow-y: hidden !important}'
  464. +'.ant-table-fixed-left{display: none !important}'
  465. +'.ant-tabs-nav-container{display: none !important}'
  466. +'.kk{display:flex;flex-wrap: wrap}' //主要信息并排
  467. +'.ant-col-sm-8{width:40%;margin-bottom: 6px;}'
  468. +'.ant-form-item-label{width:55%;font-size: 12px;}'
  469. +'.ant-form-item-children{font-size: 12px}'
  470. +'.ant-card-head-title{font-weight: bold;font-size: 0.67em;margin-bottom: 9px;}'
  471. +'.ant-form-item-control-wrapper{width:100%}'
  472. +'.ant-input{width:100%}'
  473. +'.ant-form-item{display:flex}'
  474. + 'table{width: 100% !important;border-collapse: collapse;border-spacing: 0;overflow-x:hidden;}\n'
  475. + 'th,td{width:5%;height: 18px;border: 1px solid #999;font-size: 12px;color: #666;max-width:2000px;text-align: center;}\n'
  476. +'.ant-table-row-cell-break-word{width:5% !important}'
  477. + 'th{color: #333}\n'
  478. + 'a{color: #666; text-decoration:none;}\n'
  479. + '</style>';
  480. win.document.write(style+html);
  481. win.focus();
  482. win.print();
  483. win.close();
  484. this.showSelect = 0
  485. })
  486. },
  487. //计算事故单美元金额和事故单人民币金额
  488. accidentCalculation(val){
  489. var usaMoney = 0,
  490. rmbMoney = 0
  491. val.map(item=>{
  492. usaMoney += item.amount,
  493. rmbMoney+=item.rmbAmount
  494. })
  495. this.detailsPlanNum.accidentUsdamount = usaMoney
  496. this.detailsPlanNum.accidentcnyAmount = usaMoney
  497. },
  498. // 页面 保存
  499. save() {
  500. console.log('点击保存')
  501. this.isDisabled = true
  502. setTimeout(() => {
  503. let that = this
  504. that.isDisabled = false
  505. }, 3000)
  506. if (this.detailsPlanNum.remarks) {
  507. // 保存 部分信息
  508. var halfInfo = {}
  509. // halfInfo.planNum = this.detailsPlanNum.planNum
  510. // halfInfo.remarks = this.detailsPlanNum.remarks
  511. // halfInfo.billstatus = '1'
  512. // console.log(halfInfo.planNum, halfInfo.remarks, halfInfo.billstatus)
  513. // var planNum = this.detailsPlanNum.planNum,
  514. var json = this.detailsPlanNum
  515. addHalfInfo(json).then(res => {
  516. if (res.success) {
  517. console.log('保存的部分信息', halfInfo)
  518. this.$message.success('保存成功')
  519. halfInfo = {}
  520. }
  521. })
  522. } else {
  523. this.$message.error('备注不能为空')
  524. }
  525. },
  526. // 主表:人民币费用支出 弹框
  527. mainTableExpenseCNY() {
  528. console.log('点击:主表人民币费用支出')
  529. this.$refs.mainTableExpenseCNYModal.mainTableExpenseCNYModVis = true
  530. this.$refs.mainTableExpenseCNYModal.mainTableExpenseCNYData = this.costPayData
  531. this.$refs.mainTableExpenseCNYModal.fixedData = this.costPayData
  532. },
  533. // 主表:美元费用支出 弹框
  534. mainTableExpenseUSD() {
  535. console.log('点击:主表美元费用支出')
  536. this.$refs.mainTableExpenseUSDModal.mainTableExpenseUSDModVis = true
  537. this.$refs.mainTableExpenseUSDModal.mainTableExpenseUSDData = this.costPayData
  538. this.$refs.mainTableExpenseUSDModal.fixedData = this.costPayData
  539. },
  540. // 事故单 单号 弹框
  541. accidentListCustomCell(record) {
  542. return {
  543. on: {
  544. click: event => {
  545. console.log('this:', this)
  546. // 调用【面料损耗表】中的【事故单】弹框
  547. this.$refs.accidentListModal.accidentListModVis = true
  548. }
  549. }
  550. }
  551. },
  552. // father 方法
  553. aa() {},
  554. bb() {},
  555. cc() {}
  556. },
  557. computed: {},
  558. mounted() {}
  559. }
  560. </script>
  561. <style lang="less" scoped>
  562. @import '~@assets/less/common.less';
  563. @import '~@assets/less/overwriter.less';
  564. /deep/ .ant-table-thead > tr > th {
  565. text-align: center;
  566. // font-weight: 700;
  567. }
  568. /deep/ .ant-table-tbody {
  569. text-align: center;
  570. }
  571. /deep/ .fontColor .ant-form-item-label > label{
  572. color: red !important;
  573. }
  574. // /deep/ th.replacecolor {
  575. // background-color: #ccc;
  576. // }
  577. // 抽屉里的card样式
  578. // /deep/ .ant-drawer-content {
  579. // background-color: #f0f2f5;
  580. // }
  581. // /deep/ .ant-drawer-body {
  582. // padding: 10px;
  583. // }
  584. </style>