移动端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

255 linhas
8.2 KiB

  1. <template>
  2. <div class="home_wrapper">
  3. <div class="header_main">
  4. 新增结款计划
  5. <div class="return_btn" @click="onClickLeft"></div>
  6. </div>
  7. <van-form @submit="onSubmit">
  8. <div class="list_main">
  9. <div class="titBox">
  10. <img src="../../assets/images/sunVillage_info/add_icon_2.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
  11. <p class="tit">结款计划</p>
  12. </div>
  13. <!-- <van-field required v-model="form.biddingWay" label="招标方式" placeholder="招标方式" input-align="right" :border="false" />-->
  14. <van-field v-model="form.code" label="合同编码" placeholder="合同编码" input-align="right" disabled />
  15. <van-field v-model="form.name" label="合同名称" placeholder="合同名称" input-align="right" :border="false" disabled />
  16. <van-field v-model="form.secondParty" label="乙方" placeholder="乙方" input-align="right" :border="false" disabled />
  17. <van-field v-model="collectionPay" @click="showCollectionPay = false" label="收付款" placeholder="收付款" input-align="right" :border="false" disabled/>
  18. <van-popup v-model="showCollectionPay" position="bottom">
  19. <van-picker
  20. show-toolbar
  21. :columns="collectionPayOptions"
  22. @confirm="onConfirmCollectionPay"
  23. @cancel="showCollectionPay = false"/>
  24. </van-popup>
  25. <van-field v-model="form.orderNum" label="结款序号" placeholder="结款序号" input-align="right" type="digit" :border="false" />
  26. <van-field v-model="form.settlementDate" clickable label="结款日期" placeholder="请选择" @click="showSettlementDate = true" input-align="right" right-icon="arrow-down" label-width="auto" required :border="false"/>
  27. <van-popup v-model="showSettlementDate" position="bottom">
  28. <van-datetime-picker v-model="settlementDate" type="date" title="选择年月日" @confirm="onConfirmSettlementDate" @cancel="showSettlementDate = false"/>
  29. </van-popup>
  30. <van-field v-model="form.settlementAmount" label="结款金额" type="number" required placeholder="结款金额" input-align="right" :border="false" />
  31. <van-field v-model="planStatus" @click="showPlanStatus = false" label="结款状态" input-align="right" :border="false" disabled />
  32. <van-popup v-model="showPlanStatus" position="bottom">
  33. <van-picker
  34. show-toolbar
  35. :columns="planStatusOptions"
  36. @confirm="onConfirmPlanStatus"
  37. @cancel="showPlanStatus = false"
  38. disabled/>
  39. </van-popup>
  40. <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" />
  41. </div>
  42. <div style="margin: 16px auto;width: 50%;">
  43. <van-button round block type="primary" native-type="submit">
  44. 保存
  45. </van-button>
  46. </div>
  47. </van-form>
  48. </div>
  49. </template>
  50. <script>
  51. import {addPlan, getInfo} from "@/api/sunVillage_info/fixedAssets";
  52. export default {
  53. name: "informationFunPlanAdd",
  54. data() {
  55. return {
  56. assetStatusOptions:[],
  57. auditStatus:[],
  58. loading: false,
  59. finished: false,
  60. listLength:'0',
  61. searchInput:'',
  62. contractionId:'',
  63. form:{
  64. contractionId:'',
  65. code:'',
  66. name:'',
  67. secondParty:'',
  68. collectionPay:'',
  69. planStatus:'1',
  70. orderNum:'',
  71. settlementDate:'',
  72. settlementAmount:'',
  73. remark:'',
  74. },
  75. queryParams:{
  76. /* pageNum:1,
  77. pageSize:10,
  78. orderByColumn:'createTime',
  79. isAsc:'desc',
  80. name:'',*/
  81. contractionId:'',
  82. },
  83. //收款日期
  84. settlementDate:new Date(),
  85. showSettlementDate:false,
  86. //结款状态
  87. planStatus:'待付款',
  88. showPlanStatus:false,
  89. planStatusOptions:[],
  90. //收付款
  91. collectionPay:'收款',
  92. showCollectionPay:false,
  93. collectionPayOptions:[],
  94. // rules: {
  95. // settlementAmount: [
  96. // { required: true, message: '请输入结款金额' },
  97. // ]
  98. // },
  99. };
  100. },
  101. created() {
  102. this.houseGetDicts("plan_status").then((response) => {
  103. for(var i = 0 ; i < response.data.length ; i++){
  104. this.planStatusOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
  105. }
  106. });
  107. this.houseGetDicts("collection_pay").then((response) => {
  108. for(var i = 0 ; i < response.data.length ; i++){
  109. this.collectionPayOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
  110. }
  111. });
  112. /* this.houseGetDicts("plan_status").then((response) => {
  113. this.planStatusOptions = response.data;
  114. });
  115. this.houseGetDicts("collection_pay").then((response) => {
  116. this.collectionPayOptions = response.data;
  117. });*/
  118. this.getDetail(this.$route.query.contractionId)
  119. this.contractionId = this.$route.query.contractionId;
  120. },
  121. methods: {
  122. getDetail(id){
  123. getInfo(id).then(response => {
  124. this.form.contractionId = response.data.id;
  125. this.form.code = response.data.code;
  126. this.form.name = response.data.name;
  127. this.form.secondParty = response.data.secondParty;
  128. this.form.planStatus = '1';
  129. this.form.collectionPay = response.data.collectionPay;
  130. });
  131. },
  132. onConfirmPlanStatus(data){
  133. this.planStatus = data.text;
  134. this.form.planStatus = data.value;
  135. this.showPlanStatus = false;
  136. },
  137. onConfirmCollectionPay(data){
  138. this.collectionPay = data.text;
  139. this.form.collectionPay = data.value;
  140. this.showCollectionPay = false;
  141. },
  142. onConfirmSettlementDate(data){
  143. this.form.settlementDate = this.format(data,'yyyy-MM-dd');
  144. this.settlementDate = data;
  145. this.showSettlementDate = false;
  146. },
  147. onSubmit(){
  148. this.form.contractionId = this.contractionId;
  149. addPlan(this.form).then((response) => {
  150. if (response.code == 200){
  151. this.$notify({ type: 'success', message: '新增成功' });
  152. setTimeout(function(){
  153. history.back(-1);
  154. },2000)
  155. }
  156. });
  157. }
  158. },
  159. }
  160. </script>
  161. <style scoped lang="scss">
  162. /deep/ .van-button--primary{
  163. background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
  164. background-size: 100% 100%;
  165. border: none;
  166. }
  167. .home_wrapper{
  168. background: #e9e9e9;
  169. min-height: 100vh;
  170. width: 100vw;
  171. .header_main {
  172. height: 116px;
  173. background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
  174. background-size: 100% 100%;
  175. position: fixed;
  176. top: 0;
  177. left: 0;
  178. width: 100%;
  179. font-size: 36px;
  180. line-height: 116px;
  181. text-align: center;
  182. color: #fff;
  183. position: relative;
  184. .return_btn {
  185. width: 24px;
  186. height: 43.2px;
  187. background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
  188. background-size: 20px 36px;
  189. position: absolute;
  190. left: 38px;
  191. top: 36px;
  192. }
  193. .add_btn {
  194. width: 56.4px;
  195. height: 40.8px;
  196. background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
  197. background-size: 47px 34px;
  198. position: absolute;
  199. right: 38px;
  200. top: 36px;
  201. }
  202. }
  203. .list_main{
  204. padding:25px;
  205. background: #ffffff;
  206. width: 94%;
  207. margin: 25px auto 0;
  208. border-radius: 15PX;
  209. box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
  210. }
  211. .titBox{
  212. display: flex;
  213. align-items: center;
  214. }
  215. .tit{
  216. font-size: 36px;
  217. font-weight: bold;
  218. }
  219. /deep/ .van-cell{
  220. padding-left: 0!important;
  221. padding-right: 0!important;
  222. padding-bottom: 0!important;
  223. }
  224. /deep/ .van-field__label{
  225. padding-left: 10PX;
  226. width: 8.2em;
  227. }
  228. /deep/ .van-cell--required::before{
  229. left: 0;
  230. }
  231. /deep/ .van-field--disabled .van-field__label {
  232. color: #646566;
  233. }
  234. }
  235. </style>