| | |
| | | <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane> |
| | | <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane> |
| | | </el-tabs> |
| | | <div v-if="activeName != 'first'"> |
| | | <div v-for="(item, index) in questionBankData" :key="index"> |
| | | <div> |
| | | <div class="answer"> |
| | | <div class="topic-item" v-for="(item, index) in questionBankData" :key="index"> |
| | | <div class="topic-title"> |
| | | {{ index + 1 }} .{{ item.subjectName }} |
| | | </div> |
| | | |
| | | <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 class="topic-options" v-if="item.choicesType == 0"> |
| | | <el-radio-group v-model="item.chooseId"> |
| | | <el-radio :label="item1.optionName" v-for="(item1, index1) in item.subjectOptionList" |
| | | :key="index1"></el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | |
| | | <div v-if="item.choicesType == 3"> |
| | | |
| | | <div class="topic-options" 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" |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style lang="scss" scoped> |
| | | :deep(.answer) { |
| | | .topic-item { |
| | | margin-bottom: 20px; |
| | | |
| | | .topic-title { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .topic-options { |
| | | .el-radio { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <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> |
| | | <!-- <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"> --> |
| | | <!-- <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 v-if="item.choicesType == 0"> |
| | | <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> |
| | | <el-radio v-model="item.chooseId" :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> |
| | | |
| | | </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 slot="footer" class="dialog-footer"> |
| | | <el-button @click="infoVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="submit">提 交</el-button> |
| | | </div> |
| | | |
| | | <!-- </div> --> |
| | | </div> |
| | | |
| | | </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> |
| | | |
| | | </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", |
| | | 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", |
| | | },], |
| | | }, |
| | | }, |
| | | hide: true, |
| | | minRows: 6, |
| | | span: 24, |
| | | { |
| | | 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() |
| | | }, |
| | | |
| | | submit() { |
| | | console.log("============>", this.questionBankData) |
| | | save(this.questionBankData).then( |
| | | () => { |
| | | // this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | 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 |
| | | }) |
| | | }) |
| | | 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() |
| | | } |
| | | ) |
| | | }, |
| | | init (row) { |
| | | this.infoVisible = true |
| | | let param = { |
| | | subclassName: '基础信息' |
| | | } |
| | | this.property = row |
| | | 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: '基础信息' |
| | | 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) |
| | | } |
| | | 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></style> |