detailModel.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  1. <template>
  2. <div class="detail-model">
  3. <!-- 线下开发票 -->
  4. <Modal title="线下开发票" v-model="iShow" class-name="order-model piao-model" :mask-closable="false" @on-visible-change="visibleChange">
  5. <!-- <Select placeholder="请选择发票类型" v-model="invoice.type" style="width:100%;margin: 20px 0">
  6. <Option v-for="item in invoType" :value="item.n" :key="item.v">{{ item.n }}</Option>
  7. </Select> -->
  8. <p style="text-align:center;margin:16px 0;font-size:15px">确定线下开发票吗?如若确定,则会关闭用户线上开票入口。</p>
  9. <div slot="footer">
  10. <Button type="primary" size="large" @click="invoSave" :disabled="isDisable">确定</Button>
  11. <Button size="large" @click="iShow = false">取消</Button>
  12. </div>
  13. </Modal>
  14. <!-- 新增回款信息 -->
  15. <Modal title="新增回款信息" v-model="backShow" class-name="order-model back-model" :mask-closable="false" @on-visible-change="visibleChange1">
  16. <Form ref="backed" :model="backed" :rules="backRuleValidate" :label-width="110">
  17. <FormItem label="回款状态" prop="return_status">
  18. <Select v-model="backed.return_status" placeholder="请选择回款状态">
  19. <Option v-for="item in backSats" :value="item.v" :key="item.v">{{ item.n }}</Option>
  20. </Select>
  21. </FormItem>
  22. <FormItem label="回款交易详情" class="back-list">
  23. <Form ref="returned" :model="returned" :rules="backDetailValidate">
  24. <Row :gutter="10" class="back-row">
  25. <Col span="8">
  26. <FormItem prop="returnTime" v-if="visibleChange1">
  27. <date-sigle ref="sigleRef" :dateType="'date'" :placeholderd="'请选择回款时间'" @startDate="startDate" :overTime="0"></date-sigle>
  28. </FormItem>
  29. </Col>
  30. <Col span="8">
  31. <FormItem prop="returnMoney">
  32. <Input
  33. v-model="returned.returnMoney"
  34. type="text"
  35. placeholder="请输入回款金额"
  36. :maxlength="9"
  37. @on-keyup="returned.returnMoney=inptReg(returned.returnMoney)"
  38. ></Input>
  39. </FormItem>
  40. </Col>
  41. <Col span="8">
  42. <FormItem prop="">
  43. <Input
  44. v-model="returned.returnRemark"
  45. type="text"
  46. placeholder="请输入回款说明(选填)"
  47. ></Input>
  48. </FormItem>
  49. </Col>
  50. </Row>
  51. <Row :gutter="10" class="back-row">
  52. <Col span="8">
  53. <FormItem prop="returnType">
  54. <Select v-model="returned.returnType" placeholder="请选择支付方式">
  55. <Option v-for="item in backPayType" :value="item.v" :key="item.v">{{ item.n }}</Option>
  56. </Select>
  57. </FormItem>
  58. </Col>
  59. <Col span="8">
  60. <FormItem prop="">
  61. <Input
  62. v-model="returned.returnCode"
  63. type="text"
  64. placeholder="请输入支付单号"
  65. ></Input>
  66. </FormItem>
  67. </Col>
  68. <Col span="8">
  69. <FormItem prop="returnInvoiceStatus">
  70. <Select v-model="returned.returnInvoiceStatus" placeholder="请选择发票状态">
  71. <Option v-for="item in backInvoStas" :value="item.v" :key="item.v">{{ item.n }}</Option>
  72. </Select>
  73. </FormItem>
  74. </Col>
  75. </Row>
  76. <FormItem prop="">
  77. <b-upload
  78. ref="uploadRef1"
  79. @fileData="fileData"
  80. :placeholdered="'请上传凭证'"
  81. :accepted="'.jpg,.png,.jpeg'"
  82. :formated="['jpg','png','jpeg']"
  83. :multipled="false"
  84. :validateVar="returned.returnVoucherUrl"
  85. ></b-upload>
  86. </FormItem>
  87. </Form>
  88. </FormItem>
  89. </Form>
  90. <div slot="footer">
  91. <Button type="primary" size="large" @click="backSave" :disabled="isDisable">提交</Button>
  92. <Button size="large" @click="backCancel">取消</Button>
  93. </div>
  94. </Modal>
  95. <!-- 上传合同 -->
  96. <Modal title="上传合同" v-model="pShow" class-name="order-model contract-model" :mask-closable="false" @on-visible-change="visibleChange">
  97. <b-upload
  98. ref="uploadRef2"
  99. @fileData="contractFile"
  100. :placeholdered="'请上传合同'"
  101. :accepted="'.doc,.pdf,.docx,.rar,.zip,.jpg,.png,.jpeg'"
  102. :formated="['doc','pdf','docx','rar','zip','jpg','png','jpeg']"
  103. :multipled="false"
  104. ></b-upload>
  105. <div slot="footer">
  106. <Button type="primary" size="large" @click="pingSub" :disabled="isDisable">提交</Button>
  107. <Button size="large" @click="pingCancel">取消</Button>
  108. </div>
  109. </Modal>
  110. <!-- 审核 -->
  111. <Modal title="审核" v-model="sShow" class-name="shen-model" :mask-closable="false" @on-visible-change="visibleChange">
  112. <p>请确认此订单审核结果!</p>
  113. <Input type="tel" placeholder="请输入应付金额(元)" v-model="funds.sum" :maxlength="9" @on-keyup="funds.sum=inptReg(funds.sum)"></Input>
  114. <div slot="footer">
  115. <Button type="primary" size="large" @click="subConfirm">通过</Button>
  116. <Button type="error" size="large" @click="defeated">失败</Button>
  117. <Button size="large" @click="sShow = false">取消</Button>
  118. </div>
  119. </Modal>
  120. <!-- 退款登记 -->
  121. <Modal title="退款登记" v-model="tShow" class-name="order-model tui-model" :mask-closable="false" @on-visible-change="visibleChange">
  122. <Form ref="models" :model="models" :rules="refundRuleValidate" :label-width="110">
  123. <FormItem label="退款金额" prop="refundMoney">
  124. <Input v-model="models.refundMoney" type="text" :maxlength="9" placeholder="请输入退款金额" @on-keyup="models.refundMoney=inptReg(models.refundMoney)"></Input>
  125. </FormItem>
  126. <FormItem label="退款原因" prop="refundType">
  127. <Select placeholder="请选择退款原因" clearable v-model="models.refundType">
  128. <Option v-for="item in refundType" :value="item.v" :key="item.v">{{ item.n }}</Option>
  129. </Select>
  130. </FormItem>
  131. <FormItem label="备注">
  132. <Input v-model="models.refundReason" type="textarea" size="large" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入备注"></Input>
  133. </FormItem>
  134. </Form>
  135. <div slot="footer">
  136. <Button type="primary" size="large" @click="subSave('models')" :disabled="isDisable">提交</Button>
  137. <Button size="large" @click="tShow = false">取消</Button>
  138. </div>
  139. </Modal>
  140. <!-- 修正记录 -->
  141. <Modal title="红冲" v-model="correctionShow" class-name="order-model tui-model" :mask-closable="false" @on-visible-change="visibleChange">
  142. <!-- <label class="correctionLabel">请输入该订单最终准确的信息:</label> -->
  143. <Form ref="correctionModels" :model="models" :label-width="110">
  144. <FormItem label="红冲类型">
  145. <CheckboxGroup v-model="models.redType" @on-change="checkAllGroupChange">
  146. <Checkbox label="签约主体红冲"></Checkbox>
  147. <Checkbox label="金额红冲"></Checkbox>
  148. </CheckboxGroup>
  149. </FormItem>
  150. <p class="correctionLabel">请输入该订单最终准确的信息:</p>
  151. <FormItem label="签约主体" v-if="redCorrection == 3 || redCorrection == 1">
  152. <Input v-model="signingSubject" type="text" :maxlength="50" disabled placeholder="请输入签约主体"></Input>
  153. </FormItem>
  154. <FormItem label="大会员应付金额" v-if="(redCorrection == 3 || redCorrection == 2) && bigCorrection">
  155. <Input v-model="models.bigPayMoney" type="text" :maxlength="9" placeholder="请输入大会员应付金额"></Input>
  156. </FormItem>
  157. <FormItem label="子账号应付金额" v-if="(redCorrection == 3 || redCorrection == 2) && bigCorrection">
  158. <Input v-model="models.subMoney" type="text" :maxlength="9" :disabled="!(filterData.subPayMoney && filterData.subPayMoney>0)" placeholder="请输入子账号应付金额"></Input>
  159. </FormItem>
  160. <FormItem label="补充包应付金额" v-if="(redCorrection == 3 || redCorrection == 2) && bigCorrection">
  161. <Input v-model="models.supplyMoney" type="text" :maxlength="9" :disabled="!(filterData.supplyPayMoney && filterData.supplyPayMoney>0)" placeholder="请输入补充包应付金额"></Input>
  162. </FormItem>
  163. <FormItem label="订单金额" v-if="(redCorrection == 3 || redCorrection == 2) && !bigCorrection">
  164. <Input v-model="models.orderMoney" type="text" :maxlength="9" placeholder="请输入订单金额"></Input>
  165. </FormItem>
  166. <FormItem label="应付金额" v-if="(redCorrection == 3 || redCorrection == 2) && !bigCorrection">
  167. <Input v-model="models.payMoney" type="text" :maxlength="9" placeholder="请输入应付金额"></Input>
  168. </FormItem>
  169. <FormItem label="佣金" v-if="redCorrection == 3 || redCorrection == 2">
  170. <Input v-model="models.commission" type="text" :maxlength="9" placeholder="请输入佣金"></Input>
  171. </FormItem>
  172. <FormItem label="手续费" v-if="redCorrection == 3 || redCorrection == 2">
  173. <Input v-model="models.proceduresMoney" type="text" :maxlength="9" placeholder="请输入手续费"></Input>
  174. </FormItem>
  175. <FormItem label="修正原因">
  176. <Select placeholder="请选择修正原因" clearable v-model="models.correctionType">
  177. <Option v-for="item in correctionType" :value="item.v" :key="item.v">{{ item.n }}</Option>
  178. </Select>
  179. </FormItem>
  180. <FormItem label="">
  181. <Input v-model="models.correctionReason" v-if="models.correctionType === '其他'" type="textarea" size="large" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入修正原因"></Input>
  182. </FormItem>
  183. </Form>
  184. <div slot="footer">
  185. <Button type="primary" size="large" @click="correctionSave()" :disabled="redCorrection == 4">提交</Button>
  186. <Button size="large" @click="correctionShow = false">取消</Button>
  187. </div>
  188. </Modal>
  189. </div>
  190. </template>
  191. <script>
  192. import dateSigle from '@/components/dateSigle.vue'
  193. import bUpload from '@/components/uploadFile.vue'
  194. export default {
  195. props: {
  196. orderDetail: {},
  197. contractData: {},
  198. returnRes: {},
  199. returnInfo: {},
  200. filterData: {},
  201. isStatus: String,
  202. payMoney: Number
  203. },
  204. components: {
  205. dateSigle,
  206. bUpload
  207. },
  208. methods: {
  209. inited() {
  210. this.invoice.type = ''
  211. this.funds.sum = ''
  212. this.models.refundReason = ''
  213. this.models.refundType = ''
  214. this.models.correctionReason = ''
  215. this.models.correctionType = ''
  216. this.contract.contractFileUrl = ''
  217. this.returned.returnVoucherUrl = ''
  218. this.returned.returnRemark = ''
  219. this.returned.returnCode = ''
  220. this.$refs.sigleRef.initd()
  221. this.$refs['backed'].resetFields()
  222. this.$refs['returned'].resetFields()
  223. this.$refs['models'].resetFields()
  224. this.$refs.uploadRef1.uploadShow = false
  225. this.$refs.uploadRef1.payHtml = ''
  226. this.$refs.uploadRef2.uploadShow = false
  227. this.$refs.uploadRef2.payHtml = ''
  228. },
  229. inptReg(val) {
  230. return val.match(/\d+(\.\d{0,2})?/) ? val.match(/\d+(\.\d{0,2})?/)[0] : ''
  231. },
  232. visibleChange1(val) {
  233. if (val == false) {
  234. setTimeout(() => {
  235. this.inited()
  236. },500)
  237. } else {
  238. this.isDisable = false
  239. }
  240. },
  241. visibleChange(val) {
  242. if (val == false) {
  243. setTimeout(() => {
  244. this.inited()
  245. },500)
  246. } else {
  247. this.isDisable = false
  248. }
  249. },
  250. invoSave() {// 线下开发票
  251. // if (this.invoice.type == '') {
  252. // this.$Message.warning('请选择发票类型')
  253. // return
  254. // }
  255. this.isDisable = true
  256. this.$request('/order/openInvoice').data({
  257. orderCode: this.orderDetail.order_code,
  258. // invoiceType: this.invoice.type,
  259. // userId: this.orderDetail.user_id
  260. }).showSuccessTip().success(() => {
  261. this.$parent.ordered()
  262. this.iShow = false
  263. this.inited()
  264. setTimeout(() => {
  265. this.isDisable = false
  266. },1000)
  267. }).error(() => {
  268. this.isDisable = false
  269. }).post()
  270. },
  271. fileData(val) {
  272. this.returned.returnVoucherUrl = val
  273. },
  274. contractFile(val) {
  275. this.contract.contractFileUrl = val
  276. },
  277. startDate(val) {
  278. this.returned.returnTime = val
  279. },
  280. fixedNum(val) {
  281. return val ? Number(parseFloat(val * 100).toFixed(0)) : 0
  282. },
  283. backSave() {// 新增回款信息提交
  284. let obj = {
  285. id: parseInt(this.orderDetail.id),
  286. orderCode: this.orderDetail.order_code,
  287. return_status: parseInt(this.backed.return_status?this.backed.return_status:0),
  288. returnTime: this.returned.returnTime,
  289. returnMoney: this.fixedNum(this.returned.returnMoney),
  290. returnRemark: this.returned.returnRemark,
  291. returnType: parseInt(this.returned.returnType?this.returned.returnType:0),
  292. returnCode: this.returned.returnCode,
  293. returnInvoiceStatus: parseInt(this.returned.returnInvoiceStatus?this.returned.returnInvoiceStatus:0),
  294. returnVoucherUrl: this.returned.returnVoucherUrl
  295. }
  296. this.$refs.backed.validate((valid) => {
  297. if (valid) {
  298. this.$refs.returned.validate((valid) => {
  299. if (valid) {
  300. this.isDisable = true
  301. this.$request('/order/editReturnInfo').data(
  302. obj
  303. ).showSuccessTip().success(() => {
  304. this.backShow = false
  305. this.$parent.ordered()
  306. this.inited()
  307. setTimeout(() => {
  308. this.isDisable = false
  309. },1000)
  310. }).error(() => {
  311. this.isDisable = false
  312. }).post()
  313. }
  314. })
  315. } else {
  316. this.$refs.returned.validate((valid) => {
  317. if (valid) {}
  318. })
  319. }
  320. })
  321. },
  322. backCancel() {
  323. this.backShow = false
  324. },
  325. pingSub() {// 上传合同
  326. if (!this.contract.contractFileUrl) {
  327. this.$Message.warning('请上传合同')
  328. return
  329. }
  330. this.isDisable = true
  331. this.$request('/order/uploadContractFile').data({
  332. contractId: $.isEmptyObject(this.contractData) == false?this.contractData.id:'',
  333. orderCode: this.orderDetail.order_code,
  334. contractFileUrl: this.contract.contractFileUrl
  335. }).showSuccessTip().success(() => {
  336. this.$parent.ordered()
  337. this.pShow = false
  338. this.inited()
  339. setTimeout(() => {
  340. this.isDisable = false
  341. },1000)
  342. }).error(() => {
  343. this.isDisable = false
  344. }).post()
  345. },
  346. pingCancel() {
  347. this.pShow = false
  348. setTimeout(() => {
  349. this.inited()
  350. },500)
  351. },
  352. audFunc(num) {
  353. this.isDisable = true
  354. this.$request('/order/orderList/transferAccounts').data({
  355. pay_money: this.fixedNum(this.funds.sum),
  356. order_code: this.orderDetail.order_code,
  357. courseStatus: num
  358. }).showSuccessTip().success(() => {
  359. this.$parent.ordered()
  360. this.sShow = false
  361. this.inited()
  362. setTimeout(() => {
  363. this.isDisable = false
  364. },1000)
  365. }).error(() => {
  366. this.isDisable = false
  367. }).post()
  368. },
  369. subConfirm() {// 订单审核通过
  370. if (this.funds.sum == '') {
  371. this.$Message.warning('应付金额为必填项')
  372. return
  373. }
  374. this.audFunc(4)
  375. },
  376. defeated() {// 订单审核失败
  377. this.audFunc(3)
  378. },
  379. qmxed() {
  380. if (this.isStatus == 'qmx') {
  381. return this.returnInfo.money == this.fixedNum(this.models.refundMoney) ? 1 : 2
  382. } else {
  383. return this.fixedNum(this.models.refundMoney) > this.payMoney || this.fixedNum(this.models.refundMoney) == this.payMoney ? 1 : 2
  384. }
  385. },
  386. subSave (name) {// 退款
  387. let sums = 0
  388. if (this.isStatus == 'qmx') {
  389. this.returnRes.forEach(v => {
  390. sums = sums + v.return_money
  391. })
  392. if (this.fixedNum(this.models.refundMoney) / 100 > sums / 100) {
  393. this.$Message.warning('退款金额不能大于已回款金额!')
  394. return
  395. }
  396. }
  397. let obj = {
  398. orderCode: this.orderDetail.order_code,
  399. refundMoney: this.fixedNum(this.models.refundMoney),
  400. refundReason: this.models.refundReason,
  401. refundType: this.models.refundType,
  402. isOffline: this.isStatus == 'qmx'? 1 : 0,
  403. refundStatus: this.qmxed()
  404. }
  405. this.$refs[name].validate((valid) => {
  406. if (valid) {
  407. this.isDisable = true
  408. this.$request('/order/orderList/confirmRefund').data(
  409. obj
  410. ).showSuccessTip().success(() => {
  411. this.tShow = false
  412. this.models.refundReason = ''
  413. this.models.refundType = ''
  414. this.$parent.ordered()
  415. setTimeout(() => {
  416. this.isDisable = false
  417. },1000)
  418. }).error(() => {
  419. this.isDisable = false
  420. }).get()
  421. }
  422. })
  423. },
  424. correctionSave () {
  425. if (this.models.correctionType === '') {
  426. this.$Message.warning('修正原因为必填项')
  427. return
  428. }
  429. let obj = {
  430. orderCode: this.orderDetail.order_code,
  431. orderMoney: this.fixedNum(this.models.orderMoney),
  432. payMoney: this.orderDetail.product_type === '大会员' ? this.fixedNum(this.models.bigPayMoney) : this.fixedNum(this.models.payMoney),
  433. bigSubMoney: this.fixedNum(this.models.subMoney),
  434. supplyMoney: this.fixedNum(this.models.supplyMoney),
  435. commission: this.fixedNum(this.models.commission),
  436. proceduresMoney: this.fixedNum(this.models.proceduresMoney),
  437. correctionReason: this.models.correctionType !== '其他' ? this.models.correctionType : this.models.correctionReason,
  438. redType: this.models.redType.join(','),
  439. signingSubject: this.signingSubject,
  440. }
  441. this.$request('/order/addUpdateRecord').data(
  442. obj
  443. ).showSuccessTip().success(() => {
  444. this.correctionShow = false
  445. this.$parent.ordered()
  446. this.inited()
  447. }).error(() => {}).get()
  448. },
  449. checkAllGroupChange (data) {
  450. if (data.length === 1 && data[0] === '签约主体红冲') {
  451. this.redCorrection = 1
  452. } else if (data.length === 1 && data[0] === '金额红冲') {
  453. this.redCorrection = 2
  454. } else if (data.length === 0) {
  455. this.redCorrection = 4
  456. } else {
  457. this.redCorrection = 3
  458. }
  459. }
  460. },
  461. data() {
  462. return {
  463. iShow: false,
  464. backShow: false,
  465. pShow: false,
  466. sShow: false,
  467. tShow: false,
  468. correctionShow: false,
  469. bigCorrection: false,
  470. redCorrection: 1,
  471. isDisable: false,
  472. invoice: {
  473. type: ''
  474. },
  475. invoType:[
  476. {v: '1', n: '普通发票(纸质发票)'},
  477. {v: '2', n: '普通发票(电子发票)'},
  478. {v: '3', n: '专用发票(纸质发票)'}
  479. ],
  480. contract: {
  481. contractFileUrl: ''
  482. },
  483. funds: {
  484. sum: '',
  485. shCode: ''
  486. },
  487. models: {
  488. refundMoney: '',
  489. refundReason: '',
  490. refundType: '',
  491. correctionType: '',
  492. correctionReason: '',
  493. bigPayMoney: '',
  494. subMoney: '',
  495. supplyMoney: '',
  496. orderMoney: '',
  497. payMoney: '',
  498. commission: '',
  499. proceduresMoney: '',
  500. redType: ['签约主体红冲']
  501. },
  502. backed: {
  503. return_status: ''
  504. },
  505. returned: {
  506. returnTime: '',
  507. returnRemark: '',
  508. returnCode: '',
  509. returnInvoiceStatus: '',
  510. returnMoney: '',
  511. returnType: '',
  512. returnVoucherUrl: ''
  513. },
  514. backSats: [
  515. // {v: '0', n: '未回款'},
  516. {v: '1', n: '全额回款'},
  517. {v: '2', n: '部分回款'}
  518. ],
  519. backPayType: [
  520. {v: '1', n: '微信'},
  521. {v: '2', n: '支付宝'},
  522. {v: '3', n: '对公转账'}
  523. ],
  524. backInvoStas: [
  525. {v: '0', n: '未申请'},
  526. {v: '1', n: '已申请'},
  527. {v: '2', n: '已开具'}
  528. ],
  529. refundType: [
  530. {v: '个人垫付退款', n: '个人垫付退款'},
  531. {v: '产品购买错误', n: '产品购买错误'},
  532. {v: '客户不满意', n: '客户不满意'},
  533. {v: '活动免单', n: '活动免单'},
  534. {v: '测试', n: '测试'},
  535. {v: '其他', n: '其他'}
  536. ],
  537. correctionType: [
  538. {v: '录入错误', n: '录入错误'},
  539. {v: '客户不再支付', n: '客户不再支付'},
  540. {v: '其他', n: '其他'}
  541. ],
  542. backRuleValidate: {
  543. return_status: [
  544. { required: true, message: '请选择回款状态', trigger: 'change' }
  545. ]
  546. },
  547. backDetailValidate: {
  548. returnTime: [
  549. { required: true, message: '请选择回款时间', trigger: 'change' }
  550. ],
  551. returnMoney: [
  552. { required: true, message: '请输入回款金额', trigger: 'change' }
  553. ],
  554. returnType: [
  555. { required: true, message: '请选择支付方式', trigger: 'change' }
  556. ],
  557. returnCode: [
  558. { required: true, message: '请输入支付单号', trigger: 'change' }
  559. ],
  560. returnInvoiceStatus: [
  561. { required: true, message: '请选择发票状态', trigger: 'change' }
  562. ],
  563. returnVoucherUrl: [
  564. { required: true, message: '请上传凭证', trigger: 'change' }
  565. ]
  566. },
  567. refundRuleValidate: {
  568. refundMoney: [
  569. { required: true, message: '退款金额不能为空', trigger: 'change' }
  570. ],
  571. refundType: [
  572. { required: true, message: '退款原因不能为空', trigger: 'change' }
  573. ]
  574. }
  575. }
  576. },
  577. computed: {
  578. signingSubject () {
  579. return this.orderDetail.signing_subject==='h01'?'北京拓普丰联信息科技股份有限公司':'北京剑鱼信息技术有限公司'
  580. }
  581. }
  582. }
  583. </script>
  584. <style lang="scss">
  585. .correctionLabel {
  586. font-size: 16px;
  587. font-weight: bold;
  588. color: red;
  589. margin-bottom: 10px;
  590. }
  591. </style>