edit.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. <template>
  2. <div>
  3. <el-button type="primary" size="mini" @click="onShow(drawer = true)">编 辑</el-button>
  4. <!-- <el-button type="primary" size="mini" @click="onShow(drawer = true)">编 辑</el-button> -->
  5. <el-drawer
  6. :visible.sync="drawer"
  7. direction="rtl"
  8. append-to-body
  9. @close="onEditSuccess"
  10. size="80%">
  11. <div slot="title">
  12. <div class="flex-align-center">
  13. <p><span style="font-size:14px">订单合计:</span><span style="color:red;font-size:16px;"><b>¥&nbsp;{{tool.formatAmount(data.defaultamount,2)}}</b></span></p>
  14. </div>
  15. <div class="flex-align-center">
  16. <p v-if="freefreightamount" style="font-size: 13px !important;color: #8888;font-weight: normal">{{checkFreefreightamount}}</p>
  17. </div>
  18. </div>
  19. <div class="drawer__panel">
  20. <!-- 经销商信息 -->
  21. <div class="reveive__panel normal-margin flex-align-center">
  22. <p class="inline-16"><small>经销商编号:&nbsp;</small>{{data.agentnum}}</p>
  23. <p class="inline-16"><small>经销商名称:&nbsp;</small>{{data.enterprisename}}</p>
  24. <p class="inline-16"><small>领域:&nbsp;</small>{{data.tradefield}}</p>
  25. <p class="inline-16"><small>品牌:&nbsp;</small>{{data.brandname}}</p>
  26. <div class="flex-align-center">
  27. <small>所属业务员:&nbsp;</small>{{saler_name}}
  28. <selectSaler @selectRow="selectRow" ref="saler">
  29. <el-button type="text" size="mini" slot="input" @click="$refs['saler'].visible = true">&nbsp;更换业务员</el-button>
  30. </selectSaler>
  31. </div>
  32. </div>
  33. <!-- 项目订单显示信息 -->
  34. <div v-if="data.type === '项目订单'" class="reveive__panel normal-margin flex-align-center">
  35. <p class="inline-16"><small>项目信息:&nbsp;</small>{{data.projectname}}</p>
  36. <p class="inline-16"><small>合同信息:&nbsp;</small>{{data.contract_title}}</p>
  37. </div>
  38. <div>
  39. <div class="mt-10">
  40. <p class="normal-title inline-16">支付信息</p>
  41. </div>
  42. <div class="reveive__panel normal-margin">
  43. <p class="flex-align-center"><small>结算企业:&nbsp;</small><b>{{defaultData.finance.enterprisename}}</b>&nbsp;<financeEnterprise v-if="data.type !== '项目订单'" :sys_enterpriseid="data.sys_enterpriseid" @select="onSelect"></financeEnterprise></p>
  44. <div class="flex-align-center">
  45. <p class="inline-16"><small>账户余额:&nbsp;</small><b>¥{{tool.formatAmount(defaultData.accountclass.balance?defaultData.accountclass.balance:0,2)}}</b></p>
  46. <p class="inline-16"><small>账户名称:&nbsp;</small>{{defaultData.accountclass.accountname?defaultData.accountclass.accountname:'未选择账户'}}</p>
  47. <p><small>本单金额:&nbsp;</small>{{data.rebate_used ? tool.formatAmount(data.defaultamount - rebateamount,2) : data.defaultamount}}</p>
  48. </div>
  49. <div v-if="(data.type === '标准订单' || data.type === '特殊订单') && isusedrebate === 1">
  50. <el-checkbox v-model="checked" :true-label="1" :false-label="0" @change="rebateUsedChange">使用返利金</el-checkbox>
  51. <div v-if="checked" class="flex-align-center">
  52. <p class="inline-16"><b>返利金余额:{{tool.formatAmount(defaultData.rebatebalance,2)}}</b></p>
  53. <el-input class="inline-16" size="mini" style="width:150px" v-model="data.rebateamount" @blur="useRebate(data.rebateamount)" placeholder="输入使用金额"></el-input>
  54. <small>(返利金最高使用比例{{data.order_rebate_userate}})</small>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="flex-align-start normal-margin">
  60. <div style="flex:1; margin-right:10px">
  61. <div class="mt-10">
  62. <p class="normal-title inline-16">选择财务信息</p>
  63. <el-popover
  64. placement="bottom"
  65. title="选择财务信息"
  66. trigger="click"
  67. v-model="visible2">
  68. <addAmountInfo style="text-align:right" :data="{sys_enterpriseid:data.sys_enterpriseid}" @onSuccess="thisDetail().queryMainData().then(() => {setDefaultData()})"/>
  69. <el-table
  70. :data="financiallist"
  71. style="width: 100%"
  72. size="mini">
  73. <el-table-column
  74. prop="enterprisename"
  75. label="公司抬头"
  76. width="120">
  77. </el-table-column>
  78. <el-table-column
  79. prop="address"
  80. label="开票地址"
  81. width="120">
  82. </el-table-column>
  83. <el-table-column
  84. prop="bank"
  85. label="开户行"
  86. width="120">
  87. </el-table-column>
  88. <el-table-column
  89. prop="bankcardno"
  90. label="开户账号"
  91. width="120">
  92. </el-table-column>
  93. <el-table-column
  94. label="操作"
  95. width="120px">
  96. <template slot-scope="scope">
  97. <el-button class="inline-16" type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
  98. <delete-btn
  99. message="确定删除当前信息吗?"
  100. nameId="20221013160502"
  101. nameKey="sys_enterprise_financeids"
  102. :id="scope.row.sys_enterprise_financeid"
  103. @deleteSuccess="thisDetail().queryMainData().then(() => {setDefaultData()})"
  104. ></delete-btn>
  105. </template>
  106. </el-table-column>
  107. </el-table>
  108. <el-button slot="reference" type="text" size="mini">选择其他</el-button>
  109. </el-popover>
  110. </div>
  111. <div class="reveive__panel normal-margin">
  112. <p><small>抬头:&nbsp;</small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename}}</b></span></p>
  113. <p class="inline-16"><small>开票地址:&nbsp;</small>{{defaultData.fin_info.address?defaultData.fin_info.address:'--'}}</p>
  114. <p><small>开户行:&nbsp;</small> {{defaultData.fin_info.bank}} &emsp;<small>开户账号:&nbsp;</small> {{defaultData.fin_info.bankcardno}}</p>
  115. </div>
  116. </div>
  117. <div style="flex:1;">
  118. <div class="mt-10">
  119. <p class="normal-title inline-16">收货信息</p>
  120. </div>
  121. <div class="reveive__panel normal-margin">
  122. <div>
  123. <p class="inline-16"><b>{{selectEnterpriseInfo.enterprisename}}</b></p>
  124. <el-popover
  125. placement="bottom"
  126. title="选择企业"
  127. trigger="click"
  128. v-model="visible4">
  129. <div class="flex-align-center" style="justify-content:space-between;margin-bottom:10px">
  130. <el-input
  131. size="small"
  132. v-model="enterpriseParam.content.where.condition"
  133. placeholder="请输入搜索内容"
  134. style="width:150px"
  135. @keyup.enter.native="getEnterpriseList(enterpriseParam.content.pageNumber = 1)" @clear="getEnterpriseList(enterpriseParam.content.pageNumber = 1)" clearable></el-input>&nbsp;
  136. </div>
  137. <el-table
  138. :data="enterpriseList"
  139. style="width: 100%"
  140. size="mini">
  141. <el-table-column
  142. prop="enterprisename"
  143. label="企业名称"
  144. width="150">
  145. </el-table-column>
  146. <el-table-column
  147. label="地址"
  148. width="360">
  149. <template slot-scope="scope">
  150. {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
  151. </template>
  152. </el-table-column>
  153. <el-table-column
  154. label="操作"
  155. width="120">
  156. <template slot-scope="scope">
  157. <el-button class="inline-16" type="text" @click="(selectEnterpriseInfo = scope.row,receiveAddress(),visible4=false)" size="mini">选 择</el-button>
  158. <!-- <delete-btn
  159. message="确定删除当前地址吗?"
  160. nameId="20221009155903"
  161. nameKey="contactsid"
  162. :id="scope.row.contactsid"
  163. :isNumber="true"
  164. @deleteSuccess="receiveAddress"
  165. ></delete-btn> -->
  166. </template>
  167. </el-table-column>
  168. </el-table>
  169. <!-- <div class="container" v-if="addresstotal" style="text-align:right">
  170. <el-pagination
  171. background
  172. small
  173. :current-page="enterpriseParam.content.pageNumber"
  174. @current-change="addresPageChange"
  175. :page-size="enterpriseParam.content.pageSize"
  176. layout="total,prev, pager, next"
  177. :total="addresstotal">
  178. </el-pagination>
  179. </div> -->
  180. <el-button slot="reference" type="text" size="mini">选择企业</el-button>
  181. </el-popover>
  182. </div>
  183. <div>
  184. <p class="inline-16"><span class="inline-16"><b>{{defaultData.re_info.name}}</b></span><small>{{defaultData.re_info.phonenumber}}</small></p>
  185. <el-popover
  186. placement="bottom"
  187. title="选择地址"
  188. trigger="click"
  189. v-model="visible">
  190. <div class="flex-align-center" style="justify-content:space-between;margin-bottom:10px">
  191. <el-input
  192. size="small"
  193. v-model="addressparam.content.where.condition"
  194. placeholder="请输入搜索内容"
  195. style="width:150px"
  196. @keyup.enter.native="receiveAddress(addressparam.content.pageNumber = 1)" @clear="receiveAddress(addressparam.content.pageNumber = 1)" clearable></el-input>&nbsp;
  197. <addAddressInfo style="text-align:right" @onAddSuccess="receiveAddress()" :mainData="{sys_enterpriseid:data.sys_enterpriseid}"/>
  198. </div>
  199. <el-table
  200. :data="receiveAddresslist"
  201. style="width: 100%"
  202. size="mini">
  203. <el-table-column
  204. prop="name"
  205. label="联系人"
  206. width="90">
  207. </el-table-column>
  208. <el-table-column
  209. prop="phonenumber"
  210. label="电话"
  211. width="120">
  212. </el-table-column>
  213. <el-table-column
  214. label="地址"
  215. width="360">
  216. <template slot-scope="scope">
  217. {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
  218. </template>
  219. </el-table-column>
  220. <el-table-column
  221. label="操作"
  222. width="120">
  223. <template slot-scope="scope">
  224. <el-button class="inline-16" type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
  225. <delete-btn
  226. message="确定删除当前地址吗?"
  227. nameId="20221009155903"
  228. nameKey="contactsid"
  229. :id="scope.row.contactsid"
  230. :isNumber="true"
  231. @deleteSuccess="receiveAddress"
  232. ></delete-btn>
  233. </template>
  234. </el-table-column>
  235. </el-table>
  236. <div class="container" v-if="addresstotal" style="text-align:right">
  237. <el-pagination
  238. background
  239. small
  240. :current-page="addressparam.content.pageNumber"
  241. @current-change="addresPageChange"
  242. :page-size="addressparam.content.pageSize"
  243. layout="total,prev, pager, next"
  244. :total="addresstotal">
  245. </el-pagination>
  246. </div>
  247. <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
  248. </el-popover>
  249. </div>
  250. <small>{{defaultData.re_info.province?defaultData.re_info.province:'--'}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address?defaultData.re_info.address:''}}</small>
  251. </div>
  252. </div>
  253. </div>
  254. <div class="normal-margin flex-align-center">
  255. <div class="inline-16">
  256. <small><b>回签单</b>&nbsp;</small>
  257. <el-radio-group v-model="signbackstatus">
  258. <el-radio label="不需要">不需要</el-radio>
  259. <el-radio label="纸质件">纸质件</el-radio>
  260. <el-radio label="扫描件">扫描件</el-radio>
  261. </el-radio-group>
  262. </div>
  263. <div style="margin-left:20px">
  264. <small><b>销售类别:</b>&nbsp;</small>
  265. <el-select v-model="saletype" size="small" placeholder="请选择">
  266. <el-option
  267. v-for="item in saleroptions"
  268. :key="item.value"
  269. :label="item.remarks"
  270. :value="item.value">
  271. </el-option>
  272. </el-select>
  273. </div>
  274. <div style="margin-left:20px">
  275. <small><b>单据日期:</b>&nbsp;</small>
  276. <el-date-picker
  277. v-model="billdate"
  278. size="small"
  279. type="date"
  280. value-format="yyyy-MM-dd"
  281. placeholder="选择日期">
  282. </el-date-picker>
  283. </div>
  284. </div>
  285. <div class="normal-margin">
  286. <p class="normal-title mt-10 inline-16">订单备注</p>
  287. <el-input size="mini" class="order__note__input" type="textarea" v-model="defaultData.remarks" :autosize="{minRows:5}" placeholder="请输入订单备注"></el-input>
  288. </div>
  289. <div class="normal-margin" v-if="data.type === '标准订单' || data.type === '特殊订单'">
  290. <p class="normal-title mt-10 inline-16">项目备注</p>
  291. <el-input size="mini" class="order__note__input" type="textarea" v-model="data.projectnote" :autosize="{minRows:5}" placeholder="请输入项目备注"></el-input>
  292. </div>
  293. <div class="mt-10">
  294. <p class="normal-title inline-16">运费方式</p>
  295. </div>
  296. <div class="mt-10 flex-align-center">
  297. <div :style="defaultData.freightstatus === '到付'?{background:'#d9ecff'}:{background:'#fff'}" class="reveive__panel normal-margin inline-16" @click="defaultData.freightstatus = '到付'">
  298. <p>到付</p>
  299. </div>
  300. <div :style="defaultData.freightstatus === '预付'?{background:'#d9ecff'}:{background:'#fff'}" class="reveive__panel normal-margin" @click="defaultData.freightstatus = '预付'">
  301. <p>预付</p>
  302. </div>
  303. </div>
  304. <div class="mt-10">
  305. <div>
  306. <p class="normal-title inline-16">订单产品</p>
  307. <!-- <el-button type="text" size="mini" @click="addMoreProduct">{{setcol === 12?'关闭选择':'添加产品'}}</el-button> -->
  308. </div>
  309. <el-row :gutter="10">
  310. <el-col :span="setcol">
  311. <product-list ref="prolist" :data="data" :type="'edit'" @onSuccess="onEditSuccess"></product-list>
  312. </el-col>
  313. <!-- <el-col :span="24 - setcol">
  314. <add-product ref="addpro" :data="data" @onConfirm="onConfirm"></add-product>
  315. </el-col> -->
  316. </el-row>
  317. </div>
  318. </div>
  319. <div class="fixed__btn__panel">
  320. <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
  321. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">保存修改</el-button>
  322. </div>
  323. </el-drawer>
  324. </div>
  325. </template>
  326. <script>
  327. import previewImage from '@/components/previewImage/index.vue'
  328. import productList from '../details/tabs/productlist.vue'
  329. import addProduct from '@/template/orderCanUseProduct/index.vue'
  330. import financeEnterprise from '@/template/orderCanUseFinance/index.vue'
  331. import selectSaler from '@/template/selectSaler/index.vue'
  332. import addAmountInfo from '@/components/financialInfo/modules/add'
  333. import addAddressInfo from '@/HManagement/marketing2/agent/details/modules/address/add'
  334. export default {
  335. props:['data'],
  336. components:{
  337. selectSaler,
  338. previewImage,
  339. productList,
  340. addProduct,
  341. financeEnterprise,
  342. addAmountInfo,
  343. addAddressInfo
  344. },
  345. inject:['thisDetail'],
  346. computed:{
  347. checkFreefreightamount () {
  348. let result = ''
  349. switch (this.freefreightamount) {
  350. case -1:
  351. result = '不免运费'
  352. break;
  353. case 0:
  354. result = '免运费'
  355. break;
  356. default:
  357. result = this.data.amount >= this.freefreightamount?'当前订单免运费':`订单满${this.tool.formatAmount(this.freefreightamount,2)}元免运费,当前还差${this.tool.formatAmount(this.freefreightamount - this.data.amount,2)}元`
  358. break;
  359. }
  360. return result
  361. }
  362. },
  363. data () {
  364. return {
  365. freefreightamount:'',
  366. checked:0,
  367. visible:false,
  368. visible1:false,
  369. visible2:false,
  370. visible3:false,
  371. visible4:false,
  372. drawer:false,
  373. receiveAddresslist:[],
  374. selectEnterpriseInfo:'',
  375. enterpriseList:[],
  376. accountlist:[],
  377. rebateAccount:[],
  378. logisticcomlist:[],
  379. financiallist:[],
  380. saleroptions:[],
  381. defaultData:{
  382. re_info:{},
  383. logist_info:{},
  384. fin_info:{},
  385. finance:{},
  386. accountclass:{},
  387. account_index:0,
  388. remarks:this.data.remarks,
  389. freightstatus:''
  390. },
  391. total:0,
  392. setcol:24,
  393. rebateamount:null,
  394. isusedrebate:0,
  395. signbackstatus:'不需要',
  396. saletype:"",
  397. saler_name:"",
  398. billdate:'',
  399. addressparam: {
  400. "id": "20230220002602",
  401. "content": {
  402. "nocache":true,
  403. "pageNumber":1,
  404. "pageSize":10,
  405. "sys_enterpriseid":'',
  406. "where":{
  407. "condition":"",
  408. "workaddress":1
  409. }
  410. }
  411. },
  412. enterpriseParam: {
  413. "id": 20230320134702,
  414. "content": {
  415. "pageNumber": 1,
  416. "pageSize": 20,
  417. "sys_enterpriseid": '',
  418. "where": {
  419. "condition": ""
  420. }
  421. },
  422. },
  423. addresstotal:0
  424. }
  425. },
  426. mounted () {
  427. console.log(this.data);
  428. },
  429. created () {
  430. this.queryBasicInfo()
  431. },
  432. methods:{
  433. addresPageChange (n) {
  434. this.addressparam.content.pageNumber = n
  435. this.receiveAddress()
  436. },
  437. async queryBasicInfo () {
  438. const res = await this.$api.requested({
  439. "id":20220920084001,"content":{
  440. sys_enterpriseid:this.data.sys_enterpriseid
  441. },
  442. })
  443. this.freefreightamount = res.data.freefreightamount
  444. },
  445. async rebateUsedChange(){
  446. console.log(this.data)
  447. if(this.data.status != '新建') return 1
  448. let amount = this.data.order_rebate_userate * this.data.defaultamount; //最大可用金额
  449. let rebatebalance = this.data.rebatebalance; //返利金账户余额
  450. const res = await this.$api.requested({
  451. "id": 20230218225002,
  452. "content": {
  453. "sa_orderid": this.data.sa_orderid, //订单金额
  454. "isused": this.checked, //是否使用
  455. "rebateamount": rebatebalance > amount ? amount : rebatebalance //返利金使用金额
  456. }
  457. })
  458. console.log(res)
  459. this.$emit('onSuccess')
  460. this.data.rebate_used = res.msg !== '成功' ? this.data.rebate_used == 0?1:0:this.data.rebate_used
  461. res.msg === '成功' ?this.data.rebateamount = res.data:''
  462. },
  463. onShow () {
  464. this.initPage()
  465. },
  466. async initPage () {
  467. this.setDefaultData()
  468. this.receiveAddress()
  469. this.getEnterpriseList()
  470. this.queryUsedrebate()
  471. this.selectOptions()
  472. this.checked = this.data.rebate_used
  473. if (this.data.rebateamount > this.data.defaultamount) {
  474. this.rebateamount = this.tool.formatAmount(+this.data.defaultamount / 2)
  475. } else {
  476. this.rebateamount = this.data.rebateamount
  477. }
  478. },
  479. /* 获取当前经销商企业列表 */
  480. async getEnterpriseList () {
  481. this.enterpriseParam.content.sys_enterpriseid = this.data.sys_enterpriseid
  482. const res = await this.$api.requested(this.enterpriseParam)
  483. this.enterpriseList = res.data
  484. console.log(this.enterpriseList,'企业列表');
  485. },
  486. // 收货信息:合作企业联系人
  487. async receiveAddress (fn) {
  488. this.addressparam.content.sys_enterpriseid = this.selectEnterpriseInfo.sys_enterpriseid
  489. const res = await this.$api.requested(this.addressparam)
  490. this.addresstotal = res.total
  491. console.log(this.addresstotal);
  492. this.receiveAddresslist = res.data
  493. },
  494. // 设置默认信息
  495. async setDefaultData () {
  496. this.defaultData.freightstatus = this.data.freightstatus
  497. this.defaultData.rebatebalance = this.data.rebatebalance
  498. this.defaultData.finance = this.data.finance
  499. this.defaultData.fin_info = this.data.finance
  500. this.defaultData.accountclass = this.data.accountclass
  501. this.defaultData.re_info = this.data.contacts
  502. this.financiallist = this.data.pay_finance
  503. this.saletype = this.data.saletype
  504. this.signbackstatus = this.data.signbackstatus
  505. this.saler_name = this.data.saler_name
  506. this.billdate = this.data.billdate
  507. this.selectEnterpriseInfo = this.data.contactsEnterprise
  508. },
  509. async onSubmit() {
  510. const res = await this.$api.requested({
  511. "id": 20221108111402,
  512. "content": {
  513. "sa_orderid": this.$route.query.id,
  514. "sys_enterpriseid": this.data.sys_enterpriseid, //订货企业id
  515. "sa_accountclassid": this.defaultData.accountclass.sa_accountclassid, //营销账户类型ID
  516. "sa_brandid": this.data.sa_brandid, //品牌ID
  517. "sa_contractid":this.data.sa_contractid, //合同ID,标准订单不传
  518. "sa_projectid": this.data.sa_projectid, //工程项目表ID,标准订单不传
  519. "sys_enterprise_financeid": this.defaultData.fin_info.sys_enterprise_financeid, //合作企业财务信息ID(开票信息)
  520. "sa_logiscompid": this.defaultData.logist_info.sa_logiscompid, //物流公司档案ID
  521. "rec_contactsid": this.defaultData.re_info.contactsid, //合作企业联系人表ID(收货信息)
  522. "type": this.data.type, //订单类型
  523. "typemx":this.data.typemx, //明细分类,可选
  524. "remarks": this.defaultData.remarks, //可选
  525. "saler_hrid":this.data.saler_hrid,//销售人员hrid,业务员hrid
  526. "signbackstatus":this.signbackstatus,
  527. "tradefieldmx":this.data.tradefieldmx,
  528. "pay_enterpriseid":this.data.pay_enterpriseid,
  529. "tradefield":this.data.tradefield,
  530. "saletype":this.saletype,
  531. "rebate_used":this.checked,//默认0,是否使用返利金
  532. "signbacknum":'',
  533. "sa_promotionid":this.data.sa_promotionid,
  534. "billdate":this.billdate,
  535. "projectnote":this.data.projectnote,
  536. "freightstatus":this.defaultData.freightstatus
  537. },
  538. })
  539. this.tool.showMessage(res,()=>{
  540. this.$emit('onSuccess')
  541. /*if (this.data.type === '标准订单' || this.data.type === '特殊订单') {
  542. this.isusedrebate === 1?this.useRebate(this.data.rebateamount):""
  543. }*/
  544. this.drawer = false
  545. })
  546. },
  547. onEditSuccess () {
  548. // this.$refs.addpro.listData()
  549. this.$emit('onSuccess')
  550. },
  551. addMoreProduct () {
  552. this.setcol === 12?this.setcol = 24 : this.setcol = 12
  553. },
  554. async useRebate (e) {
  555. let that = this
  556. /* 修改返利金 */
  557. let rebateamount = e;
  558. let amount = this.data.order_rebate_userate * this.data.defaultamount;//最大可用金额
  559. const res = await this.$api.requested({
  560. "id":20230218225002,
  561. "content":{
  562. "sa_orderid":this.data.sa_orderid,//订单金额
  563. "isused":1,//是否使用
  564. "rebateamount":rebateamount>amount?amount:rebateamount
  565. }
  566. })
  567. if(res.msg=='成功'){
  568. this.$emit('onSuccess')
  569. this.initPage()
  570. if(rebateamount>amount){
  571. this.data.rebateamount=amount
  572. this.$message({
  573. message: '返利金最大可用值'+ this.tool.formatAmount(amount,2),
  574. type: 'warning'
  575. });
  576. }
  577. }else{
  578. this.$message.success(res.msg);
  579. }
  580. },
  581. // 查询站点是否使用返利金
  582. async queryUsedrebate () {
  583. const res = await this.$api.requested({
  584. "classname": "webmanage.site.site",
  585. "method": "querySite_Parameter",
  586. "content": {
  587. }
  588. })
  589. this.isusedrebate = res.data.order_rebate_used
  590. },
  591. // 选择结算企业
  592. onSelect (data) {
  593. console.log(data)
  594. this.financiallist = data.finance
  595. data.finance.forEach(e => {
  596. if (e.isdefault === 1) {
  597. this.defaultData.fin_info = e
  598. } else {
  599. this.defaultData.fin_info = data.finance.length > 0 ?data.finance[0]:{}
  600. }
  601. });
  602. },
  603. async selectOptions () {
  604. const res = await this.$store.dispatch('optiontypeselect','saletype')
  605. this.saleroptions = res.data
  606. },
  607. async selectRow (data) {
  608. this.saler_name = data.name
  609. const res = await this.$api.requested({
  610. "id": 20230213154802,
  611. "content": {
  612. "saler_hrid": data.hrid,
  613. "sa_orderid": this.data.sa_orderid
  614. },
  615. })
  616. this.$refs['saler'].visible = false
  617. }
  618. },
  619. }
  620. </script>
  621. <style>
  622. </style>
  623. <style scoped>
  624. .reveive__panel{
  625. font-size: 16px;
  626. line-height: 30px;
  627. padding: 10px;
  628. background: #d9ecff;
  629. border: 1px dashed #0676e7;
  630. }
  631. .account__panel small,.reveive__panel small{
  632. color:#888
  633. }
  634. .account__panel{
  635. width: calc(25% - 26px);
  636. padding: 10px;
  637. margin-bottom:10px;
  638. border: 1px dashed #666;
  639. }
  640. .act{
  641. background: #d9ecff;
  642. border: 1px dashed #0676e7;
  643. }
  644. .image {
  645. width:40px;height:40px;margin:0px auto;
  646. }
  647. .order__note__input{
  648. border: none;
  649. outline: none;
  650. /* margin-left: 10px; */
  651. /* border-bottom: 1px solid #f1f2f3; */
  652. flex:1
  653. }
  654. </style>