style:楼盘表
Showing
1 changed file
with
325 additions
and
408 deletions
| 1 | <template> | 1 | <template> |
| 2 | <div class="lpbContent-wrap" ref="lpbContentWrap"> | 2 | <div class="lpbContent-wrap" ref="lpbContentWrap"> |
| 3 | <div | 3 | <div class="lpbContent" ref="lpbContent" :style="{ 'height': 'calc(100% - '+ lpbContentHeight +'px)'}"> |
| 4 | class="lpbContent" | ||
| 5 | ref="lpbContent" | ||
| 6 | :style="{ height: 'calc(100% - ' + lpbContentHeight + 'px)' }" | ||
| 7 | > | ||
| 8 | <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> | 4 | <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> |
| 9 | <div class="ch-zdy-wrap"> | 5 | <div class="ch-zdy-wrap"> |
| 10 | <!-- 幢单元 --> | 6 | <!-- 幢单元 --> |
| 11 | <zdy-cpn | 7 | <zdy-cpn v-if="lpbData.zdys.length" :zdys="lpbData.zdys" :onlyShow="onlyShow" /> |
| 12 | v-if="lpbData.zdys.length" | ||
| 13 | :zdys="lpbData.zdys" | ||
| 14 | :onlyShow="onlyShow" | ||
| 15 | /> | ||
| 16 | <!-- 独立层户 --> | 8 | <!-- 独立层户 --> |
| 17 | <ch-cpn | 9 | <ch-cpn v-if="lpbData.cs.length" :ch="lpbData.cs" :onlyShow="onlyShow" /> |
| 18 | v-if="lpbData.cs.length" | ||
| 19 | :ch="lpbData.cs" | ||
| 20 | :onlyShow="onlyShow" | ||
| 21 | /> | ||
| 22 | </div> | 10 | </div> |
| 23 | <!-- 逻辑幢 --> | 11 | <!-- 逻辑幢 --> |
| 24 | <ljzs-cpn | 12 | <ljzs-cpn v-if="lpbData.ljzs.length" :ljzs="lpbData.ljzs" :onlyShow="onlyShow" /> |
| 25 | v-if="lpbData.ljzs.length" | ||
| 26 | :ljzs="lpbData.ljzs" | ||
| 27 | :onlyShow="onlyShow" | ||
| 28 | /> | ||
| 29 | </div> | 13 | </div> |
| 30 | <!-- 自然幢名称 --> | 14 | <!-- 自然幢名称 --> |
| 31 | <p | 15 | <p class="lpb-xmmc" v-if="onlyShow" style="border-bottom: 1px solid #e6e6e6">{{ lpbData.xmmc }}</p> |
| 32 | class="lpb-xmmc" | 16 | <p class="lpb-xmmc" v-else :style="{ 'border-bottom':'1px solid #e6e6e6'}"> |
| 33 | v-if="onlyShow" | ||
| 34 | style="border-bottom: 1px solid #e6e6e6" | ||
| 35 | > | ||
| 36 | {{ lpbData.xmmc }} | ||
| 37 | </p> | ||
| 38 | <p | ||
| 39 | class="lpb-xmmc" | ||
| 40 | v-else | ||
| 41 | :style="{ 'border-bottom': '1px solid #e6e6e6' }" | ||
| 42 | > | ||
| 43 | <el-checkbox @change="zdySelectAll($event)">{{ | 17 | <el-checkbox @change="zdySelectAll($event)">{{ |
| 44 | lpbData.xmmc | 18 | lpbData.xmmc |
| 45 | }}</el-checkbox> | 19 | }}</el-checkbox> |
| 46 | </p> | 20 | </p> |
| 47 | <el-button | 21 | <el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">选择确认</el-button> |
| 48 | type="primary" | 22 | <el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button> |
| 49 | class="save-btn" | ||
| 50 | v-if="!onlyShow && showSave" | ||
| 51 | @click="saveLpb" | ||
| 52 | >选择确认</el-button | ||
| 53 | > | ||
| 54 | <el-button | ||
| 55 | type="primary" | ||
| 56 | class="save-btn" | ||
| 57 | v-if="!onlyShow && !showSave" | ||
| 58 | @click="submitForm" | ||
| 59 | :loading="loading" | ||
| 60 | >发起申请</el-button | ||
| 61 | > | ||
| 62 | <!-- 右键菜单 --> | 23 | <!-- 右键菜单 --> |
| 63 | <ul | 24 | <ul |
| 64 | v-show="lpbChVisible" | 25 | v-show="lpbChVisible" |
| 65 | :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" | 26 | :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" |
| 66 | class="contextmenu" | 27 | class="contextmenu"> |
| 67 | > | ||
| 68 | <li @click="menuClick">菜单一</li> | 28 | <li @click="menuClick">菜单一</li> |
| 69 | <li @click="menuClick">菜单二</li> | 29 | <li @click="menuClick">菜单二</li> |
| 70 | </ul> | 30 | </ul> |
| 71 | </div> | 31 | </div> |
| 72 | </template> | 32 | </template> |
| 73 | <script> | 33 | <script> |
| 74 | import { getLpb } from "@/api/lpcx.js"; | 34 | import { getLpb } from "@/api/lpcx.js"; |
| 75 | import chCpn from "./ch.vue"; | 35 | import chCpn from "./ch.vue"; |
| 76 | import zdyCpn from "./zdys.vue"; | 36 | import zdyCpn from "./zdys.vue"; |
| 77 | import ljzsCpn from "./ljzs.vue"; | 37 | import ljzsCpn from "./ljzs.vue"; |
| 78 | import { | 38 | import { startBusinessFlow, choiceBdcdy, againAddSldy } from "@/api/workFlow.js"; |
| 79 | startBusinessFlow, | 39 | import jump from "../../ywbl/ywsq/components/mixin/jump"; |
| 80 | choiceBdcdy, | 40 | import store from '@/store/index.js' |
| 81 | againAddSldy, | 41 | import { ywPopupCacel } from "@/utils/popup.js"; |
| 82 | } from "@/api/workFlow.js"; | 42 | export default { |
| 83 | import jump from "../../ywbl/ywsq/components/mixin/jump"; | 43 | mixins: [jump], |
| 84 | import store from "@/store/index.js"; | 44 | provide () { |
| 85 | import { ywPopupCacel } from "@/utils/popup.js"; | 45 | return { |
| 86 | export default { | 46 | openMenu: this.openMenu, |
| 87 | mixins: [jump], | 47 | selectAll: this.selectAllObj, |
| 88 | provide() { | 48 | changeChoosedObj: this.changeChoosedObj, |
| 89 | return { | 49 | clearChangeChoosedObj: this.clearChangeChoosedObj, |
| 90 | openMenu: this.openMenu, | 50 | getBsmList: this.getBsmList |
| 91 | selectAll: this.selectAllObj, | 51 | }; |
| 92 | changeChoosedObj: this.changeChoosedObj, | ||
| 93 | clearChangeChoosedObj: this.clearChangeChoosedObj, | ||
| 94 | getBsmList: this.getBsmList, | ||
| 95 | }; | ||
| 96 | }, | ||
| 97 | name: "", | ||
| 98 | components: { chCpn, zdyCpn, ljzsCpn }, | ||
| 99 | props: { | ||
| 100 | zrzbsm: { | ||
| 101 | type: String, | ||
| 102 | default: "", | ||
| 103 | }, | ||
| 104 | lpbParent: { | ||
| 105 | type: String, | ||
| 106 | default: "isLpb", | ||
| 107 | }, | ||
| 108 | isHb: { | ||
| 109 | type: Boolean, | ||
| 110 | default: true, | ||
| 111 | }, | ||
| 112 | onlyShow: { | ||
| 113 | type: Boolean, | ||
| 114 | default: true, | ||
| 115 | }, | ||
| 116 | showSave: { | ||
| 117 | type: Boolean, | ||
| 118 | default: false, | ||
| 119 | }, | ||
| 120 | scyclx: { | ||
| 121 | type: Number, | ||
| 122 | default: 0, | ||
| 123 | }, | ||
| 124 | sqywInfo: { | ||
| 125 | type: Object, | ||
| 126 | default: () => {}, | ||
| 127 | }, | 52 | }, |
| 128 | }, | 53 | name: "", |
| 129 | data() { | 54 | components: { chCpn, zdyCpn, ljzsCpn }, |
| 130 | return { | 55 | props: { |
| 131 | lpbData: { | 56 | zrzbsm: { |
| 132 | ljzs: [], | 57 | type: String, |
| 133 | cs: [], | 58 | default: "", |
| 134 | zdys: [], | ||
| 135 | }, | 59 | }, |
| 136 | //户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应 | 60 | lpbParent: { |
| 137 | selectAllObj: { | 61 | type: String, |
| 138 | selectAll: false, | 62 | default: "isLpb", |
| 139 | }, | 63 | }, |
| 140 | //层户右键菜单显隐 | 64 | isHb: { |
| 141 | lpbChVisible: false, | 65 | type: Boolean, |
| 142 | //右键菜单定位位置 | 66 | default: true, |
| 143 | lpbChLeft: 100, | ||
| 144 | lpbChTop: 100, | ||
| 145 | // 改变户选中状态 | ||
| 146 | changeChoosedObj: { | ||
| 147 | bsms: [], | ||
| 148 | color: "", | ||
| 149 | }, | 67 | }, |
| 150 | // 选中户bsm合集 | 68 | onlyShow: { |
| 151 | bsmList: [], | 69 | type: Boolean, |
| 152 | loading: false, | 70 | default: true, |
| 153 | }; | 71 | }, |
| 154 | }, | 72 | showSave: { |
| 155 | mounted() { | 73 | type: Boolean, |
| 156 | this.scyclx | 74 | default: false, |
| 157 | ? this.getLpb(this.zrzbsm, this.scyclx) | 75 | }, |
| 158 | : this.getLpb(this.zrzbsm); | 76 | scyclx: { |
| 159 | window.lpbContent = this; | 77 | type: Number, |
| 160 | }, | 78 | default: 0, |
| 161 | methods: { | 79 | }, |
| 162 | /** | 80 | sqywInfo: { |
| 163 | * @description: 获取当前楼盘表选中户信息 | 81 | type: Object, |
| 164 | * @param {Array} bsmList | 82 | default: () => { } |
| 165 | * @author: renchao | 83 | }, |
| 166 | */ | 84 | isJump: { type: Boolean, default: false }, |
| 167 | getBsmList(bsmList, compFlag) { | ||
| 168 | // 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据 | ||
| 169 | this.bsmList = this.bsmList.filter((i) => i.flag != compFlag); | ||
| 170 | // 合并本次数据 | ||
| 171 | this.bsmList = this.bsmList.concat([ | ||
| 172 | ...new Map(bsmList.map((item) => [item.bdcdyh, item])).values(), | ||
| 173 | ]); | ||
| 174 | // }) | ||
| 175 | }, | 85 | }, |
| 176 | /** | 86 | data () { |
| 177 | * @description: 保存当前楼盘表 | 87 | return { |
| 178 | * @author: renchao | 88 | lpbData: { |
| 179 | */ | 89 | ljzs: [], |
| 180 | saveLpb() { | 90 | cs: [], |
| 181 | if (this.bsmList.length == 0) { | 91 | zdys: [], |
| 182 | this.$message.error("请至少选择一条数据"); | 92 | }, |
| 183 | return; | 93 | //户全选标识 由于依赖注入的绑定并不是可响应的,所以传入可监听的对象以获取其属性的响应 |
| 184 | } | 94 | selectAllObj: { |
| 185 | this.loading = true; | 95 | selectAll: false, |
| 186 | store.dispatch("user/reMenuRefresh", false); | 96 | }, |
| 187 | againAddSldy({ | 97 | //层户右键菜单显隐 |
| 188 | bsmSqyw: this.sqywInfo.bsmSqyw, | 98 | lpbChVisible: false, |
| 189 | bsmSlsq: this.sqywInfo.bsmSlsq, | 99 | //右键菜单定位位置 |
| 190 | bdcdysz: this.bsmList, | 100 | lpbChLeft: 100, |
| 191 | sjlx: "houses", | 101 | lpbChTop: 100, |
| 192 | }) | 102 | // 改变户选中状态 |
| 193 | .then((res) => { | 103 | changeChoosedObj: { |
| 194 | this.loading = false; | 104 | bsms: [], |
| 105 | color: '' | ||
| 106 | }, | ||
| 107 | // 选中户bsm合集 | ||
| 108 | bsmList: [], | ||
| 109 | loading: false, | ||
| 110 | }; | ||
| 111 | }, | ||
| 112 | mounted () { | ||
| 113 | this.scyclx ? this.getLpb(this.zrzbsm, this.scyclx) : this.getLpb(this.zrzbsm); | ||
| 114 | window.lpbContent = this; | ||
| 115 | }, | ||
| 116 | methods: { | ||
| 117 | /** | ||
| 118 | * @description: 获取当前楼盘表选中户信息 | ||
| 119 | * @param {Array} bsmList | ||
| 120 | * @author: renchao | ||
| 121 | */ | ||
| 122 | getBsmList (bsmList, compFlag) { | ||
| 123 | // 根据本次传入的组件标识删除之前对应组件标识存入hbsmList的数据 | ||
| 124 | this.bsmList = this.bsmList.filter((i) => i.flag != compFlag) | ||
| 125 | // 合并本次数据 | ||
| 126 | this.bsmList = this.bsmList.concat([...new Map(bsmList.map(item => [item.bdcdyh, item])).values()]); | ||
| 127 | // }) | ||
| 128 | }, | ||
| 129 | /** | ||
| 130 | * @description: 保存当前楼盘表 | ||
| 131 | * @author: renchao | ||
| 132 | */ | ||
| 133 | saveLpb () { | ||
| 134 | if (this.bsmList.length == 0) { | ||
| 135 | this.$message.error("请至少选择一条数据"); | ||
| 136 | return; | ||
| 137 | } | ||
| 138 | this.loading = true; | ||
| 139 | store.dispatch('user/reMenuRefresh', false) | ||
| 140 | againAddSldy({ | ||
| 141 | bsmSqyw: this.sqywInfo.bsmSqyw, | ||
| 142 | bsmSlsq: this.sqywInfo.bsmSlsq, | ||
| 143 | bdcdysz: this.bsmList, | ||
| 144 | sjlx: "houses" | ||
| 145 | }).then((res) => { | ||
| 146 | this.loading = false | ||
| 195 | if (res.code == 200) { | 147 | if (res.code == 200) { |
| 196 | this.$message({ | 148 | this.$message({ |
| 197 | showClose: true, | 149 | showClose: true, |
| 198 | message: "添加成功", | 150 | message: '添加成功', |
| 199 | type: "success", | 151 | type: 'success' |
| 200 | }); | 152 | }) |
| 153 | store.dispatch('user/reMenuRefresh', true) | ||
| 201 | if (!this.isJump) { | 154 | if (!this.isJump) { |
| 202 | this.jump(res.result, this.sqywInfo.djywbm); | 155 | this.jump(res.result, this.sqywInfo.djywbm) |
| 203 | } | 156 | } |
| 204 | store.dispatch("user/refreshPage", true); | ||
| 205 | //this.close(); | ||
| 206 | this.$popupCacel(); | 157 | this.$popupCacel(); |
| 207 | } else { | 158 | } else { |
| 208 | if (res.result && res.result.length > 0) { | 159 | if (res.result && res.result.length > 0) { |
| 209 | this.$popup("申请错误明细", "components/ywdialog", { | 160 | this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } }) |
| 210 | width: "36%", | ||
| 211 | formData: { result: res.result }, | ||
| 212 | }); | ||
| 213 | } else { | 161 | } else { |
| 214 | if (res.result && res.result.length > 0) { | 162 | this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } }) |
| 215 | this.$popup("申请错误明细", "components/ywdialog", { | ||
| 216 | width: "36%", | ||
| 217 | formData: { result: res.result }, | ||
| 218 | }); | ||
| 219 | } else { | ||
| 220 | this.$popup("申请错误明细", "components/ywdialog", { | ||
| 221 | width: "36%", | ||
| 222 | formData: { message: res.message }, | ||
| 223 | }); | ||
| 224 | } | ||
| 225 | } | 163 | } |
| 226 | } | 164 | } |
| 165 | }).catch(() => { | ||
| 166 | this.loading = false | ||
| 227 | }) | 167 | }) |
| 228 | .catch(() => { | 168 | // todo 调用保存接口 传入参数待定 |
| 229 | this.loading = false; | 169 | //console.log(this.bsmList,'this.bsmList'); |
| 230 | }); | 170 | // 保存成功后关闭弹框 |
| 231 | // todo 调用保存接口 传入参数待定 | 171 | //this.$popupCacel() |
| 232 | //console.log(this.bsmList,'this.bsmList'); | 172 | }, |
| 233 | // 保存成功后关闭弹框 | 173 | // 改变户选中状态 |
| 234 | //this.$popupCacel() | 174 | /** |
| 235 | }, | 175 | * @description: 改变户选中状态 |
| 236 | // 改变户选中状态 | 176 | * @param {*} bsms |
| 237 | /** | 177 | * @param {*} color |
| 238 | * @description: 改变户选中状态 | 178 | * @author: renchao |
| 239 | * @param {*} bsms | 179 | */ |
| 240 | * @param {*} color | 180 | changeChoosed (bsms, color) { |
| 241 | * @author: renchao | 181 | this.changeChoosedObj.bsms = bsms; |
| 242 | */ | 182 | this.changeChoosedObj.color = color; |
| 243 | changeChoosed(bsms, color) { | 183 | }, |
| 244 | this.changeChoosedObj.bsms = bsms; | 184 | /** |
| 245 | this.changeChoosedObj.color = color; | 185 | * @description: clearChangeChoosedObj |
| 246 | }, | 186 | * @author: renchao |
| 247 | /** | 187 | */ |
| 248 | * @description: clearChangeChoosedObj | 188 | clearChangeChoosedObj () { |
| 249 | * @author: renchao | 189 | this.changeChoosedObj.bsms = []; |
| 250 | */ | 190 | }, |
| 251 | clearChangeChoosedObj() { | 191 | //全选户 |
| 252 | this.changeChoosedObj.bsms = []; | 192 | /** |
| 253 | }, | 193 | * @description: 全选户 |
| 254 | //全选户 | 194 | * @param {*} val |
| 255 | /** | 195 | * @author: renchao |
| 256 | * @description: 全选户 | 196 | */ |
| 257 | * @param {*} val | 197 | zdySelectAll (val) { |
| 258 | * @author: renchao | 198 | this.selectAllObj.selectAll = val; |
| 259 | */ | 199 | }, |
| 260 | zdySelectAll(val) { | 200 | //获取楼盘表数据 |
| 261 | this.selectAllObj.selectAll = val; | 201 | /** |
| 262 | }, | 202 | * @description: 获取楼盘表数据 |
| 263 | //获取楼盘表数据 | 203 | * @param {*} zrzbsm |
| 264 | /** | 204 | * @param {*} scyclx |
| 265 | * @description: 获取楼盘表数据 | 205 | * @param {*} actual |
| 266 | * @param {*} zrzbsm | 206 | * @author: renchao |
| 267 | * @param {*} scyclx | 207 | */ |
| 268 | * @param {*} actual | 208 | getLpb (zrzbsm, scyclx, actual) { |
| 269 | * @author: renchao | ||
| 270 | */ | ||
| 271 | getLpb(zrzbsm, scyclx, actual) { | ||
| 272 | if (!zrzbsm) { | ||
| 273 | this.$message({ | ||
| 274 | message: "暂无楼盘表", | ||
| 275 | type: "warning", | ||
| 276 | }); | ||
| 277 | } else { | ||
| 278 | getLpb(zrzbsm, scyclx).then((res) => { | 209 | getLpb(zrzbsm, scyclx).then((res) => { |
| 279 | if (res.code == 200) { | 210 | if (res.code == 200) { |
| 280 | if (scyclx) { | 211 | if (scyclx) { |
| 281 | if (res.result.syclx == "1") { | 212 | if (res.result.syclx == "1") { |
| 282 | res.result.lpb.ljzs = res.result.lpb.ljzs.sort( | 213 | res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place")); |
| 283 | this.compare("place") | 214 | this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb; |
| 284 | ); | ||
| 285 | this.lpbData = | ||
| 286 | res.result.lpb == null ? this.lpbData : res.result.lpb; | ||
| 287 | } | 215 | } |
| 288 | } else { | 216 | } else { |
| 289 | this.$message({ | 217 | res.result.lpb.ljzs = res.result.lpb.ljzs.sort(this.compare("place")); |
| 290 | message: res.message, | 218 | this.lpbData = res.result.lpb == null ? this.lpbData : res.result.lpb; |
| 291 | type: "warning", | ||
| 292 | }); | ||
| 293 | } | 219 | } |
| 294 | } else { | 220 | } else { |
| 295 | this.$message({ | 221 | this.$message({ |
| ... | @@ -298,194 +224,185 @@ export default { | ... | @@ -298,194 +224,185 @@ export default { |
| 298 | }); | 224 | }); |
| 299 | } | 225 | } |
| 300 | }); | 226 | }); |
| 301 | } | 227 | }, |
| 302 | }, | 228 | //户右键点击事件 |
| 303 | //户右键点击事件 | 229 | /** |
| 304 | /** | 230 | * @description: 户右键点击事件 |
| 305 | * @description: 户右键点击事件 | 231 | * @param {*} e |
| 306 | * @param {*} e | 232 | * @param {*} item |
| 307 | * @param {*} item | 233 | * @param {*} type |
| 308 | * @param {*} type | 234 | * @author: renchao |
| 309 | * @author: renchao | 235 | */ |
| 310 | */ | 236 | openMenu (e, item, type) { |
| 311 | openMenu(e, item, type) { | 237 | this.lpbChLeft = e.pageX - 96; |
| 312 | this.lpbChLeft = e.pageX - 96; | 238 | this.lpbChTop = e.pageY - 23; |
| 313 | this.lpbChTop = e.pageY - 23; | 239 | // this.lpbChVisible = true; |
| 314 | // this.lpbChVisible = true; | 240 | }, |
| 315 | }, | 241 | //关闭户右键菜单 |
| 316 | //关闭户右键菜单 | 242 | /** |
| 317 | /** | 243 | * @description: 关闭户右键菜单 |
| 318 | * @description: 关闭户右键菜单 | 244 | * @author: renchao |
| 319 | * @author: renchao | 245 | */ |
| 320 | */ | 246 | closeMenu () { |
| 321 | closeMenu() { | 247 | this.lpbChVisible = false; |
| 322 | this.lpbChVisible = false; | 248 | }, |
| 323 | }, | 249 | //右键菜单点击 |
| 324 | //右键菜单点击 | 250 | /** |
| 325 | /** | 251 | * @description: 右键菜单点击 |
| 326 | * @description: 右键菜单点击 | 252 | * @author: renchao |
| 327 | * @author: renchao | 253 | */ |
| 328 | */ | 254 | menuClick () { |
| 329 | menuClick() { | 255 | this.closeMenu(); |
| 330 | this.closeMenu(); | 256 | }, |
| 331 | }, | 257 | /** |
| 332 | /** | 258 | * @description: compare |
| 333 | * @description: compare | 259 | * @param {*} property |
| 334 | * @param {*} property | 260 | * @author: renchao |
| 335 | * @author: renchao | 261 | */ |
| 336 | */ | 262 | compare (property) { |
| 337 | compare(property) { | 263 | return function (a, b) { |
| 338 | return function (a, b) { | 264 | var value1 = a[property]; |
| 339 | var value1 = a[property]; | 265 | var value2 = b[property]; |
| 340 | var value2 = b[property]; | 266 | return value1 - value2; |
| 341 | return value1 - value2; | 267 | }; |
| 342 | }; | 268 | }, |
| 343 | }, | 269 | /** |
| 344 | /** | 270 | * @description: submitForm |
| 345 | * @description: submitForm | 271 | * @author: renchao |
| 346 | * @author: renchao | 272 | */ |
| 347 | */ | 273 | submitForm () { |
| 348 | submitForm() { | 274 | if (this.bsmList.length == 0) { |
| 349 | if (this.bsmList.length == 0) { | 275 | this.$message.error("请至少选择一条数据"); |
| 350 | this.$message.error("请至少选择一条数据"); | 276 | return; |
| 351 | return; | 277 | } |
| 352 | } | 278 | this.loading = true; |
| 353 | this.loading = true; | 279 | startBusinessFlow({ |
| 354 | startBusinessFlow({ | 280 | bsmSqyw: this.sqywInfo.bsmSqyw, |
| 355 | bsmSqyw: this.sqywInfo.bsmSqyw, | 281 | bdcdysz: this.bsmList, |
| 356 | bdcdysz: this.bsmList, | 282 | }).then((res) => { |
| 357 | }) | 283 | this.loading = false |
| 358 | .then((res) => { | ||
| 359 | this.loading = false; | ||
| 360 | if (res.code == 200) { | 284 | if (res.code == 200) { |
| 361 | this.$message({ | 285 | this.$message({ |
| 362 | showClose: true, | 286 | showClose: true, |
| 363 | message: "发起申请成功", | 287 | message: '发起申请成功', |
| 364 | type: "success", | 288 | type: 'success' |
| 365 | }); | 289 | }) |
| 366 | if (!this.isJump) { | 290 | if (!this.isJump) { |
| 367 | this.jump(res.result, this.sqywInfo.djywbm); | 291 | this.jump(res.result, this.sqywInfo.djywbm) |
| 368 | } else { | 292 | } else { |
| 369 | store.dispatch("user/refreshPage", true); | 293 | store.dispatch('user/refreshPage', true); |
| 370 | } | 294 | } |
| 371 | this.close(); | 295 | this.close() |
| 372 | } else { | 296 | } else { |
| 373 | if (res.result && res.result.length > 0) { | 297 | if (res.result && res.result.length > 0) { |
| 374 | this.$popup("申请错误明细", "components/ywdialog", { | 298 | this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { result: res.result } }) |
| 375 | width: "36%", | ||
| 376 | formData: { result: res.result }, | ||
| 377 | }); | ||
| 378 | } else { | 299 | } else { |
| 379 | this.$popup("申请错误明细", "components/ywdialog", { | 300 | this.$popup("申请错误明细", "components/ywdialog", { width: '36%', formData: { message: res.message } }) |
| 380 | width: "36%", | ||
| 381 | formData: { message: res.message }, | ||
| 382 | }); | ||
| 383 | } | 301 | } |
| 384 | } | 302 | } |
| 303 | }).catch(() => { | ||
| 304 | this.loading = false | ||
| 385 | }) | 305 | }) |
| 386 | .catch(() => { | 306 | }, |
| 387 | this.loading = false; | 307 | /** |
| 388 | }); | 308 | * @description: close |
| 389 | }, | 309 | * @param {*} val |
| 390 | /** | 310 | * @author: renchao |
| 391 | * @description: close | 311 | */ |
| 392 | * @param {*} val | 312 | close () { |
| 393 | * @author: renchao | 313 | ywPopupCacel() |
| 394 | */ | 314 | }, |
| 395 | close() { | ||
| 396 | ywPopupCacel(); | ||
| 397 | }, | 315 | }, |
| 398 | }, | 316 | computed: { |
| 399 | computed: { | 317 | lpbContentHeight () { |
| 400 | lpbContentHeight() { | 318 | return this.onlyShow ? 32 : 76 |
| 401 | return this.onlyShow ? 32 : 76; | 319 | // return 76 |
| 402 | // return 76 | 320 | } |
| 403 | }, | 321 | }, |
| 404 | }, | 322 | watch: { |
| 405 | watch: { | 323 | //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单 |
| 406 | //户右键菜单显示时,监听到鼠标点击时关闭户右键菜单 | 324 | lpbChVisible (value) { |
| 407 | lpbChVisible(value) { | 325 | if (value) { |
| 408 | if (value) { | 326 | document.body.addEventListener("click", this.closeMenu); |
| 409 | document.body.addEventListener("click", this.closeMenu); | 327 | } else { |
| 410 | } else { | 328 | document.body.removeEventListener("click", this.closeMenu); |
| 411 | document.body.removeEventListener("click", this.closeMenu); | 329 | } |
| 412 | } | 330 | } |
| 413 | }, | 331 | }, |
| 414 | }, | 332 | }; |
| 415 | }; | ||
| 416 | </script> | 333 | </script> |
| 417 | <style scoped lang="scss"> | 334 | <style scoped lang="scss"> |
| 418 | .lpbContent-wrap { | 335 | .lpbContent-wrap { |
| 419 | width: 100%; | ||
| 420 | height: 100%; | ||
| 421 | overflow: hidden; | ||
| 422 | .lpbContent { | ||
| 423 | width: 100%; | 336 | width: 100%; |
| 424 | position: relative; | 337 | height: 100%; |
| 425 | overflow: scroll; | 338 | overflow: hidden; |
| 426 | -webkit-user-select: none; | 339 | .lpbContent { |
| 427 | -moz-user-select: none; | 340 | width: 100%; |
| 428 | -ms-user-select: none; | 341 | position: relative; |
| 429 | user-select: none; | 342 | overflow: scroll; |
| 430 | display: flex; | 343 | -webkit-user-select: none; |
| 431 | flex-direction: column-reverse; | 344 | -moz-user-select: none; |
| 432 | box-sizing: border-box; | 345 | -ms-user-select: none; |
| 433 | padding-top: 20px; | 346 | user-select: none; |
| 434 | .ch-zdy-wrap { | ||
| 435 | display: flex; | 347 | display: flex; |
| 436 | flex-direction: row; | 348 | flex-direction: column-reverse; |
| 349 | box-sizing: border-box; | ||
| 350 | padding-top: 20px; | ||
| 351 | .ch-zdy-wrap { | ||
| 352 | display: flex; | ||
| 353 | flex-direction: row; | ||
| 354 | } | ||
| 437 | } | 355 | } |
| 438 | } | 356 | .lpb-xmmc { |
| 439 | .lpb-xmmc { | 357 | border: 0; |
| 440 | border: 0; | 358 | border-top: 1px solid #e6e6e6; |
| 441 | border-top: 1px solid #e6e6e6; | 359 | } |
| 442 | } | 360 | .save-btn { |
| 443 | .save-btn { | 361 | display: block; |
| 444 | display: block; | 362 | margin: 5px auto; |
| 445 | margin: 5px auto; | 363 | } |
| 446 | } | 364 | // 自定义右键菜单样式 |
| 447 | // 自定义右键菜单样式 | 365 | .contextmenu { |
| 448 | .contextmenu { | ||
| 449 | margin: 0; | ||
| 450 | background: #fff; | ||
| 451 | width: 92px; | ||
| 452 | z-index: 3000; | ||
| 453 | position: fixed; | ||
| 454 | list-style-type: none; | ||
| 455 | padding: 5px 0; | ||
| 456 | border-radius: 4px; | ||
| 457 | font-size: 12px; | ||
| 458 | font-weight: 400; | ||
| 459 | color: #333; | ||
| 460 | box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3); | ||
| 461 | li { | ||
| 462 | margin: 0; | 366 | margin: 0; |
| 463 | padding: 7px 16px; | 367 | background: #fff; |
| 464 | cursor: pointer; | 368 | width: 92px; |
| 465 | position: relative; | 369 | z-index: 3000; |
| 466 | .childUl { | 370 | position: fixed; |
| 467 | display: none; | 371 | list-style-type: none; |
| 468 | position: absolute; | 372 | padding: 5px 0; |
| 469 | left: 92px !important; | 373 | border-radius: 4px; |
| 470 | top: 0 !important; | 374 | font-size: 12px; |
| 471 | li { | 375 | font-weight: 400; |
| 472 | width: 76px; | 376 | color: #333; |
| 377 | box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3); | ||
| 378 | li { | ||
| 379 | margin: 0; | ||
| 380 | padding: 7px 16px; | ||
| 381 | cursor: pointer; | ||
| 382 | position: relative; | ||
| 383 | .childUl { | ||
| 384 | display: none; | ||
| 385 | position: absolute; | ||
| 386 | left: 92px !important; | ||
| 387 | top: 0 !important; | ||
| 388 | li { | ||
| 389 | width: 76px; | ||
| 390 | } | ||
| 473 | } | 391 | } |
| 474 | } | 392 | } |
| 475 | } | 393 | li:hover { |
| 476 | li:hover { | 394 | background: #eee; |
| 477 | background: #eee; | 395 | > .childUl { |
| 478 | > .childUl { | 396 | display: block; |
| 479 | display: block; | 397 | } |
| 398 | } | ||
| 399 | .noEdit { | ||
| 400 | color: #e6e6e6; | ||
| 401 | cursor: not-allowed; | ||
| 402 | } | ||
| 403 | .noEdit:hover { | ||
| 404 | background: #ffffff; | ||
| 480 | } | 405 | } |
| 481 | } | ||
| 482 | .noEdit { | ||
| 483 | color: #e6e6e6; | ||
| 484 | cursor: not-allowed; | ||
| 485 | } | ||
| 486 | .noEdit:hover { | ||
| 487 | background: #ffffff; | ||
| 488 | } | 406 | } |
| 489 | } | 407 | } |
| 490 | } | ||
| 491 | </style> | 408 | </style> | ... | ... |
-
Please register or sign in to post a comment