移动端
Não pode escolher mais do que 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.
 
 

219 linhas
10 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_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
  11. <p class="tit">合同信息</p>
  12. </div>
  13. <van-field required v-model="form.code" label="合同编码" p laceholder="合同编码" input-align="right" :border="false" />
  14. <van-field required v-model="form.name" label="合同名称" placeholder="合同名称" input-align="right" :border="false" />
  15. <van-field v-model="form.assetType" label="合同类型" placeholder="合同类型" input-align="right" is-link :border="false" />
  16. <van-field required v-model="form.contractionSource" label="合同来源" placeholder="合同来源" input-align="right" is-link :border="false" />
  17. <van-field required v-model="form.firstParty" label="甲方名称" placeholder="甲方名称" input-align="right" is-link :border="false" />
  18. <van-field v-model="form.firstPartyDirector" label="甲方代表" placeholder="甲方代表" input-align="right" :border="false" />
  19. <van-field v-model="form.firstPartyPhone" label="甲方电话" placeholder="甲方电话" input-align="right" :border="false" />
  20. <van-field required v-model="form.secondParty" label="乙方名称" placeholder="乙方名称" input-align="right" :border="false" />
  21. <van-field v-model="form.secondPartyDirector" label="乙方代表" placeholder="乙方代表" input-align="right" :border="false" />
  22. <van-field v-model="form.secondPartyPhone" label="乙方电话" placeholder="乙方电话" input-align="right" :border="false" />
  23. <van-field required v-model="form.collectionPay" label="收付款类型" placeholder="收付款类型" input-align="right" :border="false" />
  24. <van-field required v-model="form.settleType" label="结款方式" placeholder="结款方式" input-align="right" :border="false" />
  25. <van-field required v-model="form.totalAmount" label="合同金额(元)" placeholder="合同金额(元)" input-align="right" :border="false" />
  26. <van-field v-model="form.num" label="数量/面积" placeholder="数量/面积" input-align="right" :border="false" />
  27. <van-field v-model="form.unit" label="计量单位" placeholder="计量单位" input-align="right" :border="false" />
  28. <van-field required v-model="form.price" label="单价(元)" placeholder="单价(元)" input-align="right" :border="false" />
  29. <van-field required v-model="form.receivedAmount" label="已结款(元)" placeholder="已结款(元)" input-align="right" :border="false" />
  30. <van-field v-model="form.settledAmount" label="下次结款(元)" placeholder="下次结款(元)" input-align="right" :border="false" />
  31. <van-field required v-model="form.buildingTime" label="签订日期" placeholder="签订日期" input-align="right" :border="false" />
  32. <van-field required v-model="form.startTime" label="开始日期" placeholder="开始日期" input-align="right" :border="false" />
  33. <van-field required v-model="form.endTime" label="结束日期" placeholder="结束日期" input-align="right" :border="false" />
  34. <van-field required v-model="form.contractionStatus" label="合同状态" placeholder="合同状态" input-align="right" :border="false" />
  35. <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" />
  36. </div>
  37. <div class="list_main">
  38. <div class="titBox">
  39. <img src="../../assets/images/sunVillage_info/add_icon_2.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
  40. <p class="tit">招标信息</p>
  41. </div>
  42. <van-field required v-model="form.biddingWay" label="招标方式" placeholder="招标方式" input-align="right" :border="false" />
  43. <van-field v-model="form.itemId" label="项目编号" placeholder="项目编号" input-align="right" />
  44. <van-field required v-model="form.itemName" label="项目名称" placeholder="项目名称" input-align="right" is-link :border="false" />
  45. <van-field required v-model="form.handleName" label="经办人" placeholder="经办人" input-align="right" is-link :border="false" />
  46. <van-field required v-model="form.budget" label="预算金额(元)" placeholder="预算金额(元)" input-align="right" is-link :border="false" />
  47. <van-field v-model="form.biddingDate" label="招标日期" placeholder="招标日期" input-align="right" :border="false" />
  48. <van-field v-model="form.biddingType" label="招标类型" placeholder="招标类型" input-align="right" :border="false" />
  49. <van-field v-model="form.winBiddingCompany" label="中标单位" placeholder="中标单位" input-align="right" :border="false" />
  50. <van-field v-model="form.winBiddingPrice" label="中标金额(元)" placeholder="中标金额(元)" input-align="right" :border="false" />
  51. <van-field v-model="form.reviewer" label="审核人" placeholder="审核人" input-align="right" :border="false" />
  52. <van-field v-model="form.reviewTime" label="审核时间" placeholder="审核时间" input-align="right" :border="false" />
  53. </div>
  54. <div style="margin: 16px;">
  55. <van-button round block type="primary" native-type="submit">
  56. 提交
  57. </van-button>
  58. </div>
  59. </van-form>
  60. </div>
  61. </template>
  62. <script>
  63. import { permanentList } from "@/api/sunVillage_info/fixedAssets";
  64. export default {
  65. name: "certificateList",
  66. data() {
  67. return {
  68. applicationList:[],
  69. applicationListSecond:[],
  70. assetStatusOptions:[],
  71. auditStatus:[],
  72. loading: false,
  73. finished: false,
  74. listLength:'0',
  75. searchInput:'',
  76. form:{},
  77. queryParams:{
  78. pageNum:1,
  79. pageSize:10,
  80. orderByColumn:'createTime',
  81. isAsc:'desc',
  82. name:'',
  83. }
  84. };
  85. },
  86. created() {
  87. this.houseGetDicts("asset_status").then((response) => {
  88. this.assetStatusOptions = response.data;
  89. });
  90. this.houseGetDicts("asset_type").then((response) => {
  91. this.assetTypeOptions = response.data;
  92. });
  93. this.houseGetDicts("use_type").then((response) => {
  94. this.useTypeOptions = response.data;
  95. });
  96. },
  97. methods: {
  98. getList(){
  99. setTimeout(() => {
  100. permanentList(this.queryParams).then(response => {
  101. this.listLength = response.total;
  102. for (var i = 0; i < response.rows.length; i++) {
  103. response.rows[i].assetStatus = this.selectDictLabel(this.assetStatusOptions, response.rows[i].assetStatus);
  104. response.rows[i].assetType = this.selectDictLabel(this.assetTypeOptions, response.rows[i].assetType);
  105. response.rows[i].useType = this.selectDictLabel(this.useTypeOptions, response.rows[i].useType);
  106. response.rows[i].originalValue = Number(response.rows[i].originalValue ).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { return $1 + ","; }).replace(/\.$/, "")
  107. this.applicationList.push(response.rows[i]);
  108. this.applicationListSecond.push(response.rows[i]);
  109. }
  110. if(this.applicationList.length >= response.total){
  111. this.finished = true;
  112. return;
  113. }else{
  114. this.loading = false;
  115. this.queryParams.pageNum += 1 ;
  116. }
  117. });
  118. }, 1000);
  119. },
  120. getSearchList(){
  121. this.loading = true;
  122. if(this.applicationListSecond.length>0&&this.queryParams.name!=""){
  123. let newList = []
  124. for(let j = 0 ;j<this.applicationListSecond.length;j++){
  125. if(this.applicationListSecond[j].name.indexOf(this.queryParams.name)>-1){
  126. newList.push(this.applicationListSecond[j]);
  127. }
  128. }
  129. this.applicationList = newList
  130. }
  131. if(this.queryParams.name==""){
  132. this.applicationList = this.applicationListSecond;
  133. }
  134. this.loading = false;
  135. },
  136. onSubmit(){}
  137. },
  138. }
  139. </script>
  140. <style scoped lang="scss">
  141. .home_wrapper{
  142. background: #e9e9e9;
  143. min-height: 100vh;
  144. width: 100vw;
  145. .header_main {
  146. height: 116px;
  147. background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
  148. background-size: 100% 100%;
  149. position: fixed;
  150. top: 0;
  151. left: 0;
  152. width: 100%;
  153. font-size: 36px;
  154. line-height: 116px;
  155. text-align: center;
  156. color: #fff;
  157. position: relative;
  158. .return_btn {
  159. width: 24px;
  160. height: 43.2px;
  161. background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
  162. background-size: 20px 36px;
  163. position: absolute;
  164. left: 38px;
  165. top: 36px;
  166. }
  167. .add_btn {
  168. width: 56.4px;
  169. height: 40.8px;
  170. background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
  171. background-size: 47px 34px;
  172. position: absolute;
  173. right: 38px;
  174. top: 36px;
  175. }
  176. }
  177. .list_main{
  178. padding:25px;
  179. background: #ffffff;
  180. width: 94%;
  181. margin: 25px auto 0;
  182. border-radius: 15PX;
  183. box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
  184. }
  185. .titBox{
  186. display: flex;
  187. align-items: center;
  188. }
  189. .tit{
  190. font-size: 36px;
  191. font-weight: bold;
  192. }
  193. /deep/ .van-cell{
  194. padding-left: 0!important;
  195. padding-right: 0!important;
  196. padding-bottom: 0!important;
  197. }
  198. /deep/ .van-field__label{
  199. padding-left: 10PX;
  200. width: 8.2em;
  201. }
  202. /deep/ .van-cell--required::before{
  203. left: 0;
  204. }
  205. }
  206. </style>