xsContractDetail.vue 6.1 KB

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