addCapacity.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <template>
  2. <!-- 添加运力信息 -->
  3. <div class="addWagonLoad">
  4. <PageTitle>返回</PageTitle>
  5. <div class="form_box" style="margin-right: 10rem">
  6. <dil-form :formId="309" v-model="form1" ref="from1"></dil-form>
  7. </div>
  8. <div class="inputBox">
  9. <span class="text">所属单位类型</span>
  10. <el-autocomplete
  11. class="input"
  12. v-model="state"
  13. @input="onInput"
  14. :fetch-suggestions="querySearch"
  15. placeholder="边输入边查询"
  16. :trigger-on-focus="false"
  17. @select="handleSelect"
  18. ></el-autocomplete>
  19. </div>
  20. <div class="button_box">
  21. <el-button @click="cancel">取消</el-button>
  22. <el-button type="primary" @click="makeSure">确定</el-button>
  23. </div>
  24. </div>
  25. </template>
  26. <script>
  27. import PageTitle from "@/components/Page/Title";
  28. export default {
  29. components: { PageTitle },
  30. data() {
  31. return {
  32. form1: {},
  33. // value: undefined,
  34. carrierIds: "",
  35. state: "",
  36. restaurants: [],
  37. };
  38. },
  39. mounted() {},
  40. methods: {
  41. onInput() {
  42. this.axios.post(
  43. "/api/v1/rms/getCarrierName?state="+this.state,
  44. )
  45. .then((res) => {
  46. if(res.data.code == "200"){
  47. res.data.data.forEach(element => {
  48. this.restaurants.push({
  49. value:element.carrierName,
  50. carrierIds:element.carrierId
  51. })
  52. });
  53. }
  54. });
  55. },
  56. querySearch(queryString, cb) {
  57. var restaurants = this.restaurants;
  58. var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
  59. // 调用 callback 返回建议列表的数据
  60. cb(results);
  61. },
  62. createFilter(queryString) {
  63. return (restaurant) => {
  64. return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
  65. };
  66. },
  67. handleSelect(item){
  68. this.carrierIds=item.carrierIds;
  69. console.log(item)
  70. },
  71. makeSure() {
  72. // console.log(this.form1)
  73. let RmsCapacity={
  74. capacityTypeId:this.form1.capacityTypeId,
  75. capacityNumber:this.form1.capacityNumber.toUpperCase(),
  76. number:this.capacityNumber,
  77. capacityCorlor:this.form1.capacityCorlor,
  78. capacityOwneris:this.form1.capacityOwneris,
  79. capacityVip:this.form1.capacityVip,
  80. capacityBlacklist:this.form1.capacityBlacklist,
  81. // carrierId:this.form1.carrierId,
  82. state:this.state,
  83.         carrierName:this.state,
  84.         carrierIds: this.carrierIds,
  85. };
  86. // console.log("RmsCapacity",RmsCapacity)
  87. if(
  88. RmsCapacity.capacityNumber==null ||
  89. RmsCapacity.capacityCorlor==null ||
  90. RmsCapacity.capacityOwneris==null ||
  91. RmsCapacity.capacityVip==null ||
  92. RmsCapacity.capacityBlacklist==null ||
  93. RmsCapacity.carrierIds==null
  94. )this.$message.error("存在空值!");
  95. else
  96. this.axios
  97. .post("/api/v1/rms/getCarrierName?state=" + this.state)
  98. .then((res) => {
  99. if (res.data.code == "200") {
  100. res.data.data.forEach((element) => {
  101. this.restaurants.push({
  102. value: element.carrierName,
  103. carrierIds: element.carrierId,
  104. });
  105. });
  106. }
  107. });
  108. },
  109. querySearch(queryString, cb) {
  110. var restaurants = this.restaurants;
  111. var results = queryString
  112. ? restaurants.filter(this.createFilter(queryString))
  113. : restaurants;
  114. // 调用 callback 返回建议列表的数据
  115. cb(results);
  116. },
  117. createFilter(queryString) {
  118. return (restaurant) => {
  119. return (
  120. restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) ===
  121. 0
  122. );
  123. };
  124. },
  125. handleSelect(item) {
  126. this.carrierIds = item.carrierIds;
  127. console.log(item);
  128. },
  129. makeSure() {
  130. console.log(this.from1);
  131. let RmsCapacity = {
  132. capacityTypeId: this.form1.capacityTypeId,
  133. capacityNumber: this.form1.capacityNumber.toUpperCase(),
  134. capacityCorlor: this.form1.capacityCorlor,
  135. capacityOwneris: this.form1.capacityOwneris,
  136. capacityVip: this.form1.capacityVip,
  137. capacityBlacklist: this.form1.capacityBlacklist,
  138. // carrierId:this.form1.carrierId,
  139. state: this.state,
  140. carrierName: this.state,
  141. carrierIds: this.carrierIds,
  142. };
  143. if (
  144. RmsCapacity.capacityNumber == null ||
  145. RmsCapacity.capacityCorlor == null ||
  146. RmsCapacity.capacityOwneris == null ||
  147. RmsCapacity.capacityVip == null ||
  148. RmsCapacity.capacityBlacklist == null ||
  149. RmsCapacity.carrierIds == null
  150. )
  151. this.$message.error("存在空值!");
  152. else
  153. this.axios
  154. .post("/api/v1/rms/insertCapacity", RmsCapacity)
  155. .then((res) => {
  156. console.log("res.data.code", res.data.code);
  157. if (res.data.code == 200) {
  158. this.$message({
  159. type: "success",
  160. message: "新增成功!",
  161. });
  162. // this.$refs.table.refreshData();
  163. this.$router.go(-1);
  164. } else {
  165. this.$message.error("新增失败,可能存在重复!");
  166. }
  167. // this.$refs['table'].resetField();
  168. });
  169. },
  170. // 取消
  171. cancel() {
  172. this.$router.go(-1);
  173. },
  174. },
  175. };
  176. </script>
  177. <style lang='scss' >
  178. .addWagonLoad {
  179. .form_box {
  180. width: 100%;
  181. margin-top: 30px;
  182. display: flex;
  183. justify-content: center;
  184. .el-form-item{
  185. display: flex;
  186. justify-content: center;
  187. .el-form-item__label{
  188. display: flex;
  189. align-items: center;
  190. }
  191. .el-form-item__content{
  192. .el-select{
  193. width: 250px;
  194. }
  195. .el-input{
  196. width: 250px;
  197. }
  198. }
  199. }
  200. }
  201. .inputBox{
  202. display: flex;
  203. justify-content: center;
  204. margin-bottom: 30px;
  205. .text{
  206. text-align: right;
  207. display: flex;
  208. align-items: center;
  209. margin-right: 5px;
  210. }
  211. .input{
  212. width: 250px;
  213. }
  214. }
  215. .button_box{
  216. display: flex;
  217. justify-content: center;
  218. .el-button{
  219. width: 80px;
  220. margin-right: 10px;
  221. }
  222. }
  223. }
  224. </style>