updateThreeSectionFeeDetails.vue 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. <template>
  2. <!-- 修改位置作业 -->
  3. <div class="shipTransport">
  4. <page-title>返回</page-title>
  5. <div class="form">
  6. <div class="form_box">
  7. <dil-form :formId="136" v-model="form1" ref="from1"></dil-form>
  8. <el-form :inline="true">
  9. <el-form-item label="水运单价">
  10. <el-input type="number" placeholder="水运单价" v-model="form1.waterUnitPrice" disabled
  11. ></el-input>
  12. </el-form-item>
  13. <el-form-item label="是否拼装" >
  14. <el-radio v-model="form1.isNeedAssemble" label="否" style="margin-left :10px">否</el-radio>
  15. <el-radio v-model="form1.isNeedAssemble" label="是">是</el-radio>
  16. </el-form-item>
  17. <el-form-item label="水分检测费">
  18. <el-input type="number" placeholder="水分检测费" v-model="form1.resultInspectionFees"></el-input>
  19. </el-form-item>
  20. <!-- <el-form-item label="计划日期">
  21. <el-date-picker
  22. v-model="form1.planDate"
  23. type="datetime"
  24. placeholder="计划日期">
  25. </el-date-picker>
  26. </el-form-item>
  27. <el-form-item label="预计放货日期">
  28. <el-date-picker
  29. v-model="form1.planDeliveryDate"
  30. type="datetime"
  31. placeholder="预计放货日期">
  32. </el-date-picker>
  33. </el-form-item> -->
  34. <el-form-item label="含水率(%)">
  35. <el-input type="number" placeholder="含水率" v-model="form1.resultMoistureContent"
  36. @change="pipeiContarct"></el-input>
  37. </el-form-item>
  38. <el-form-item label="合同水分值">
  39. <el-input
  40. type="number"
  41. placeholder=""
  42. v-model="form1.contractMoistureValue"
  43. :disabled="true"
  44. ></el-input>
  45. </el-form-item>
  46. <el-form-item label="水分吨位">
  47. <el-input
  48. type="number"
  49. placeholder=""
  50. v-model="form1.moistureTonnage"
  51. :disabled="true"
  52. ></el-input>
  53. </el-form-item>
  54. </el-form>
  55. </div>
  56. </div>
  57. <!-- 确定和取消 -->
  58. <div class="button_box">
  59. <el-button type="primary" @click="makeSure">确认</el-button>
  60. <el-button @click="onClickCancel">返回</el-button>
  61. </div>
  62. </div>
  63. </template>
  64. <script>
  65. import PageTitle from "@/components/Page/Title";
  66. import { sjTime } from "@/utils/sharedJsFile";
  67. import { getCookie } from "@/utils/util.js";
  68. export default {
  69. components: { PageTitle },
  70. data(){
  71. return {
  72. form1: {},
  73. waterQualiyResultId:null,
  74. outWharyResultId:null,
  75. unitPrices:[]
  76. }
  77. },
  78. mounted() {
  79. this.information();
  80. },
  81. watch:{
  82. "form1.resultOutPortTime":{
  83. handler(newVal,oldVal){
  84. this.findUnitPrice();
  85. },
  86. deep: true,
  87. immediate: true
  88. },
  89. "form1.isNeedAssemble":{
  90. handler(newVal,oldVal){
  91. this.isNeedAssemble();
  92. },
  93. deep: true,
  94. immediate: true
  95. }
  96. },
  97. methods: {
  98. getUnitPrice(){
  99. this.axios
  100. .post("/api/v1/rms/selectbmsshipContractPriceList?apiId=500")
  101. .then((res) => {
  102. this.unitPrices=res.data.data.list;
  103. }).then(()=>{
  104. this.findUnitPrice();
  105. });
  106. },
  107. findUnitPrice(){
  108. console.log("form1",this.form1);
  109. if(this.form1.sendPortId && this.form1.resultOutPortTime){
  110. let contract=this.unitPrices.find(item=>
  111. item.portId==this.form1.startPortId
  112. && sjTime(this.form1.resultOutPortTime)>=sjTime(item.startTime)
  113. && sjTime(this.form1.resultOutPortTime)<=sjTime(item.endTime));
  114. if(contract){
  115. this.form1.waterUnitPrice=contract.unitPrice;
  116. this.form1.unitPriceId=contract.resultId;
  117. console.log("contract:",contract);
  118. this.$forceUpdate();
  119. }
  120. }else{
  121. console.log("null");
  122. }
  123. },
  124. isNeedAssemble(){
  125. if(this.form1.isNeedAssemble){
  126. if(this.form1.isNeedAssemble=="是" && this.form1.sendPortId!=this.form1.startPortId){
  127. this.form1.resultInspectionFees=4000;
  128. }else{
  129. this.form1.resultInspectionFees=2000;
  130. }
  131. }else{
  132. console.log("是否拼装为空");
  133. }
  134. },
  135. information() {
  136. //编辑位置作业
  137. this.axios
  138. .post("/api/v1/tms/getLoadShip/" + this.$route.params.resultId)
  139. .then((res) => {
  140. res.data.data.forEach((e) => {
  141. this.form1 = e;
  142. this.waterQualiyResultId=e.waterQualiyResultId;
  143. this.outWharyResultId=e.outWharyResultId;
  144. console.log("form1:",e);
  145. });
  146. }).then(()=>{
  147. this.getUnitPrice();
  148. });
  149. },
  150. handleCheckedCitiesChange(value) {
  151. console.log(value);
  152. },
  153. // 返回
  154. onClickCancel() {
  155. this.$router.go(-1);
  156. },
  157. currentRadioChange(row) {
  158. this.aaaa = row;
  159. },
  160. pipeiContarct() {
  161. if (
  162. this.form1.resultMoistureContent >= 0
  163. ) {
  164. let map = {
  165. batchInfactoryId: this.form1.batchId,
  166. resultMoistureContent: this.form1.resultMoistureContent/100,
  167. resultActualInstallations:this.form1.resultActualInstallations,
  168. };
  169. this.axios
  170. .post("/api/v1/tms/getMoistureAndInstallations", map)
  171. .then(res => {
  172. if (res.data.code == 200) {
  173. console.log("res:",res);
  174. this.form1.contractMoistureValue = res.data.data.purchaseContractMoisture;
  175. this.form1.moistureTonnage = res.data.data.resultWaterTonnage;
  176. this.$forceUpdate();
  177. } else {
  178. this.$message.warning(res.data.data);
  179. }
  180. });
  181. }
  182. },
  183. // 确认
  184. makeSure() {
  185. let mapVal = {
  186. resultId: this.$route.params.resultId,
  187. waterQualiyResultId:this.waterQualiyResultId,
  188. resultActualInstallations: this.form1.resultActualInstallations,
  189. outWharyResultId:this.outWharyResultId,
  190. // rwarehouseMaterialId: this.form1.rwarehouseMaterialId,
  191. resultArrivalPortTime: sjTime(
  192. this.form1.resultArrivalPortTime
  193. ),
  194. resultOutPortTime: sjTime(
  195. this.form1.resultOutPortTime
  196. ),
  197. resultLoadShipDate: sjTime(
  198. this.form1.resultLoadShipDate
  199. ),
  200. resultIsClear: this.form1.resultIsClear,
  201. resultOutPortName:this.form1.resultOutPortName,
  202. // planDate:sjTime(this.form1.planDate),
  203. // planDeliveryDate:sjTime(this.form1.planDeliveryDate),
  204. isNeedAssemble:this.form1.isNeedAssemble,
  205. resultInspectionFees:this.form1.resultInspectionFees,
  206. moistureTonnage:this.form1.moistureTonnage,
  207. waterUnitPrice:this.form1.waterUnitPrice,
  208. unitPriceId:this.form1.unitPriceId,
  209. resultHeavyWeight:this.form1.resultHeavyWeight,
  210. resultMoistureContent:this.form1.resultMoistureContent,
  211. userId:getCookie("userId")
  212. };
  213. //判断放货数量是否为数字
  214. function isNumber() {
  215. var value = mapVal.resultActualInstallations;
  216. //验证是否为数字
  217. var patrn = /^(-)?\d+(\.\d+)?$/;
  218. if (patrn.exec(value) == null || value == "") {
  219. return false;
  220. } else {
  221. return true;
  222. }
  223. }
  224. var val=this.value;
  225. console.log("map:",mapVal);
  226. this.axios
  227. .post(
  228. "/api/v1/tms/updateThreeSectionDetails",
  229. mapVal
  230. )
  231. .then((res) => {
  232. if (res.data.code == 200) {
  233. this.$message({
  234. type: "success",
  235. message: "修改成功!",
  236. });
  237. // this.$refs.table.refreshData();
  238. this.$router.go(-1);
  239. } else {
  240. this.$message.error("修改失败!");
  241. }
  242. this.$refs['table'].resetField();
  243. });
  244. },
  245. },
  246. };
  247. </script>
  248. <style lang="scss">
  249. .shipTransport{
  250. .form{
  251. display: flex;
  252. .form_box{
  253. width: 320px;
  254. margin-left: 35%;
  255. margin-top: 30px;
  256. margin-right: 20px;
  257. .el-form{
  258. .preview-group{
  259. .el-form-item{
  260. .el-form-item__label{
  261. display: inline-block;
  262. width: 70px !important;
  263. }
  264. .el-form-item__content{
  265. .el-select{
  266. width: 250px;
  267. }
  268. .el-input{
  269. width: 250px;
  270. }
  271. }
  272. }
  273. }
  274. }
  275. }
  276. }
  277. .button_box{
  278. margin-left: 45%;
  279. }
  280. }
  281. </style>