gNContractDetail.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <template>
  2. <view style="margin: 25rpx 25rpx 75rpx 25rpx;">
  3. <uni-collapse>
  4. <u-form label-position = "left" label-width = "auto">
  5. <uni-collapse-item title="客户信息" :open="true">
  6. <view style = "background-color: #ffffff;padding: 0px 12px;">
  7. <u-form-item label="客户名称:"><u-input v-model="form.sellName" /></u-form-item>
  8. <u-form-item label="签约日期:"><u-input v-model="form.chooseTime" /></u-form-item>
  9. <u-form-item label="原产国:"><u-input v-model="form.countryOriginDesc" /></u-form-item>
  10. <u-form-item label="剩余信用额度:"><u-input v-model="form.currentRemainingCreditLine" /></u-form-item>
  11. </view>
  12. </uni-collapse-item>
  13. <uni-collapse-item title="合同信息" :open="true">
  14. <view style = "background-color: #ffffff;padding: 0px 12px;">
  15. <u-form-item label="合同号:"><u-input v-model="form.contractNo" /></u-form-item>
  16. <u-form-item label="合同周期:"><u-input v-model="form.contractPeriod" /></u-form-item>
  17. <u-form-item label="备注:"><u-input v-model="form.remark" /></u-form-item>
  18. </view>
  19. </uni-collapse-item>
  20. <uni-collapse-item title="交货信息" :open="true">
  21. <view style = "background-color: #ffffff;padding: 0px 12px;">
  22. <u-form-item label="交货方式:"><u-input v-model="form.modeDeliveryDesc" /></u-form-item>
  23. <u-form-item label="交货地:"><u-input v-model="form.deliveryPointsDesc" /></u-form-item>
  24. <u-form-item label="溢短装:"><u-input v-model="form.overAndShort" /></u-form-item>
  25. <u-form-item label="交货时间:"><u-input v-model="form.deliveryTime" /></u-form-item>
  26. </view>
  27. </uni-collapse-item>
  28. <uni-collapse-item title="付款信息" :open="true">
  29. <view style = "background-color: #ffffff;padding: 0px 12px;">
  30. <u-form-item label="付款方式:"><u-input v-model="form.payWay" /></u-form-item>
  31. <u-form-item label="是否预付:"><u-input v-model="form.isPrepaidDesc" /></u-form-item>
  32. <u-form-item label="合同重量:"><u-input v-model="form.contractWeight" /></u-form-item>
  33. <u-form-item label="合同不含税金额:"><u-input v-model="form.excludingTaxAmt" /></u-form-item>
  34. <u-form-item label="合同本币金额:"><u-input v-model="form.localCurrency" /></u-form-item>
  35. </view>
  36. </uni-collapse-item>
  37. <uni-collapse-item title="附件信息" :open="true">
  38. <view style = "background-color: #ffffff;padding: 0px 12px;">
  39. <u-form-item label="附件路径:">
  40. <view v-if="!!fileUrl" style="color: #ff0f07;" @click="downLoadFile()">点击查看附件</view>
  41. <view v-else >无</view>
  42. </u-form-item>
  43. </view>
  44. </uni-collapse-item>
  45. </u-form>
  46. <uni-collapse-item title="商品信息" :open="true">
  47. <view>
  48. <wyb-table :headers="headers" :contents="tableList" :width="tableWidth" :font-size="[20]" :default-col-width="120"></wyb-table>
  49. </view>
  50. </uni-collapse-item>
  51. </uni-collapse>
  52. </view>
  53. </template>
  54. <script>
  55. import wybTable from '@/components/wyb-table/wyb-table.vue'
  56. export default {
  57. components:{wybTable},
  58. props:['businessKey', 'parentForm'],
  59. data() {
  60. return {
  61. form : {},
  62. tableList : [],
  63. headers: [{
  64. label: '商品名称',
  65. key: 'productName'
  66. }, {
  67. label: '商品分类',
  68. key: 'aciName'
  69. }, {
  70. label: '规格',
  71. key: 'specName'
  72. }, {
  73. label: '重量',
  74. key: 'weight'
  75. }, {
  76. label: '单价',
  77. key: 'localPrice'
  78. }, {
  79. label: '金额',
  80. key: 'localAmount'
  81. }, {
  82. label: '不含税金额',
  83. key: 'noTaxAmt'
  84. }, {
  85. label: '备注',
  86. key: 'remark'
  87. }, {
  88. label: '价格变动记录',
  89. key: 'historyPrice'
  90. }],
  91. tableWidth : uni.getSystemInfoSync().screenWidth - 20 + 'px',
  92. fileUrl : '',
  93. }
  94. },
  95. beforeMount() {
  96. let self = this;
  97. // 克隆父组件数据
  98. this.form = JSON.parse(JSON.stringify(this.parentForm));
  99. // 付款方式
  100. if (!!uni.getStorageSync('PAYMENT_METHOD')) {
  101. self.payWayInit(uni.getStorageSync('PAYMENT_METHOD'))
  102. } else {
  103. self.admRequest({
  104. action : 'AppParamAction/getAppparList',
  105. data : {
  106. code : 'PAYMENT_METHOD'
  107. },
  108. success(r){
  109. var payWayList = r.data.data;
  110. if (!!payWayList) {
  111. uni.setStorageSync('PAYMENT_METHOD', payWayList);
  112. }
  113. self.payWayInit(payWayList)
  114. }
  115. })
  116. }
  117. // 信用额度
  118. self.admRequest({
  119. action : 'DomesticContractManageAction/selectCustomerCreditline',
  120. data : {
  121. customerId : self.form.sellId
  122. },
  123. success(r){
  124. self.form.currentRemainingCreditLine = r.data.remainingCreditLine;
  125. self.$forceUpdate();
  126. }
  127. })
  128. // 商品信息
  129. this.admRequest({
  130. action : 'CommonAction/queryContractDetail',
  131. data : {
  132. contractId : this.businessKey,
  133. payAmt : false
  134. },
  135. success(r){
  136. self.tableList = r.data.data;
  137. }
  138. })
  139. // 附件信息
  140. this.admRequest({
  141. action : 'ContractManageAction/selectContractResource',
  142. data : {
  143. contractId : this.businessKey
  144. },
  145. success(r){
  146. self.fileUrl = r.data.url;
  147. }
  148. })
  149. },
  150. methods:{
  151. payWayInit(payWayList){
  152. let payWayCheckList = this.form.payWay.split(",");
  153. for (let i = 0; i < payWayCheckList.length; i ++) {
  154. let pw = payWayCheckList[i];
  155. for (let p of payWayList) {
  156. if (p.value.indexOf(pw) != -1) {
  157. payWayCheckList[i] = p.showmsg;
  158. }
  159. }
  160. }
  161. this.form.payWay = payWayCheckList.toString();
  162. },
  163. downLoadFile(){
  164. let self = this;
  165. uni.showLoading({
  166. title:"加载中..."
  167. })
  168. uni.downloadFile({
  169. url : self.fileUrl,
  170. success: (res) => {
  171. let filePath = res.tempFilePath;
  172. if (res.statusCode === 200) {
  173. uni.openDocument({
  174. filePath: filePath,
  175. success: function (r) {
  176. console.log('打开文档成功');
  177. }
  178. });
  179. }
  180. },
  181. complete: (res)=> {
  182. uni.hideLoading();
  183. }
  184. })
  185. }
  186. }
  187. }
  188. </script>
  189. <style>
  190. </style>