From 95448b340895b846a0076d4c99a5e27d6be46aab Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Mon, 26 Feb 2024 14:18:26 +0800
Subject: [PATCH] 物业bug修复
---
src/views/property/components/propertyEdit.vue | 591 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 312 insertions(+), 279 deletions(-)
diff --git a/src/views/property/components/propertyEdit.vue b/src/views/property/components/propertyEdit.vue
index cdd9f0e..2ea7080 100644
--- a/src/views/property/components/propertyEdit.vue
+++ b/src/views/property/components/propertyEdit.vue
@@ -1,312 +1,345 @@
<template>
- <el-dialog title="" append-to-body :visible.sync="infoVisible" top="10vh" width="70%" :before-close="handleClose">
- <el-tabs v-model="activeName" @tab-click="handleClick">
- <!-- <el-tab-pane label="物业信息" name="first"></el-tab-pane> -->
- <el-tab-pane label="基础信息" name="info1"></el-tab-pane>
- <el-tab-pane label="经营信息" name="info2"></el-tab-pane>
- <el-tab-pane label="纳税信息" name="info3"></el-tab-pane>
- <el-tab-pane label="党建信息" name="info4"></el-tab-pane>
- <el-tab-pane label="街道社区" name="info8"></el-tab-pane>
- <el-tab-pane label="企业良好行为" name="info5"></el-tab-pane>
- <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane>
- <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane>
+ <el-dialog title="" append-to-body :visible.sync="infoVisible" top="10vh" width="70%" :before-close="handleClose">
+ <el-tabs v-model="activeName" @tab-click="handleClick">
+ <!-- <el-tab-pane label="物业信息" name="first"></el-tab-pane> -->
+ <!-- <el-tab-pane label="基础信息" name="info1"></el-tab-pane> -->
+ <!-- <el-tab-pane label="经营信息" name="info2"></el-tab-pane> -->
+ <!-- <el-tab-pane label="纳税信息" name="info3"></el-tab-pane> -->
+ <!-- <el-tab-pane label="党建信息" name="info4"></el-tab-pane> -->
+ <el-tab-pane label="街道社区" name="info8"></el-tab-pane>
+ <!-- <el-tab-pane label="企业良好行为" name="info5"></el-tab-pane> -->
+ <!-- <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane> -->
+ <!-- <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane> -->
- </el-tabs>
+ </el-tabs>
- <!-- <avue-form :option="option" v-model="first" v-if="activeName == 'first'" @submit="rowSave"></avue-form> -->
+ <!-- <avue-form :option="option" v-model="first" v-if="activeName == 'first'" @submit="rowSave"></avue-form> -->
- <!-- <avue-form :option="option" v-model="second" v-if="activeName == 'second'"></avue-form> -->
- <div v-if="activeName != 'first'">
- <div v-for="(item, index) in questionBankData" :key="index">
- <div>
- {{ index + 1 }} .{{ item.subjectName }}
- </div>
- <!-- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> -->
- <!-- <div>
- {{ item1.optionName }}
- </div> -->
- <!-- <el-radio-group v-model="item.ids" v-if="item.choicesType == 0"> -->
-
- <div v-if="item.choicesType == 0">
- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
- <el-radio v-model="item1.ids" :label="item1.id">{{ item1.optionName }}</el-radio>
- </div>
- </div>
-
- <!-- </el-radio-group> -->
-
- <div v-if="item.choicesType == 3">
-
- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1" style="display: flex;">
- <div>{{ item1.optionName }}:</div>
- <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25"
- :label="item1.optionName"></el-input-number>
- </div>
-
- <!-- <el-input v-model="item1.numbers" type="number" :placeholder="item1.optionName"></el-input> -->
- </div>
-
- <!-- </div> -->
- </div>
-
+ <!-- <avue-form :option="option" v-model="second" v-if="activeName == 'second'"></avue-form> -->
+ <div class="answer" v-show="activeName != 'info0'">
+ <div class="topic-item" v-for="(item, index) in questionBankData" :key="index">
+ <div class="topic-title">
+ {{ index + 1 }} .{{ item.subjectName }}
</div>
- <div slot="footer" class="dialog-footer">
- <el-button @click="infoVisible = false">取 消</el-button>
- <el-button type="primary" @click="submit">提 交</el-button>
+ <div class="topic-options" v-if="item.choicesType == 0">
+ <el-radio-group v-model="item.chooseId" @input="inputs()">
+ <el-radio :label="item1.id" v-for="(item1, index1) in item.subjectOptionList" :key="index1">{{
+ item1.optionName }}</el-radio>
+ </el-radio-group>
</div>
+ <div class="topic-options" v-if="item.choicesType == 3">
+ <div class="input-num-item" v-for="(item1, index1) in item.subjectOptionList" :key="index1">
+ <div class="num-name">{{ item1.optionName }}:</div>
+ <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25"
+ :label="item1.optionName"></el-input-number>
+ </div>
+ </div>
+ </div>
- </el-dialog>
+ </div>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="infoVisible = false">取 消</el-button>
+ <el-button type="primary" @click="submit">提 交</el-button>
+ </div>
+
+
+ </el-dialog>
</template>
<script>
-import {
+ import {
getList,
remove
-} from "@/api/subjectChoices/subjectChoices"
+ } from "@/api/subjectChoices/subjectChoices"
-import {
+ import {
save
-} from "@/api/answerRecord/answerRecord"
-import {
+ } from "@/api/answerRecord/answerRecord"
+ import {
add
-} from "@/api/property/propertyCompany"
-import {
+ } from "@/api/property/propertyCompany"
+ import {
mapGetters
-} from "vuex"
-export default {
- data () {
- return {
- property: {},
- activeName: 'info1',
- infoVisible: false,
- page: {
- pageSize: 20,
- currentPage: 1,
- },
- questionBankData: [],
- query: {},
- option: {
- labelWidth: 120,
- searchLabelWidth: 96,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 280,
+ } from "vuex"
+ export default {
+ data() {
+ return {
+ property: {},
+ activeName: 'info1',
+ infoVisible: false,
+ page: {
+ pageSize: 20,
+ currentPage: 1,
+ },
+ questionBankData: [],
+ query: {},
+ option: {
+ labelWidth: 120,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 280,
- height: "auto",
- calcHeight: 54,
- dialogWidth: 1150,
- tip: false,
- border: true,
- //stripe:true,
- index: true,
- viewBtn: true,
- selection: true,
- dialogClickModal: false,
- column: [{
- overHidden: true,
- label: "物业公司名称",
- prop: "name",
- searchSpan: 5,
- searchLabelWidth: 124,
- search: true,
- span: 18,
- row: true,
- width: 260,
- rules: [{
- required: true,
- message: "请输入物业公司名称",
- trigger: "blur",
- },],
- },
- {
- label: '省份',
- prop: 'province',
- type: 'select',
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- span: 6,
- cascader: ['city'],
- dicUrl: `/api/blade-system/region/select`,
- rules: [{
- required: true,
- message: '请选择省份',
- trigger: 'blur'
- }]
- },
- {
- label: '城市',
- prop: 'city',
- type: 'select',
- span: 6,
- labelWidth: 60,
- cascader: ['area'],
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择城市',
- trigger: 'blur'
- }]
- },
- {
- label: '地区',
- prop: 'area',
- type: 'select',
- span: 6,
- labelWidth: 60,
- props: {
- label: 'name',
- value: 'code'
- },
- hide: true,
- dicUrl: `/api/blade-system/region/select?code={{key}}`,
- rules: [{
- required: true,
- message: '请选择地区',
- trigger: 'blur'
- }]
- },
- {
- overHidden: true,
- label: "地址",
- prop: "address",
- span: 18,
- row: true,
- },
- {
- label: "社会信用代码",
- prop: "socialCreditCode",
- },
-
- {
- label: "简介",
- prop: "remark",
- component: "AvueUeditor",
- options: {
- action: "/api/blade-resource/oss/endpoint/put-file-attach",
- props: {
- res: "data",
- url: "link",
- },
- },
- hide: true,
- minRows: 6,
- span: 24,
- },
- ],
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 1150,
+ tip: false,
+ border: true,
+ //stripe:true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ dialogClickModal: false,
+ column: [{
+ overHidden: true,
+ label: "物业公司名称",
+ prop: "name",
+ searchSpan: 5,
+ searchLabelWidth: 124,
+ search: true,
+ span: 18,
+ row: true,
+ width: 260,
+ rules: [{
+ required: true,
+ message: "请输入物业公司名称",
+ trigger: "blur",
+ }, ],
},
- }
+ {
+ label: '省份',
+ prop: 'province',
+ type: 'select',
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ span: 6,
+ cascader: ['city'],
+ dicUrl: `/api/blade-system/region/select`,
+ rules: [{
+ required: true,
+ message: '请选择省份',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '城市',
+ prop: 'city',
+ type: 'select',
+ span: 6,
+ labelWidth: 60,
+ cascader: ['area'],
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择城市',
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '地区',
+ prop: 'area',
+ type: 'select',
+ span: 6,
+ labelWidth: 60,
+ props: {
+ label: 'name',
+ value: 'code'
+ },
+ hide: true,
+ dicUrl: `/api/blade-system/region/select?code={{key}}`,
+ rules: [{
+ required: true,
+ message: '请选择地区',
+ trigger: 'blur'
+ }]
+ },
+ {
+ overHidden: true,
+ label: "地址",
+ prop: "address",
+ span: 18,
+ row: true,
+ },
+ {
+ label: "社会信用代码",
+ prop: "socialCreditCode",
+ },
+
+ {
+ label: "简介",
+ prop: "remark",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
+ },
+ }
},
computed: {
- ...mapGetters(["permission", "userInfo"]),
+ ...mapGetters(["permission", "userInfo"]),
},
methods: {
- handleClose () {
- this.infoVisible = false
- // this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
- },
+ handleClose() {
+ this.infoVisible = false
+ // this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+ },
+ inputs(label) {
+ console.table(label)
+ },
- submit () {
- console.log("============>", this.questionBankData)
- save(this.questionBankData).then(
- () => {
- // this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
- handleChange (value) {
- console.log(value)
- },
-
- rowSave (form, done) {
- console.log('==========>', JSON.stringify(form))
- form.userid = this.userInfo.user_id
- add(form).then(
- () => {
- // this.onLoad(this.page)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
- },
- (error) => {
- window.console.log(error)
- loading()
- }
- )
- },
-
- questionBankOnLoad (page, params = {}) {
- // params = {}
- // this.questionBankLoading = false;
- getList(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then(res => {
- const data = res.data.data
- this.page.total = data.total
- this.questionBankData = data.records
- this.questionBankData.forEach(item => {
- item.propertyId = this.property.id
- })
+ submit() {
+ let isChoose = false
+ this.questionBankData.forEach(item => {
+ if (item.chooseId) {
+ isChoose = true
+ }
+ })
+ if (isChoose == false) return
+ save(this.questionBankData).then(
+ () => {
+ // this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
})
- },
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ handleChange(value) {
+ console.log(value)
+ },
- init (row) {
- this.infoVisible = true
- let param = {
- subclassName: '基础信息'
- }
- this.property = row
- this.questionBankOnLoad(this.page, param)
- },
+ rowSave(form, done) {
+ console.log('==========>', JSON.stringify(form))
+ form.userid = this.userInfo.user_id
+ add(form).then(
+ () => {
+ // this.onLoad(this.page)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
- handleClick (tab, event) {
- // this.$confirm("确定将选择数据删除?", {
- // confirmButtonText: "确定",
- // cancelButtonText: "取消",
- // type: "warning",
- // })
- // .then(() => {
- // return remove(row.id)
- // })
- // .then(() => {
- // this.onLoad(this.page)
- // this.$message({
- // type: "success",
- // message: "操作成功!",
- // })
- // })
- // console.log(tab, event);
- console.log('============>', JSON.stringify(this.questionBankData))
- let param = {
- subclassName: tab.label
- }
- this.questionBankOnLoad(this.page, param)
+ questionBankOnLoad(page, params = {}) {
+ // params = {}
+ // this.questionBankLoading = false;
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then(res => {
+ const data = res.data.data
+ this.page.total = data.total
+ this.questionBankData = data.records
+ this.questionBankData.forEach(item => {
+ item.propertyId = this.property.id
+ })
+ })
+ },
+
+ init(row) {
+ this.infoVisible = true
+ let param = {
+ subclassName: '街道社区',
+ propertyId: row.id
}
+ this.property = row
+ this.questionBankOnLoad(this.page, param)
+ },
+
+ handleClick(tab, event) {
+ // this.$confirm("确定将选择数据删除?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning",
+ // })
+ // .then(() => {
+ // return remove(row.id)
+ // })
+ // .then(() => {
+ // this.onLoad(this.page)
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // })
+ // })
+ // console.log(tab, event);
+ console.log('============>', JSON.stringify(this.questionBankData))
+ let param = {
+ subclassName: tab.label
+ }
+ this.questionBankOnLoad(this.page, param)
+ }
}
-}
+ }
</script>
-<style></style>
+<style lang="scss" scoped>
+ :deep(.answer) {
+ height: calc(100% - 60px);
+ overflow-y: scroll;
+
+ .topic-item {
+ margin-bottom: 20px;
+
+ .topic-title {
+ margin-bottom: 10px;
+ font-size: 14px;
+ }
+
+ .topic-options {
+ display: flex;
+
+ .el-radio {
+ margin-bottom: 10px;
+ }
+
+ .input-num-item {
+ display: flex;
+ margin-right: 20px;
+
+ .num-name {
+ display: flex;
+ align-items: center;
+ margin-right: 6px;
+ font-size: 14px;
+ }
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3