baseForm.vue 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426
  1. <template>
  2. <el-form
  3. :model="ruleForm"
  4. status-icon
  5. :rules="rulesThis"
  6. ref="ruleForm"
  7. :size="'mini'"
  8. v-loading="loading"
  9. label-width="85px"
  10. class="demo-ruleForm"
  11. >
  12. <el-row>
  13. <el-col
  14. :span="24"
  15. style="padding: 12px 16px 12px 16px; text-align: right"
  16. >
  17. <!-- $total_fee(成本合计初始价格) =打样费/购买数量 + 开模费/购买数量 + 金属重量* 最新金价 + 工艺费* 金属重量+包装费+加标费+证书费+产品裸价0+运费; -->
  18. <!-- ps:没有其他费用-->
  19. <!-- (ruleForm.noble_weight*newGoldPrice)+ (ruleForm.cost_fee*ruleForm.noble_weight)
  20. + ruleForm.mark_fee + ruleForm.pakge_fee + ruleForm.cert_fee + ruleForm.nake_fee + ruleForm.delivery_fee-->
  21. <!-- 乘法精度函数调用在mounted(初始调用),number_change函数(改变调用),如果放在dom层初始值时undifind会报错 r1,r2-->
  22. <span>
  23. <!-- {{
  24. (ruleForm.demo_fee/askItem.num)+
  25. (ruleForm.open_fee/askItem.num)+
  26. (ruleForm.noble_weight*newGoldPrice)+
  27. (ruleForm.cost_fee*ruleForm.noble_weight)+
  28. ruleForm.pakge_fee+
  29. ruleForm.mark_fee+
  30. ruleForm.cert_fee+ruleForm.nake_fee+ruleForm.delivery_fee
  31. }} -->
  32. 预计成本合计:<span>
  33. {{newPrice}}
  34. </span></span
  35. >
  36. <span
  37. class="fl"
  38. style="height: 28px; font-size: 16px; line-height: 28px"
  39. >{{ title }}</span
  40. >
  41. <el-button :size="'mini'" @click="$emit('cancel')">取 消 </el-button>
  42. <el-button
  43. :size="'mini'"
  44. type="primary"
  45. v-if="type !== 'view'"
  46. @click="submitForm"
  47. >保 存
  48. </el-button>
  49. </el-col>
  50. <el-col :span="16">
  51. <el-form-item label="供应商" prop="supplierNo">
  52. <search-supplier
  53. :value="ruleForm.supplierNo"
  54. :placeholder="'供应商'"
  55. :size="'mini'"
  56. :names="supplierNo_name"
  57. :disabled="type === 'view'"
  58. :isDetail="type !== 'add'"
  59. @searchChange="supplierNosearchChange"
  60. />
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="8">
  64. <el-form-item label="品牌" prop="brandid" label-width="60px">
  65. <search-brand
  66. :value="ruleForm.brandid"
  67. :size="'mini'"
  68. :disabled="false"
  69. :isDetail="true"
  70. :names="brand_name"
  71. :placeholder="'品牌'"
  72. @searchChange="brandidsearchChange"
  73. />
  74. </el-form-item>
  75. </el-col>
  76. <el-col :span="5">
  77. <el-form-item label="有效期" prop="expire_day">
  78. <digital-input
  79. :values="ruleForm.expire_day"
  80. :placeholder="'有效期'"
  81. :min="0"
  82. :max="100000000000"
  83. :position="'right'"
  84. :precision="0"
  85. :size="'mini'"
  86. :disabled="type === 'view'"
  87. :controls="false"
  88. :append="'天'"
  89. @reschange="number_change($event, 'expire_day')"
  90. />
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="5">
  94. <el-form-item label="物流时间" prop="delivery_day">
  95. <digital-input
  96. :values="ruleForm.delivery_day"
  97. :placeholder="'物流时间'"
  98. :min="0"
  99. :max="100000000000"
  100. :position="'right'"
  101. :precision="0"
  102. :size="'mini'"
  103. :disabled="type === 'view'"
  104. :controls="false"
  105. :append="'天'"
  106. @reschange="number_change($event, 'delivery_day')"
  107. />
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="5">
  111. <el-form-item label="生产工期" prop="work_day">
  112. <digital-input
  113. :values="ruleForm.work_day"
  114. :placeholder="'生产工期'"
  115. :min="0"
  116. :max="100000000000"
  117. :disabled="type === 'view'"
  118. :position="'right'"
  119. :precision="0"
  120. :size="'mini'"
  121. :controls="false"
  122. :append="'天'"
  123. @reschange="number_change($event, 'work_day')"
  124. />
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="5">
  128. <el-form-item label="税点" prop="tax" label-width="60px">
  129. <search-tax
  130. :value="ruleForm.tax"
  131. :size="'mini'"
  132. :disabled="type === 'view'"
  133. :isDetail="type !== 'add'"
  134. :placeholder="'税点'"
  135. @searchChange="taxsearchChange"
  136. />
  137. </el-form-item>
  138. </el-col>
  139. <el-col :span="4">
  140. <el-form-item label="单位" prop="unit_id" label-width="60px">
  141. <search-unit
  142. :value="ruleForm.unit_id"
  143. :size="'mini'"
  144. :isDetail="true"
  145. :names="unit_name"
  146. :disabled="false"
  147. :placeholder="'单位'"
  148. @searchChange="unitsearchChange"
  149. />
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="24">
  153. <el-row>
  154. <el-col :span="12">
  155. <el-form-item label="分类" prop="cat_id">
  156. <search-sort
  157. :value="ruleForm.cat_id"
  158. :placeholder="'分类'"
  159. :size="'mini'"
  160. :names="cat_id_name"
  161. :disabled="false"
  162. :isDetail="true"
  163. @searchChange="cat_id_change"
  164. />
  165. </el-form-item>
  166. <el-form-item label="商品名称" prop="pname">
  167. <el-input
  168. placeholder="商品名称"
  169. maxlength="100"
  170. :disabled="type === 'view'"
  171. v-model="ruleForm.pname"
  172. ></el-input>
  173. </el-form-item>
  174. <el-form-item label="产地" prop="origin_place">
  175. <select-area
  176. :placeholder="'产地'"
  177. :value="ruleForm.origin_place"
  178. :size="'mini'"
  179. :disabled="type === 'view'"
  180. :is-detail="id !== 'add'"
  181. @selectChange="selectAreaorigin_place"
  182. />
  183. </el-form-item>
  184. </el-col>
  185. <el-col :span="12" style="padding: 0 0 0 15px">
  186. <el-table
  187. :data="spec_tableData"
  188. :size="'mini'"
  189. border
  190. style="width: 100%"
  191. max-height="120px"
  192. >
  193. <el-table-column prop="spec_name" label="规格类型" />
  194. <el-table-column prop="spec_value_name" label="规格值" />
  195. <el-table-column
  196. fixed="right"
  197. width="88px"
  198. v-if="type !== 'view'"
  199. >
  200. <template slot="header" slot-scope="scope">
  201. <span>操作</span>
  202. <el-tooltip
  203. class="item"
  204. effect="dark"
  205. content="添加规格类型"
  206. placement="top"
  207. >
  208. <i
  209. class="el-icon-circle-plus-outline fr"
  210. style="font-size: 18px; margin-top: 2px"
  211. @click="openEdit('-1', {})"
  212. />
  213. </el-tooltip>
  214. </template>
  215. <template slot-scope="scope">
  216. <el-tooltip effect="dark" content="修改" placement="top">
  217. <i
  218. class="el-icon-edit tb-icon"
  219. @click="openEdit(scope.$index, scope.row)"
  220. ></i>
  221. </el-tooltip>
  222. <el-tooltip effect="dark" content="删除" placement="top">
  223. <i
  224. class="el-icon-delete tb-icon"
  225. @click="openDelete(scope.$index)"
  226. ></i>
  227. </el-tooltip>
  228. </template>
  229. </el-table-column>
  230. </el-table>
  231. <!-- 弹窗 新增/修改 -->
  232. <base-form-add-edit
  233. :index="modelIndex"
  234. :show-model="showOtherModel"
  235. :sitem="modelSitem"
  236. @refresh="refreshEdit"
  237. @cancel="showOtherModel = false"
  238. />
  239. </el-col>
  240. </el-row>
  241. </el-col>
  242. <el-col :span="6">
  243. <el-form-item label="总重量" prop="weight">
  244. <digital-input
  245. :values="ruleForm.weight"
  246. :placeholder="'总重量'"
  247. :min="0"
  248. :max="100000000000"
  249. :position="'right'"
  250. :precision="3"
  251. :disabled="type === 'view'"
  252. :size="'mini'"
  253. :controls="false"
  254. :append="'g'"
  255. @reschange="number_change($event, 'weight')"
  256. />
  257. </el-form-item>
  258. </el-col>
  259. <el-col :span="6">
  260. <el-form-item label="供货区域" prop="supply_area">
  261. <el-select
  262. v-model="ruleForm.supply_area"
  263. filterable
  264. :disabled="type === 'view'"
  265. clearable
  266. style="width: 100%"
  267. placeholder="供货区域"
  268. >
  269. <el-option
  270. v-for="group in options6"
  271. :key="group.id"
  272. :label="group.name"
  273. :value="group.id"
  274. />
  275. </el-select>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="6">
  279. <el-form-item label="付款方式" prop="pay_way" class="clear">
  280. <el-select
  281. v-model="ruleForm.pay_way"
  282. filterable
  283. :disabled="type === 'view'"
  284. clearable
  285. style="width: 100%"
  286. placeholder="付款方式"
  287. >
  288. <el-option
  289. v-for="group in options10"
  290. :key="group.id"
  291. :label="group.name"
  292. :value="group.id"
  293. />
  294. </el-select>
  295. </el-form-item>
  296. </el-col>
  297. <el-col :span="6">
  298. <el-form-item label="发货方式" prop="send_way" class="clear">
  299. <el-select
  300. v-model="ruleForm.send_way"
  301. filterable
  302. clearable
  303. :disabled="type === 'view'"
  304. style="width: 100%"
  305. placeholder="发货方式"
  306. >
  307. <el-option
  308. v-for="group in options11"
  309. :key="group.id"
  310. :label="group.name"
  311. :value="group.id"
  312. />
  313. </el-select>
  314. </el-form-item>
  315. </el-col>
  316. <el-col :span="6">
  317. <el-form-item label="证书费" prop="cert_fee">
  318. <digital-input
  319. :values="ruleForm.cert_fee"
  320. :placeholder="'证书费'"
  321. :min="0"
  322. :disabled="type === 'view'"
  323. :max="100000000000"
  324. :position="'right'"
  325. :precision="2"
  326. :size="'mini'"
  327. :controls="false"
  328. :append="'元'"
  329. @reschange="number_change($event, 'cert_fee')"
  330. />
  331. </el-form-item>
  332. </el-col>
  333. <el-col :span="6">
  334. <el-form-item label="包装费" prop="pakge_fee">
  335. <digital-input
  336. :values="ruleForm.pakge_fee"
  337. :placeholder="'包装费'"
  338. :min="0"
  339. :disabled="type === 'view'"
  340. :max="100000000000"
  341. :position="'right'"
  342. :precision="2"
  343. :size="'mini'"
  344. :controls="false"
  345. :append="'元'"
  346. @reschange="number_change($event, 'pakge_fee')"
  347. />
  348. </el-form-item>
  349. </el-col>
  350. <el-col :span="6">
  351. <el-form-item label="工艺费" prop="cost_fee">
  352. <digital-input
  353. :values="ruleForm.cost_fee"
  354. :placeholder="'工艺费'"
  355. :min="0"
  356. :disabled="type === 'view'"
  357. :max="100000000000"
  358. :position="'right'"
  359. :precision="2"
  360. :size="'mini'"
  361. :controls="false"
  362. :append="'元'"
  363. @reschange="number_change($event, 'cost_fee')"
  364. />
  365. </el-form-item>
  366. </el-col>
  367. <el-col :span="6">
  368. <el-form-item label="加标费" prop="mark_fee">
  369. <digital-input
  370. :values="ruleForm.mark_fee"
  371. :placeholder="'加标费'"
  372. :min="0"
  373. :disabled="type === 'view'"
  374. :max="100000000000"
  375. :position="'right'"
  376. :precision="2"
  377. :size="'mini'"
  378. :controls="false"
  379. :append="'元'"
  380. @reschange="number_change($event, 'mark_fee')"
  381. />
  382. </el-form-item>
  383. </el-col>
  384. <el-col :span="6">
  385. <el-form-item label="打样费" prop="demo_fee">
  386. <digital-input
  387. :values="ruleForm.demo_fee"
  388. :placeholder="'打样费'"
  389. :min="0"
  390. :disabled="type === 'view'"
  391. :max="100000000000"
  392. :position="'right'"
  393. :precision="2"
  394. :size="'mini'"
  395. :controls="false"
  396. :append="'元'"
  397. @reschange="number_change($event, 'demo_fee')"
  398. />
  399. </el-form-item>
  400. </el-col>
  401. <el-col :span="6">
  402. <el-form-item label="开模费" prop="open_fee">
  403. <digital-input
  404. :values="ruleForm.open_fee"
  405. :placeholder="'开模费'"
  406. :min="0"
  407. :disabled="type === 'view'"
  408. :max="100000000000"
  409. :position="'right'"
  410. :precision="2"
  411. :size="'mini'"
  412. :controls="false"
  413. :append="'元'"
  414. @reschange="number_change($event, 'open_fee')"
  415. />
  416. </el-form-item>
  417. </el-col>
  418. <el-col :span="6">
  419. <el-form-item label="物流费" prop="delivery_fee">
  420. <digital-input
  421. :values="ruleForm.delivery_fee"
  422. :placeholder="'物流费'"
  423. :min="0"
  424. :disabled="type === 'view'"
  425. :max="100000000000"
  426. :position="'right'"
  427. :precision="2"
  428. :size="'mini'"
  429. :controls="false"
  430. :append="'元'"
  431. @reschange="number_change($event, 'delivery_fee')"
  432. />
  433. </el-form-item>
  434. </el-col>
  435. <el-col :span="6">
  436. <el-form-item label="裸价" prop="nake_fee" class="clear">
  437. <digital-input
  438. :values="ruleForm.nake_fee"
  439. :placeholder="'裸价'"
  440. :min="0"
  441. :disabled="type === 'view' || is_noble"
  442. :max="100000000000"
  443. :position="'right'"
  444. :precision="2"
  445. :size="'mini'"
  446. :controls="false"
  447. :append="'元'"
  448. @reschange="number_change($event, 'nake_fee')"
  449. />
  450. </el-form-item>
  451. </el-col>
  452. <el-col :span="24" v-show="is_noble">
  453. <el-col :span="6">
  454. <el-form-item label="金属重量" prop="noble_weight">
  455. <digital-input
  456. :values="ruleForm.noble_weight"
  457. :placeholder="'金属重量'"
  458. :min="0"
  459. :disabled="type === 'view'"
  460. :max="100000000000"
  461. :position="'right'"
  462. :precision="3"
  463. :size="'mini'"
  464. :controls="false"
  465. :append="'g'"
  466. @reschange="number_change($event, 'noble_weight')"
  467. />
  468. </el-form-item>
  469. </el-col>
  470. <el-col :span="6">
  471. <el-form-item label="金属种类" prop="metal_id">
  472. <search-metal-kind
  473. :value="ruleForm.metal_id"
  474. :size="'mini'"
  475. :disabled="type === 'view'"
  476. :isDetail="true"
  477. :placeholder="'金属种类'"
  478. @searchChange="metal_idsearchChange"
  479. />
  480. </el-form-item>
  481. </el-col>
  482. <el-col :span="6">
  483. <el-form-item label="启用金价" prop="is_gold_price">
  484. <el-select
  485. v-model="ruleForm.is_gold_price"
  486. filterable
  487. clearable
  488. :disabled="type === 'view'"
  489. style="width: 100%"
  490. placeholder="启用金价"
  491. >
  492. <el-option
  493. v-for="group in options5"
  494. :key="group.id"
  495. :label="group.name"
  496. :value="group.id"
  497. />
  498. </el-select>
  499. </el-form-item>
  500. </el-col>
  501. <el-col :span="6">
  502. <el-form-item label="有无工差" prop="is_diff">
  503. <el-select
  504. v-model="ruleForm.is_diff"
  505. filterable
  506. clearable
  507. :disabled="type === 'view'"
  508. style="width: 100%"
  509. placeholder="有无工差"
  510. >
  511. <el-option
  512. v-for="group in options8"
  513. :key="group.id"
  514. :label="group.name"
  515. :value="group.id"
  516. />
  517. </el-select>
  518. </el-form-item>
  519. </el-col>
  520. <el-col :span="12">
  521. <el-form-item label="配置要求" prop="config">
  522. <el-select
  523. v-model="ruleForm.config"
  524. multiple
  525. :disabled="type === 'view'"
  526. style="width: 100%"
  527. placeholder="配置要求"
  528. >
  529. <el-option
  530. v-for="(item, index) in options9"
  531. :key="item + index"
  532. :label="item"
  533. :value="item"
  534. >
  535. </el-option>
  536. </el-select>
  537. </el-form-item>
  538. </el-col>
  539. <el-col :span="12">
  540. <el-form-item
  541. label="其他配置要求"
  542. prop="other_config"
  543. label-width="120px"
  544. >
  545. <el-input
  546. placeholder="其他要求"
  547. maxlength="100"
  548. :disabled="type === 'view'"
  549. v-model="ruleForm.other_config"
  550. >
  551. </el-input>
  552. </el-form-item>
  553. </el-col>
  554. </el-col>
  555. <el-col :span="18">
  556. <el-form-item label="采购备注" prop="remark">
  557. <el-input
  558. placeholder="采购备注"
  559. maxlength="500"
  560. :disabled="type === 'view'"
  561. v-model="ruleForm.remark"
  562. >
  563. </el-input>
  564. </el-form-item>
  565. <el-form-item label="工艺说明" prop="cost_desc">
  566. <el-input
  567. placeholder="工艺说明"
  568. maxlength="500"
  569. :disabled="type === 'view'"
  570. v-model="ruleForm.cost_desc"
  571. >
  572. </el-input>
  573. </el-form-item>
  574. </el-col>
  575. <el-col :span="6">
  576. <el-form-item
  577. label="商品图片(<1mb)"
  578. prop="good_img"
  579. class="activity-upload"
  580. >
  581. <div class="btnupload" style="position: relative">
  582. <img
  583. v-if="ruleForm.good_img"
  584. :src="ruleForm.good_img"
  585. class="avatar"
  586. />
  587. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  588. <file-upload
  589. class="Upload"
  590. :accept="'.jpg,.png,.jpeg'"
  591. :multiple="true"
  592. :disabled="type === 'view'"
  593. :uploadcondition="beforeAvatarUpload"
  594. @UploadErrorEvent="UploadErrorEventgood_img"
  595. @UploadSuccessEvent="UploadSuccessEventgood_img"
  596. ></file-upload>
  597. </div>
  598. </el-form-item>
  599. </el-col>
  600. </el-row>
  601. </el-form>
  602. </template>
  603. <script>
  604. import asyncRequest from "@/apis/service/purchaseIn/workbench";
  605. import resToken from "@/mixins/resToken";
  606. import { mapGetters } from "vuex";
  607. import baseFormAddEdit from "./baseFormAddEdit";
  608. import {
  609. options1,
  610. options2,
  611. options3,
  612. options4,
  613. options5,
  614. options6,
  615. options7,
  616. options8,
  617. options9,
  618. options10,
  619. options11,
  620. rules,
  621. } from "../columns";
  622. export default {
  623. name: "goodsCostAdd",
  624. mixins: [resToken],
  625. props: ["showModel", "id", "type", "sitem", "askItem", "newTime", "editId"],
  626. components: {
  627. baseFormAddEdit,
  628. },
  629. computed: {
  630. ...mapGetters(["tablebtnSize", "searchSize", "size"]),
  631. powers() {
  632. let tran =
  633. this.$store.getters.btnList.find(
  634. (item) => item.menu_route == "goodsCostAdd"
  635. ) || {};
  636. if (tran && tran.action && tran.action.length > 0) {
  637. return tran.action;
  638. } else {
  639. return [];
  640. }
  641. },
  642. },
  643. watch: {
  644. newTime: function (val) {
  645. if (val) {
  646. this.initForm();
  647. }
  648. },
  649. },
  650. data() {
  651. return {
  652. cat_id_name: "",
  653. supplierNo: "",
  654. brand_name: "",
  655. unit_name: "",
  656. title: "",
  657. modelIndex: "",
  658. modelSitem: {},
  659. showOtherModel: false,
  660. is_noble: false,
  661. status: "",
  662. rulesThis: this.rules,
  663. activeName: "1",
  664. loading: true,
  665. //新实时金价
  666. newGoldPrice: 0,
  667. options1: options1,
  668. options2: options2,
  669. options3: options3,
  670. options4: options4,
  671. options5: options5,
  672. options6: options6,
  673. options7: options7,
  674. options8: options8,
  675. options9: options9,
  676. options10: options10,
  677. options11: options11,
  678. ruleForm: {},
  679. rules: JSON.parse(JSON.stringify(rules)),
  680. //乘法处理
  681. r1: "",
  682. r2: "",
  683. //除法处理
  684. r3: "",
  685. r4: "",
  686. //成本合算
  687. newPrice:0,
  688. };
  689. },
  690. mounted() {
  691. this.$nextTick(() => {});
  692. this.initForm();
  693. // this.computedCost();
  694. },
  695. methods: {
  696. //加法精度问题
  697. accAdd(arg1, arg2) {
  698. var r1, r2, m;
  699. try {
  700. r1 = arg1.toString().split(".")[1].length;
  701. } catch (e) {
  702. r1 = 0;
  703. }
  704. try {
  705. r2 = arg2.toString().split(".")[1].length;
  706. } catch (e) {
  707. r2 = 0;
  708. }
  709. m = Math.pow(10, Math.max(r1, r2));
  710. return (arg1 * m + arg2 * m) / m;
  711. },
  712. // accAdd(arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
  713. // var r1, r2, r3, r4, r5, r6, r7, m;
  714. // console.log(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
  715. // try {
  716. // r1 = arg1.toString().split(".")[1].length;
  717. // } catch (e) {
  718. // r1 = 0;
  719. // }
  720. // try {
  721. // r2 = arg2.toString().split(".")[1].length;
  722. // } catch (e) {
  723. // r2 = 0;
  724. // }
  725. // try {
  726. // r3 = arg3.toString().split(".")[1].length;
  727. // } catch (e) {
  728. // r3 = 0;
  729. // }
  730. // try {
  731. // r4 = arg4.toString().split(".")[1].length;
  732. // } catch (e) {
  733. // r4 = 0;
  734. // }
  735. // try {
  736. // r5 = arg5.toString().split(".")[1].length;
  737. // } catch (e) {
  738. // r5 = 0;
  739. // }
  740. // try {
  741. // r6 = arg6.toString().split(".")[1].length;
  742. // } catch (e) {
  743. // r6 = 0;
  744. // }
  745. // try {
  746. // r7 = arg7.toString().split(".")[1].length;
  747. // } catch (e) {
  748. // r7 = 0;
  749. // }
  750. // m = Math.pow(10, Math.max(r1, r2, r3, r4, r5, r6, r7));
  751. // return (
  752. // (arg1 * m +
  753. // arg2 * m +
  754. // arg3 * m +
  755. // arg4 * m +
  756. // arg5 * m +
  757. // arg6 * m +
  758. // arg7 * m) /
  759. // m
  760. // );
  761. // },
  762. //乘法精度问题
  763. accMul(arg1, arg2) {
  764. var m = 0,
  765. s1 = arg1.toString(),
  766. s2 = arg2.toString();
  767. try {
  768. m += s1.split(".")[1].length;
  769. } catch (e) {}
  770. try {
  771. m += s2.split(".")[1].length;
  772. } catch (e) {}
  773. let numStr =
  774. (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) /
  775. Math.pow(10, m);
  776. return numStr.toString();
  777. },
  778. //除法精度问题
  779. accDiv(arg1, arg2) {
  780. var t1 = 0,
  781. t2 = 0,
  782. c1,
  783. c2;
  784. try {
  785. t1 = arg1.toString().split(".")[1].length;
  786. } catch (e) {}
  787. try {
  788. t2 = arg2.toString().split(".")[1].length;
  789. } catch (e) {}
  790. // with (Math) {
  791. c1 = Number(arg1.toString().replace(".", ""));
  792. c2 = Number(arg2.toString().replace(".", ""));
  793. return (c1 / c2) * Math.pow(10, t2 - t1);
  794. // }
  795. },
  796. async initForm() {
  797. this.supplierNo = [];
  798. console.log(this.id);
  799. this.loading = true;
  800. if (this.type === "add") {
  801. this.title = "新建采返商品";
  802. } else if (this.type === "edit") {
  803. this.title = "编辑采返商品";
  804. } else {
  805. this.title = "采返商品详情";
  806. }
  807. console.log(this.type);
  808. this.resetFormData();
  809. this.rulesThis = this.rules;
  810. await this.resetForm();
  811. if (this.type === "edit" || this.type === "view") {
  812. await this.initData();
  813. }
  814. //调用实时金价获取接口
  815. this.golpricelast(this.ruleForm.metal_id)
  816. //调用成本合算计算函数
  817. // this.computedCost()
  818. this.setrules();
  819. this.loading = false;
  820. },
  821. computedCost() {
  822. // (this.ruleForm.demo_fee/this.askItem.num)+
  823. // (this.ruleForm.open_fee/this.askItem.num)+
  824. // (this.ruleForm.noble_weight*this.newGoldPrice)+
  825. // (this.ruleForm.cost_fee*this.ruleForm.noble_weight)+
  826. // this.ruleForm.pakge_fee+
  827. // this.ruleForm.mark_fee+
  828. // this.ruleForm.cert_fee+this.ruleForm.nake_fee+this.ruleForm.delivery_fee
  829. // let price = this.accDiv(this.ruleForm.demo_fee,this.askItem.num)
  830. // let price = this.accDiv(this.ruleForm.open_fee,this.askItem.num)
  831. // console.log(this.askItem.num)
  832. this.$nextTick(() => {
  833. this.r1 = this.accMul(this.ruleForm.noble_weight, this.newGoldPrice);
  834. this.r2 = this.accMul(
  835. this.ruleForm.cost_fee,
  836. this.ruleForm.noble_weight
  837. );
  838. this.r3 = this.accDiv(this.ruleForm.demo_fee, this.askItem.num);
  839. this.r4 = this.accDiv(this.ruleForm.open_fee, this.askItem.num);
  840. // this.accAdd(this.r1,this.r2)
  841. // this.accAdd(this.r3,this.r4)
  842. // this.accAdd(this.ruleForm.pakge_fee,this.ruleForm.mark_fee)
  843. // this.accAdd(this.ruleForm.cert_fee,this.ruleForm.nake_fee)
  844. // this.accAdd(this.ruleForm.delivery_fee,)
  845. let price = this.accAdd(
  846. this.ruleForm.delivery_fee,
  847. this.accAdd(
  848. this.accAdd(
  849. this.accAdd(
  850. this.accAdd(this.r1, this.r2),
  851. this.accAdd(this.r3, this.r4)
  852. ),
  853. this.accAdd(this.ruleForm.pakge_fee, this.ruleForm.mark_fee)
  854. ),
  855. this.accAdd(this.ruleForm.cert_fee, this.ruleForm.nake_fee)
  856. )
  857. );
  858. price = price.toFixed(2)
  859. this.newPrice = price;
  860. console.log("aaaaaaaaaaaaaaaaaaa",price)
  861. });
  862. },
  863. number_change(e, key) {
  864. this.ruleForm[key] = e + "" || "0";
  865. this.$refs.ruleForm.validateField(key);
  866. this.computedCost();
  867. },
  868. async initData() {
  869. this.loading = true;
  870. const { code, message, data } = await asyncRequest.good_detail({
  871. bidNo: this.editId,
  872. });
  873. console.log(data);
  874. if (code === 0) {
  875. const {
  876. bidNo,
  877. good_name, //string 名称
  878. cat_id, //array 分类
  879. cat_info,
  880. brand_id, //string 品牌id
  881. unit, // string 单位
  882. unit_id, //单位ID
  883. tax, //string 税率
  884. supplierNo, // string 供应商
  885. cost_desc, // string 工艺说明
  886. remark, // string 采购备注
  887. weight, // string 重量
  888. supply_area, // string 供货区域 1 全国2 除偏远地区
  889. origin_place, // string 产地
  890. delivery_day, // string 物流天数
  891. expire_day, // string 信息有效期
  892. good_img, //
  893. // good_name,
  894. cert_fee, // string 证书费
  895. pakge_fee, // string 打包费
  896. cost_fee, // string 工艺费
  897. mark_fee, // string 加标费
  898. demo_fee, // string 打样费
  899. open_fee, // string 开模费
  900. metal_id, // string 金属类别
  901. noble_weight, // string 金属重量
  902. is_gold_price, // string 是否使用实时金价
  903. delivery_fee, // string 物流费
  904. status, // string 状态
  905. brand_name,
  906. work_day,
  907. pay_way,
  908. send_way,
  909. is_diff,
  910. config,
  911. nake_fee,
  912. other_config,
  913. supplierName,
  914. specinfo,
  915. } = JSON.parse(JSON.stringify(data));
  916. if (specinfo && specinfo.length > 0) {
  917. this.spec_tableData = JSON.parse(JSON.stringify(specinfo));
  918. }
  919. this.cat_id_name = "";
  920. if (cat_info && cat_info.length) {
  921. cat_info.forEach((e, ei) => {
  922. this.cat_id_name += `${ei !== 0 ? "_" : ""}${e.name}`;
  923. });
  924. }
  925. this.supplierNo_name = supplierName || "";
  926. console.log(this.supplierNo_name);
  927. this.is_noble = this.askItem.is_metal;
  928. this.brand_name = brand_name || "";
  929. this.unit_name = unit || "";
  930. this.ruleForm = {
  931. infoNo: this.id || "",
  932. bidNo: bidNo || "",
  933. infoNo: this.id || "",
  934. cat_id: cat_id ? [cat_id] : [],
  935. supplierNo: supplierNo ? [supplierNo] : [],
  936. pname: good_name || "",
  937. expire_day: expire_day || "0", //有效期
  938. delivery_day: delivery_day || "0", //物流时间
  939. work_day: work_day || "0", //生产工期
  940. brandid: brand_id ? [brand_id] : [],
  941. unit_id: unit_id ? [unit_id] : [],
  942. weight: weight || "0.000",
  943. tax: tax ? tax + "%" : "",
  944. supply_area: supply_area || "",
  945. origin_place: origin_place ? origin_place.split(",") : [],
  946. cert_fee: cert_fee || "0.00",
  947. pakge_fee: pakge_fee || "0.00",
  948. cost_fee: cost_fee || "0.00",
  949. mark_fee: mark_fee || "0.00",
  950. demo_fee: demo_fee || "0.00",
  951. open_fee: open_fee || "0.00",
  952. delivery_fee: delivery_fee || "0.00",
  953. nake_fee: nake_fee || "0.00",
  954. pay_way: pay_way || "",
  955. send_way: send_way || "",
  956. noble_weight: noble_weight || "0.000",
  957. metal_id: metal_id || "",
  958. is_gold_price: is_gold_price || "",
  959. is_diff: is_diff || "",
  960. config: config ? config.split(",") : [],
  961. other_config: other_config || "",
  962. remark: remark || "",
  963. cost_desc: cost_desc || "",
  964. good_img: good_img || "",
  965. };
  966. this.status = status;
  967. if (this.is_noble) {
  968. this.ruleForm.nake_fee = "0";
  969. }
  970. } else if (code >= 100 && code <= 104) {
  971. await this.logout();
  972. } else {
  973. this.$message.warning(message);
  974. }
  975. },
  976. async submitForm() {
  977. await this.$refs.ruleForm.validate(async (valid) => {
  978. if (valid) {
  979. this.loading = true;
  980. if (this.spec_tableData.length === 0) {
  981. this.$message.warning("请填写规格!");
  982. this.loading = false;
  983. return;
  984. }
  985. let model = JSON.parse(JSON.stringify(this.ruleForm));
  986. model.cat_id = model.cat_id[model.cat_id.length - 1];
  987. model.brandid = model.brandid.toString();
  988. model.supplierNo = model.supplierNo.toString();
  989. model.origin_place = model.origin_place.toString();
  990. model.unit_id = model.unit_id.toString();
  991. model.config = model.config.toString();
  992. model.tax = parseInt(model.tax + "") + "";
  993. model.specinfo = [];
  994. let list = JSON.parse(JSON.stringify(this.spec_tableData));
  995. list.forEach((a) => {
  996. let am = {
  997. specid: a.specid,
  998. spec_value_id: a.spec_value_id,
  999. };
  1000. model.specinfo.push(am);
  1001. });
  1002. console.log(model);
  1003. let res = {};
  1004. if (this.type === "add") {
  1005. delete model["bidNo"];
  1006. res = await asyncRequest.good_add(model);
  1007. } else {
  1008. res = await asyncRequest.good_update(model);
  1009. }
  1010. console.log(res);
  1011. this.loading = false;
  1012. if (res && res.code === 0) {
  1013. const title = this.type === "add" ? "新建成功!" : "修改成功!";
  1014. this.$notify.success({
  1015. title: title,
  1016. message: "",
  1017. });
  1018. this.showModelThis = false;
  1019. // 刷新
  1020. this.$emit("refresh");
  1021. } else if (res && res.code >= 100 && res.code <= 104) {
  1022. await this.logout();
  1023. } else {
  1024. this.$message.warning(res.message);
  1025. }
  1026. } else {
  1027. console.log("error submit!!");
  1028. return false;
  1029. }
  1030. });
  1031. },
  1032. async resetForm() {
  1033. // 重置
  1034. await this.$nextTick(async () => {
  1035. if (this.$refs.ruleForm) {
  1036. this.$refs.ruleForm.resetFields();
  1037. this.$refs.ruleForm.clearValidate();
  1038. this.spec_tableData = [];
  1039. console.log(this.askItem);
  1040. // const { can_id_arr } = this.askItem;
  1041. this.is_noble = this.askItem.is_metal;
  1042. this.cat_id_name = this.type === "add" ? this.askItem.can_name : "";
  1043. this.brand_name = "";
  1044. // this.type === "add" ? this.askItem.brand : "";
  1045. this.unit_name = "";
  1046. //this.type === "add" ? this.askItem.unit_name : "";
  1047. this.ruleForm = {
  1048. infoNo: this.id || "",
  1049. cat_id: this.type === "add" ? [this.askItem.cat_id] : [],
  1050. supplierNo: [],
  1051. pname: this.type === "add" ? this.askItem.good_name : "",
  1052. expire_day: "0", //有效期
  1053. delivery_day: "0", //物流时间
  1054. work_day: "0", //生产工期
  1055. brandid: [],
  1056. // this.type === "add" && this.askItem.brand_id
  1057. // ? [this.askItem.brand_id]
  1058. // : [],
  1059. unit_id: [],
  1060. //this.type === "add" ? [this.askItem.unit] : [],
  1061. weight: this.type === "add" ? this.askItem.total_weight : "0.000",
  1062. tax: "",
  1063. supply_area: "",
  1064. origin_place: [],
  1065. cert_fee: "0.00",
  1066. pakge_fee: "0.00",
  1067. cost_fee: "0.00",
  1068. mark_fee: "0.00",
  1069. demo_fee: "0.00",
  1070. open_fee: "0.00",
  1071. delivery_fee: "0.00",
  1072. nake_fee: "0.00",
  1073. pay_way: "",
  1074. send_way: "",
  1075. noble_weight:
  1076. this.type === "add" ? this.askItem.specs_weight : "0.000",
  1077. metal_id: this.type === "add" ? this.askItem.metal_id : "",
  1078. is_gold_price:
  1079. this.type === "add" ? this.askItem.is_gold_price : "",
  1080. is_diff: "",
  1081. config:
  1082. this.type === "add"
  1083. ? this.askItem.config
  1084. ? this.askItem.config.split(",")
  1085. : []
  1086. : [],
  1087. other_config: this.type === "add" ? this.askItem.other_config : "",
  1088. remark: "",
  1089. cost_desc: this.type === "add" ? this.askItem.cost_desc : "",
  1090. good_img: this.type === "add" ? this.askItem.good_img : "",
  1091. };
  1092. if (this.type === "add") {
  1093. this.spec_tableData = JSON.parse(
  1094. JSON.stringify(this.askItem.specinfo)
  1095. );
  1096. }
  1097. }
  1098. });
  1099. },
  1100. openEdit(index, sitem) {
  1101. this.modelIndex = index;
  1102. this.modelSitem = sitem;
  1103. this.showOtherModel = true;
  1104. },
  1105. openDelete(index) {
  1106. this.spec_tableData.splice(index, 1);
  1107. },
  1108. //规格编辑修改结果
  1109. refreshEdit(e) {
  1110. let item = JSON.parse(JSON.stringify(e));
  1111. const { index, specid, spec_name, spec_value_id, spec_value_name } = item;
  1112. if (index + "" === "-1") {
  1113. this.spec_tableData.push(item);
  1114. } else {
  1115. let findex = parseInt(index + "");
  1116. this.spec_tableData[findex].specid = specid;
  1117. this.spec_tableData[findex].spec_name = spec_name;
  1118. this.spec_tableData[findex].spec_value_id = spec_value_id;
  1119. this.spec_tableData[findex].spec_value_name = spec_value_name;
  1120. }
  1121. this.showOtherModel = false;
  1122. },
  1123. //分类选择
  1124. async cat_id_change(e) {
  1125. const { pid, id, label } = e;
  1126. this.ruleForm.cat_id = id ? [id] : [];
  1127. this.is_noble = pid === "6";
  1128. this.$refs.ruleForm.validateField("cat_id");
  1129. this.setrules();
  1130. this.ruleForm.nake_fee = "0";
  1131. },
  1132. setrules() {
  1133. let list = [
  1134. "noble_weight",
  1135. "metal_id",
  1136. "is_gold_price",
  1137. "is_diff",
  1138. "config",
  1139. "other_config",
  1140. ];
  1141. for (let i = 0; i < list.length; i++) {
  1142. this.rules[list[i]][0].required = this.is_noble;
  1143. }
  1144. },
  1145. //品牌选择
  1146. brandidsearchChange(e) {
  1147. const { id, code, label } = e;
  1148. if (id) {
  1149. this.ruleForm.brandid = [id];
  1150. } else {
  1151. this.ruleForm.brandid = [];
  1152. }
  1153. this.$refs.ruleForm.validateField("brandid");
  1154. },
  1155. //供应商选择
  1156. supplierNosearchChange(e) {
  1157. console.log(e);
  1158. const { id, code, label } = e;
  1159. if (id) {
  1160. this.ruleForm.supplierNo = [code];
  1161. } else {
  1162. this.ruleForm.supplierNo = [];
  1163. }
  1164. this.$refs.ruleForm.validateField("supplierNo");
  1165. },
  1166. //税点选择
  1167. taxsearchChange(e) {
  1168. this.ruleForm.tax = e;
  1169. this.$refs.ruleForm.validateField("tax");
  1170. },
  1171. //单位选择
  1172. unitsearchChange(e) {
  1173. const { id, code, label } = e;
  1174. if (id) {
  1175. this.ruleForm.unit_id = [code];
  1176. } else {
  1177. this.ruleForm.unit_id = [];
  1178. }
  1179. this.$refs.ruleForm.validateField("unit_id");
  1180. },
  1181. //金属种类选择
  1182. //需修改,未改完
  1183. async metal_idsearchChange(e) {
  1184. this.loading = true;
  1185. const { id, code, label } = e;
  1186. if (id) {
  1187. this.ruleForm.metal_id = id;
  1188. } else {
  1189. this.ruleForm.metal_id = "";
  1190. }
  1191. this.$refs.ruleForm.validateField("metal_id");
  1192. //获取实时金价
  1193. this.golpricelast(e.id)
  1194. this.loading = false;
  1195. },
  1196. //获取实时金价
  1197. async golpricelast(id){
  1198. if (!id) {
  1199. // this.ruleForm.metal_id = this.askItem.gold_price;
  1200. // console.log(this.ruleForm.metal_id ,"1111111111111111111111")
  1201. this.newGoldPrice = 0;
  1202. return;
  1203. }
  1204. const res = await asyncRequest.golpricelast({ type: id });
  1205. console.log(res)
  1206. if (res && res.code === 0) {
  1207. if(res.data.length<=0){
  1208. this.newGoldPrice = 0;
  1209. }else{
  1210. this.newGoldPrice = res.data[0].price;
  1211. }
  1212. this.computedCost();
  1213. } else if (res && res.code >= 100 && res.code <= 104) {
  1214. await this.logout();
  1215. } else {
  1216. }
  1217. },
  1218. //仓库省市区
  1219. selectAreaorigin_place(e) {
  1220. this.ruleForm.origin_place = e;
  1221. this.$refs.ruleForm.validateField("origin_place");
  1222. },
  1223. //图片上传成功
  1224. async UploadSuccessEventgood_img(data) {
  1225. await this.UploadSuccessEvent(1, data);
  1226. },
  1227. //图片上传成功
  1228. async UploadSuccessEvent(type, data) {
  1229. const { url } = data;
  1230. if (url === "noToken") {
  1231. await this.logout();
  1232. } else {
  1233. if (type === 1) {
  1234. this.ruleForm.good_img = url;
  1235. this.$refs.ruleForm.validateField("good_img");
  1236. } else if (type === 2) {
  1237. this.ruleForm.good_img = url;
  1238. this.$refs.ruleForm.validateField("good_img");
  1239. }
  1240. this.$message.success("图片上传成功!");
  1241. }
  1242. },
  1243. //图片上传失败
  1244. UploadErrorEventgood_img(res) {
  1245. this.imgUploadError(1, res);
  1246. },
  1247. imgUploadError(type, res) {
  1248. if (res !== "break") {
  1249. this.$message.error("图片上传失败!");
  1250. this.$refs.ruleForm.validateField(
  1251. type === 1 ? "good_img" : type === 2 ? "good_img" : ""
  1252. );
  1253. }
  1254. },
  1255. //判断图片规格
  1256. beforeAvatarUpload(file) {
  1257. let isJPG = false;
  1258. if (
  1259. file.type === "image/jpg" ||
  1260. file.type === "image/png" ||
  1261. file.type === "image/jpeg"
  1262. ) {
  1263. isJPG = true;
  1264. }
  1265. const isLt2M = file.size / 1024 / 1024 < 1;
  1266. if (!isJPG) {
  1267. this.$message.error("图片格式不正确!");
  1268. }
  1269. if (!isLt2M) {
  1270. this.$message.error("图片大小不能超过 1MB!");
  1271. }
  1272. return isJPG && isLt2M;
  1273. },
  1274. resetFormData() {
  1275. this.status = "";
  1276. this.is_noble = false;
  1277. this.cat_id_name = "";
  1278. this.brand_name = "";
  1279. this.unit_name = "";
  1280. this.ruleForm = {
  1281. infoNo: "",
  1282. cat_id: [],
  1283. supplierNo: [],
  1284. pname: "",
  1285. expire_day: "0", //有效期
  1286. delivery_day: "0", //物流时间
  1287. work_day: "0", //生产工期
  1288. color: "",
  1289. model: "",
  1290. material: "",
  1291. brandid: [],
  1292. unit_id: [],
  1293. weight: "0.000",
  1294. tax: "",
  1295. supply_area: "",
  1296. origin_place: [],
  1297. cert_fee: "0.00",
  1298. pakge_fee: "0.00",
  1299. cost_fee: "0.00",
  1300. mark_fee: "0.00",
  1301. demo_fee: "0.00",
  1302. open_fee: "0.00",
  1303. delivery_fee: "0.00",
  1304. nake_fee: "0.00",
  1305. pay_way: "",
  1306. send_way: "",
  1307. noble_weight: "0.000",
  1308. metal_id: "",
  1309. is_gold_price: "",
  1310. is_diff: "",
  1311. config: [],
  1312. other_config: "",
  1313. remark: "",
  1314. cost_desc: "",
  1315. good_img: "",
  1316. };
  1317. },
  1318. addFormData() {
  1319. this.status = "";
  1320. this.is_noble = false;
  1321. this.cat_id_name = "";
  1322. this.brand_name = "";
  1323. this.unit_name = "";
  1324. this.ruleForm = {
  1325. infoNo: "",
  1326. cat_id: [],
  1327. supplierNo: [],
  1328. pname: "",
  1329. expire_day: "0", //有效期
  1330. delivery_day: "0", //物流时间
  1331. work_day: "0", //生产工期
  1332. color: "",
  1333. model: "",
  1334. material: "",
  1335. brandid: [],
  1336. unit_id: [],
  1337. weight: "0.000",
  1338. tax: "",
  1339. supply_area: "",
  1340. origin_place: [],
  1341. cert_fee: "0.00",
  1342. pakge_fee: "0.00",
  1343. cost_fee: "0.00",
  1344. mark_fee: "0.00",
  1345. demo_fee: "0.00",
  1346. open_fee: "0.00",
  1347. delivery_fee: "0.00",
  1348. nake_fee: "0.00",
  1349. pay_way: "",
  1350. send_way: "",
  1351. noble_weight: "0.000",
  1352. metal_id: "",
  1353. is_gold_price: "",
  1354. is_diff: "",
  1355. config: [],
  1356. other_config: "",
  1357. remark: "",
  1358. cost_desc: "",
  1359. good_img: "",
  1360. };
  1361. },
  1362. },
  1363. };
  1364. </script>
  1365. <style lang="scss" scoped>
  1366. .goodsCostDetail {
  1367. .goodsCostAdd-title {
  1368. border-top: 1px solid #ebeef5;
  1369. span {
  1370. height: 50px;
  1371. line-height: 50px;
  1372. font-family: "微软雅黑", sans-serif;
  1373. font-weight: 400;
  1374. font-style: normal;
  1375. font-size: 16px;
  1376. text-align: left;
  1377. }
  1378. }
  1379. }
  1380. </style>