diff --git a/src/utils/request.js b/src/utils/request.js index ab840ea..6c23ca5 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -14,7 +14,7 @@ let loading ; const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url // withCredentials: true, // send cookies when cross-domain requests - timeout: 5000, // request timeout + timeout: 20000, // request timeout isLoading:true }) diff --git a/src/views/lease/component/imports.vue b/src/views/lease/component/imports.vue index d3dcfc1..ed77052 100644 --- a/src/views/lease/component/imports.vue +++ b/src/views/lease/component/imports.vue @@ -171,7 +171,7 @@ export default { } } }) - formatData[merges.find(j => index >= j.rs && index <= j.re).rs]["id_leases_to_assets_lease_id_relation"].push(link) + formatData[formatData.length-1]["id_leases_to_assets_lease_id_relation"].push(link) index++ } else { headers.forEach((header, index1) => { diff --git a/src/views/lease/sign.vue b/src/views/lease/sign.vue index e3a6f81..cf38194 100644 --- a/src/views/lease/sign.vue +++ b/src/views/lease/sign.vue @@ -387,13 +387,46 @@ export default { { prop: "name", label: "资产名称", - width: 180, + width: 240, fixed: "left", align: "left", customFn: row => ( row.id ? ({ row.name }) : - () + ( { + return `${item.hasOwnProperty('land_id') ? '房产' : '土地'}-${item.name}` + } + }} + fetch-suggestions={ + (qs,cb) => { + const assets = [...this.assets.lands,...this.assets.houses]; + let results = qs ? assets.filter(asset => asset.name?.toLowerCase()?.indexOf(qs.toLowerCase()) === 0) : assets; + // 调用 callback 返回建议列表的数据 + cb(results); + } + } + on={{ + select: item => { + if (item.hasOwnProperty('land_id')) { + row.house_id = item.id + } else { + row.land_id = item.id + } + }, + change: e => { + if (!e.trim()) { + row.land_id = '' + row.house_id = '' + } + } + }}> + ) ) }, { @@ -1297,6 +1330,10 @@ export default { }, data() { return { + assets: { + lands: [], + houses: [] + }, departments: [], wxAreas: new Map(), isShowOldData: true, @@ -1338,6 +1375,30 @@ export default { }; }, methods: { + getAssets() { + Promise.all([ + index({ + table_name: "houses", + page: 1, + page_size: 999, + filter: [], + is_more_auth: 1 + },false), + index({ + table_name: "lands", + page: 1, + page_size: 999, + filter: [], + is_more_auth: 1 + }) + ]).then(res => { + const [houses,lands] = res; + this.assets = { + lands: lands.data, + houses: houses.data + } + }) + }, async getWxAreas () { try { const res = await customFormFieldShow({ id: 120 }) @@ -1454,6 +1515,7 @@ export default { name: land.name, zuoluo: land.zuoluo, shijimianji: land.shijimianji, + lease_id: item.lease_id, _chuzumianji: item.chuzumianji, _name: item.name, _biaodileixing: item.biaodileixing, @@ -1473,6 +1535,7 @@ export default { name: house.name, zuoluo: house.zuoluo, shijimianji: house.shijimianji, + lease_id: item.lease_id, _name: item.name, _zuoluo: item.zuoluo, _biaodileixing: item.biaodileixing, @@ -1489,6 +1552,7 @@ export default { name: item.name, zuoluo: item.zuoluo, shijimianji: item.shijimianji, + lease_id: item.lease_id, _name: item.name, _zuoluo: item.zuoluo, _biaodileixing: item.biaodileixing, @@ -1522,20 +1586,34 @@ export default { }); } - this.form.let_id = !this.form.let_id ? this.$route.params.letId : this.form.let_id; + this.form.let_id = (this.form.let_id ? this.form.let_id : ((this.$route.params.letId && this.$route.params.letId !== 'null') ? this.$route.params.letId : "")) ?? ""; + if (this.type !== "add") { + this.form['id_leases_to_assets_lease_id_relation'] = this.nowAssets.map((item) => ({ + id: item._relation_id, + land_id: !item.hasOwnProperty("land_id") ? item.id : "", + house_id: item.hasOwnProperty("land_id") ? item.id : "", + name: item._name, + zuoluo: item._zuoluo, + xiangxiweizhi: item._xiangxiweizhi, + biaodileixing: item._relation_i ? (item.hasOwnProperty("land_id") ? '房产' : '土地') : item._biaodileixing, + shijimianji: item._shijimianji, + chuzumianji: item._chuzumianji, + lease_id: item.lease_id, + })) + } save(Object.assign(this.form, { table_name: "leases" })).then((res) => { if (this.type !== "add") { Promise.all([ - ...this.originalForm.id_leases_to_assets_lease_id_relation?.map( - (i) => - destroy( - { - id: i.id, - table_name: "leases_to_assets", - }, - false - ) - ), + // ...this.originalForm.id_leases_to_assets_lease_id_relation?.map( + // (i) => + // destroy( + // { + // id: i.id, + // table_name: "leases_to_assets", + // }, + // false + // ) + // ), ...this.originalForm.id_lease_plans_lease_id_relation?.map((i) => destroy( { @@ -1559,7 +1637,7 @@ export default { chuzumianji: item._chuzumianji, lease_id: res.id, })); - if (leaseToAssetsData && leaseToAssetsData.length > 0) { + if (this.type === 'add' && leaseToAssetsData && leaseToAssetsData.length > 0) { imports( { table_name: "leases_to_assets", @@ -1670,6 +1748,7 @@ export default { }, }, created() { + this.getAssets() this.getWxAreas() this.getDepts() this.id = this.$route.query.leaseId;