Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
| | |
| | | # VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface' |
| | | |
| | | # 任康 |
| | | VUE_APP_API_URL = 'http://192.168.0.137:10010/' |
| | | # VUE_APP_API_URL = 'http://192.168.0.137:10010/' |
| | | |
| | | # èå§ |
| | | # VUE_APP_API_URL = 'http://192.168.0.108:10010/' |
| | | |
| | | # æµè¯æå¡ |
| | | # VUE_APP_API_URL = 'https://dmtest.ahapp.net/gateway_interface' |
| | | VUE_APP_API_URL = 'https://dmtest.ahapp.net/gateway_interface' |
| | |
| | | <el-tag type="info" v-if="info.status === 3">éç§ç»ç®ä¸</el-tag> |
| | | <el-tag type="info" v-if="info.status === 4">å·²éç§</el-tag> |
| | | </div> |
| | | <el-button plain type="danger" v-if="[0, 1, 2].includes(info.status)" @click="refund">éç§</el-button> |
| | | <div> |
| | | <el-button type="primary" @click="$refs.pendingBills.open('å¾
å¤çè´¦å')">æ¥çå¾
å¤çè´¦å</el-button> |
| | | <el-button @click="$refs.terminationAgreement.open('éç§åè®®')">æ¥çéç§åè®®</el-button> |
| | | <el-button plain type="danger" v-if="[0, 1, 2].includes(info.status)" @click="refund">éç§</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="remark" v-if="info">{{info.remark}}</div> |
| | | <div class="remark" v-if="info && info.status === 3">{{info.btRemark}}</div> |
| | |
| | | </div> |
| | | <!-- éç§ --> |
| | | <TerminateLease ref="terminateLease" @success="getData" /> |
| | | <!-- å¾
å¤çè´¦å --> |
| | | <PendingBills ref="pendingBills" /> |
| | | <!-- éç§åè®® --> |
| | | <TerminationAgreement ref="terminationAgreement" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import TerminateLease from './terminateLease' |
| | | import PendingBills from './pendingBills' |
| | | import TerminationAgreement from './terminationAgreement' |
| | | import { getById } from '@/api/contract' |
| | | import { fetchList } from '@/api/bill' |
| | | export default { |
| | | components: { |
| | | GlobalWindow, |
| | | TerminateLease |
| | | TerminateLease, |
| | | PendingBills, |
| | | TerminationAgreement |
| | | }, |
| | | extends: BaseOpera, |
| | | data() { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | width="100%" |
| | | :title="title" |
| | | :withFooter="false" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm"> |
| | | <div class="zd"> |
| | | <div class="zd_list"> |
| | | <div class="zd_list_row"> |
| | | <span>å¾
æ¶æ¬¾è´¦åæ°</span> |
| | | <span>2</span> |
| | | </div> |
| | | <div class="zd_list_row"> |
| | | <span>å¾
æ¶æ¬¾éé¢</span> |
| | | <span>ï¿¥247.00</span> |
| | | </div> |
| | | <div class="zd_list_row"> |
| | | <span>å¾
仿¬¾è´¦åæ°</span> |
| | | <span>3</span> |
| | | </div> |
| | | <div class="zd_list_row"> |
| | | <span>å¾
仿¬¾éé¢</span> |
| | | <span>ï¿¥247.00</span> |
| | | </div> |
| | | </div> |
| | | <div class="zd_content"> |
| | | <div class="zd_content_label"> |
| | | <span>è´¦å</span> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="è´¦åç¼å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="è´¹ç¨ç±»å"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="è®¡è´¹å¨æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åºæ¶ä»éé¢/åå§åºæ¶ä»"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="宿¶/ä»éé¢"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="éæ¶/ä»éé¢"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åºæ¶/仿¥æ"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | export default { |
| | | name: 'pendingBills', |
| | | components: { |
| | | GlobalWindow |
| | | }, |
| | | extends: BaseOpera, |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .zd { |
| | | width: 100%; |
| | | .zd_list { |
| | | width: 100%; |
| | | background: #f2f2f2; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-top: 20px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | border-radius: 10px; |
| | | .zd_list_row { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | span { |
| | | &:nth-child(1) { |
| | | font-size: 14px; |
| | | color: #333333; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 20px; |
| | | color: #333333; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .zd_content { |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | .zd_content_label { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-weight: 500; |
| | | font-size: 18px; |
| | | color: #2080f7; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :withFooter="false" |
| | | :confirm-working="isWorking" |
| | | @close="close" |
| | | @confirm="confirm"> |
| | | <div class="main"> |
| | | <div class="main_head"> |
| | | <span>ç§å®¢ï¼ä¹ä¹ç俱ä¹é¨</span> |
| | | <span>ååç¼å·ï¼ 2024-04-001-202405-0019</span> |
| | | </div> |
| | | <div class="title">éç§ä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="la">éç§ç±»å</div> |
| | | <div class="val">{{ info.code }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">éç§æ¥æ</div> |
| | | <div class="val">{{ info.userName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">ç»å人</div> |
| | | <div class="val">{{ info.creatorName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">åè®®ç¾è®¢æ¥æ</div> |
| | | <div class="val">{{ info.totalArea }}ã¡</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">éç§åå </div> |
| | | <div class="val">{{ info.companyName }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="title">æ¿æºä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <el-table :data="roomList" stripe> |
| | | <el-table-column prop="projectName" label="项ç®åç§°" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="楼å®åç§°" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="楼å±/æ¿å·" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="area" label="é¢ç§¯" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | export default { |
| | | name: "terminationAgreement", |
| | | components: { |
| | | GlobalWindow |
| | | }, |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | roomList: [], |
| | | info: {} |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '@/assets/style/variables.scss'; |
| | | |
| | | .main { |
| | | .main_head { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | padding: 0 0 30px 0; |
| | | box-sizing: border-box; |
| | | span { |
| | | font-size: 15px; |
| | | color: #333333; |
| | | font-weight: 700; |
| | | margin-bottom: 10px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 500; |
| | | font-size: 18px; |
| | | color: $primary-color; |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /*background: #F7F7F7;*/ |
| | | border-radius: 2px; |
| | | /*padding: 15px 20px;*/ |
| | | margin-bottom: 20px; |
| | | |
| | | .item { |
| | | width: 25%; |
| | | margin-bottom: 16px; |
| | | |
| | | .la { |
| | | color: #7f7f7f; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'collectionSettings' |
| | | } |
| | | </script> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | <el-form :model="form" label-position="top" ref="paramRef" :rules="rules"> |
| | | <el-form-item label="éç¥æ¹å¼" prop="title"> |
| | | <el-checkbox-group v-model="form.title"> |
| | | <el-checkbox label="ç¾é£/é¤å
çº¿ä¸æ´»å¨" name="1"></el-checkbox> |
| | | <el-checkbox label="å°æ¨æ´»å¨" name="2"></el-checkbox> |
| | | <el-checkbox label="线ä¸ä¸»é¢æ´»å¨" name="3"></el-checkbox> |
| | | <el-checkbox label="å纯åçæå
" name="4"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥æ¥æ¶äºº" prop="companyId"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 20px;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">å¼ ä¸</span> |
| | | <el-select v-model="form.companyId" placeholder="è¯·éæ©"> |
| | | <el-option label="åºåä¸" value="0"></el-option> |
| | | <el-option label="åºåäº" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div style="display: flex; align-items: center;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">XXXXå
¬å¸</span> |
| | | <el-select v-model="form.companyId" placeholder="è¯·éæ©"> |
| | | <el-option label="åºåä¸" value="0"></el-option> |
| | | <el-option label="åºåäº" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | export default { |
| | | name: "call", |
| | | components: { GlobalWindow }, |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | form: { |
| | | title: '1', |
| | | companyId: '0' |
| | | }, |
| | | rules: { |
| | | title: [{ required: true, message: '请è¾å
¥' }], |
| | | companyId: [{ required: true, message: 'è¯·éæ©' }], |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | <div class="df_sb mt20"> |
| | | <div class="tabs"> |
| | | <div class="tab" :class="{ active: billType === 0 }" @click="tabsClick(0)">é¾ææ¶æ¬¾è´¦å</div> |
| | | <div class="tab" :class="{ active: billType === 1 }" @click="tabsClick(1)">龿仿¬¾è´¦å</div> |
| | | </div> |
| | | <div class="btns"> |
| | | <el-button @click="$refs.call.open('æ¹éå¬ç¼´')">æ¹éå¬ç¼´</el-button> |
| | | </div> |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="customerName" label="客æ·åç§°" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column label="æ¿é´" min-width="170" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <div style="display: flex; flex-direction: column;" v-if="row.roomPathName"> |
| | | <span v-for="(item, index) in row.roomPathName.split(';')" :key="index">{{item}}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="contractCode" label="ååç¼å·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column label="ç»æ¸
ç¶æ" min-width="100" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.payStatus === 0">å¾
æ¶æ¬¾</span> |
| | | <span v-if="row.payStatus === 1">å·²ç»æ¸
</span> |
| | | <span v-if="row.payStatus === 2">é¨åç»æ¸
</span> |
| | | <span v-if="row.payStatus === 3">å¾
仿¬¾</span> |
| | | <span v-if="row.payStatus === 4">å¾
鿬¾</span> |
| | | <span v-if="row.payStatus === 5">å·²å
³é</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="totleFee" label="è´¦åéé¢" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="receivableFee" :label="`åº${billType === 0 ? 'æ¶' : 'ä»'}éé¢`" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="actReceivableFee" :label="`å®${billType === 0 ? 'æ¶' : 'ä»'}éé¢`" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column :label="`éæ¶/ä»éé¢`" min-width="100" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | {{Math.abs(row.needReceivableFee)}} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è´¹ç¨ç±»å" min-width="100" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.costType === 0">ç§èµè´¹</span> |
| | | <span v-if="row.costType === 1">ç©ä¸è´¹</span> |
| | | <span v-if="row.costType === 2">ç§èµæ¼é</span> |
| | | <span v-if="row.costType === 3">ç©ä¸æ¼é</span> |
| | | <span v-if="row.costType === 4">æ°´çµè´¹</span> |
| | | <span v-if="row.costType === 5">æé¡¹è´¹</span> |
| | | <span v-if="row.costType === 6">å
¶å®</span> |
| | | <span v-if="row.costType === 7">ä¿è¯é</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è®¡è´¹å¨æ" min-width="200" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | {{ row.startDate }} ~ {{ row.endDate }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="planPayDate" :label="`åº${billType === 0 ? 'æ¶' : 'ä»'}æ¥æ`" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column label="è´¦åæ¥æº" min-width="100" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type === 0">ååè´¦å</span> |
| | | <span v-if="row.type === 1">èªå»ºè´¦å</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="çä¿¡åéç¶æ" min-width="100" fixed="right" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status === 0">å¼å¯</span> |
| | | <span v-if="row.status === 1" style="color: red;">å
³é</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="é®ä»¶åéç¶æ" min-width="100" fixed="right" show-overflow-tooltip> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status === 0">å¼å¯</span> |
| | | <span v-if="row.status === 1" style="color: red;">å
³é</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="120" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="handleDetail(row)" icon="el-icon-edit" v-permissions="['business:category:update']">æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="mt20"> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | </div> |
| | | <Edit ref="EditRef" @success="getList" /> |
| | | <Detail ref="DetailRef" @success="getList" /> |
| | | <BullEditFu ref="BullEditFu" @success="getList" /> |
| | | <Call ref="call" @success="getList" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import Edit from './components/bullEdit.vue' |
| | | import BullEditFu from './components/bullEditFu.vue' |
| | | import Detail from './components/bullDetail.vue' |
| | | import Call from './components/call.vue' |
| | | import { fetchList } from '@/api/bill' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm, |
| | | Edit, |
| | | Detail, |
| | | BullEditFu, |
| | | Call |
| | | }, |
| | | data () { |
| | | return { |
| | | loading: false, |
| | | pagination: { |
| | | pageSize: 10, |
| | | page: 1, |
| | | total: 0 |
| | | }, |
| | | billType: 0, |
| | | filters: { |
| | | status: 0 |
| | | }, |
| | | list: [], |
| | | total: 0, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'customerName', |
| | | type: 'input', |
| | | label: '客æ·åç§°' |
| | | }, |
| | | { |
| | | filed: 'payStatus', |
| | | type: 'select', |
| | | label: 'ç»æ¸
ç¶æ', |
| | | options: [ |
| | | { value: 0, label: 'å¾
æ¶æ¬¾' }, |
| | | { value: 1, label: 'å·²ç»æ¸
' }, |
| | | { value: 2, label: 'é¨åç»æ¸
' }, |
| | | { value: 3, label: 'å¾
仿¬¾' }, |
| | | { value: 4, label: 'å¾
鿬¾' } |
| | | ] |
| | | }, |
| | | { |
| | | filed: 'selDate', |
| | | type: 'daterange', |
| | | label: 'åºæ¶/仿¥æ' |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | addOpen () { |
| | | if (this.billType === 0) { |
| | | this.$refs.EditRef.open('åå»ºæ¶æ¬¾è´¦å') |
| | | } else { |
| | | this.$refs.BullEditFu.open('åå»ºä»æ¬¾è´¦å') |
| | | } |
| | | }, |
| | | getList (page) { |
| | | const { pagination, filters } = this |
| | | let form = JSON.parse(JSON.stringify(filters)) |
| | | if (form && form.selDate && form.selDate.length > 0) { |
| | | form.planPayDateStart = form.payDate[0] |
| | | form.planPayDateEnd = form.payDate[1] |
| | | } |
| | | this.loading = true |
| | | fetchList({ |
| | | model: { |
| | | ...filters, |
| | | billType: this.billType |
| | | }, |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.list.forEach(item => { |
| | | item.statusName = item.status === 1 ? 'æå' : item.status === 2 ? 'æ¥åº' : 'æ£å¸¸' |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | tabsClick (val) { |
| | | this.billType = val |
| | | this.getList() |
| | | }, |
| | | handleDetail (row) { |
| | | this.$refs.DetailRef.open('è´¦å详æ
', row.id) |
| | | }, |
| | | clear () { |
| | | this.filters = {} |
| | | this.pagination.pageSize = 10 |
| | | this.pagination.page = 1 |
| | | this.getList() |
| | | }, |
| | | handleSizeChange (capacity) { |
| | | this.pagination.pageSize = capacity |
| | | this.getList() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '@/assets/style/variables.scss'; |
| | | |
| | | .tabs { |
| | | display: flex; |
| | | margin-bottom: 20px; |
| | | justify-content: center; |
| | | |
| | | .tab { |
| | | height: 58px; |
| | | line-height: 58px; |
| | | font-size: 16px; |
| | | color: #666666; |
| | | margin: 0 30px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .active { |
| | | font-weight: 500; |
| | | color: $primary-color; |
| | | border-bottom: 2px solid $primary-color; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | title="楼å®è¯¦æ
" |
| | | :showConfirm="false" |
| | | :visible.sync="visible" |
| | | width="800px"> |
| | | <div class="right"> |
| | | <div class="right_head">项ç®åç§°</div> |
| | | <div class="right_cate"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="æ¿æºä¿¡æ¯" name="houseinfo"> |
| | | <div class="xm"> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>æ¿æºä¿¡æ¯</span> |
| | | </div> |
| | | <div class="xm_info"> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æå±é¡¹ç®</span> |
| | | <span>XXXXXXXXXX</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å®</span> |
| | | <span>ç»¼åæ¥¼</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å±</span> |
| | | <span>1</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æ¿å·</span> |
| | | <span>101æ´»å¨å®¤</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>æ¿é´ç¼å·</span> |
| | | <span>101</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>æ¯å¦æå</span> |
| | | <span>å¦</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>建çé¢ç§¯</span> |
| | | <span>50ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>计ç§é¢ç§¯</span> |
| | | <span>50ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>计费é¢ç§¯</span> |
| | | <span>45ã¡</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="ç§å®¢åå" name="project"> |
| | | <div class="xm"> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>å½åå¨ç§åå</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="请è¾å
¥ååç¼å·"></el-input> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="ååç¼å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="客æ·åç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¼å§æ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç»ææ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµåä»·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµé¢ç§¯ï¼ã¡ï¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç¾è®¢æ¥"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å忥æº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ååç¶æ"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="å·¥åè®°å½" name="second"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div class="xm_one1"> |
| | | <div class="xm_one_row"> |
| | | <span>å¾
ææ´¾æ°é</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>å¾
å¤çæ°é</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>æ¬æå·¥åæ°</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>ç´¯è®¡å·¥åæ°</span> |
| | | <span>15</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <el-select v-model="value" style="width: 300px; margin-right: 15px;" placeholder="ä½ç½®ç±»å"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="value" style="width: 300px;" placeholder="å·¥ååç±»"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="å·¥ååç±»"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æ¥ä¿®åºå"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥äºº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¤ç人"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å·¥åç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设å¤ä¿¡æ¯" name="third"> |
| | | <div class="xm"> |
| | | <div class="xm_chat"> |
| | | <el-card class="xm_chat_row"> |
| | | <div id="chat1"></div> |
| | | </el-card> |
| | | <el-card class="xm_chat_row"> |
| | | <div id="chat2"></div> |
| | | </el-card> |
| | | </div> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <div class="xm_table_search_left"> |
| | | <el-input v-model="input" placeholder="请è¾å
¥è®¾å¤åç§°/ç¼ç " style="width: 200px; margin-right: 15px;"></el-input> |
| | | <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="设å¤ç¶æ"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | <el-button>æ¸
空</el-button> |
| | | </div> |
| | | <el-button type="primary">æ°å¢</el-button> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="å·¥ååç±»"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æ¥ä¿®åºå"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥äºº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¤ç人"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å·¥åç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="èµäº§ä¿¡æ¯" name="fourth"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div slot="header" class="clearfix"> |
| | | <span>èµäº§æ¸
å</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <div class="xm_table_search_left"> |
| | | <el-input v-model="input" placeholder="请è¾å
¥èµäº§åç§°/ç¼ç " style="width: 200px; margin-right: 15px;"></el-input> |
| | | <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="èµäº§åç±»"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | <el-button>æ¸
空</el-button> |
| | | </div> |
| | | <el-button type="primary">æ°å¢</el-button> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="èµäº§ç¼ç "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="èµäº§åç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æ¡ç "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åç"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="è§æ ¼åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åºåæ°é"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import * as echarts from 'echarts'; |
| | | export default { |
| | | name: "houseDetails", |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | return { |
| | | info: {}, |
| | | activeName: 'houseinfo', |
| | | total: 0, |
| | | pageTotal: 10, |
| | | page: 1, |
| | | tableData: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.reand() |
| | | this.reand1() |
| | | }) |
| | | }, |
| | | reand() { |
| | | var chartDom = document.getElementById('chat1'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: '5%', |
| | | left: 'center' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: ['40%', '80%'], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: 'center' |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: 40, |
| | | fontWeight: 'bold' |
| | | } |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | }, |
| | | data: [ |
| | | { value: 1048, name: 'æ£å¸¸' }, |
| | | { value: 735, name: 'å¼å¸¸' }, |
| | | { value: 580, name: 'æ¥åº' } |
| | | ] |
| | | } |
| | | ] |
| | | }; |
| | | option && myChart.setOption(option); |
| | | }, |
| | | reand1() { |
| | | var chartDom = document.getElementById('chat2'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | // There should not be negative values in rawData |
| | | const rawData = [ |
| | | [100, 302, 301, 334, 390, 330, 320], |
| | | [320, 132, 101, 134, 90, 230, 210], |
| | | [220, 182, 191, 234, 290, 330, 310], |
| | | [150, 212, 201, 154, 190, 330, 410], |
| | | [820, 832, 901, 934, 1290, 1330, 1320] |
| | | ]; |
| | | const totalData = []; |
| | | for (let i = 0; i < rawData[0].length; ++i) { |
| | | let sum = 0; |
| | | for (let j = 0; j < rawData.length; ++j) { |
| | | sum += rawData[j][i]; |
| | | } |
| | | totalData.push(sum); |
| | | } |
| | | const grid = { |
| | | left: 100, |
| | | right: 100, |
| | | top: 50, |
| | | bottom: 50 |
| | | }; |
| | | const series = [ |
| | | 'Direct', |
| | | 'Mail Ad', |
| | | 'Affiliate Ad', |
| | | 'Video Ad', |
| | | 'Search Engine' |
| | | ].map((name, sid) => { |
| | | return { |
| | | name, |
| | | type: 'bar', |
| | | stack: 'total', |
| | | barWidth: '60%', |
| | | label: { |
| | | show: true, |
| | | formatter: (params) => Math.round(params.value * 1000) / 10 + '%' |
| | | }, |
| | | data: rawData[sid].map((d, did) => |
| | | totalData[did] <= 0 ? 0 : d / totalData[did] |
| | | ) |
| | | }; |
| | | }); |
| | | option = { |
| | | legend: { |
| | | selectedMode: false |
| | | }, |
| | | grid, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] |
| | | }, |
| | | series |
| | | }; |
| | | |
| | | option && myChart.setOption(option); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.page = page |
| | | }, |
| | | handleSizeChange(pageTotal) { |
| | | this.pageTotal = pageTotal |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .right { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .right_head { |
| | | width: 100%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | color: black; |
| | | background: #ffffff; |
| | | } |
| | | .right_cate { |
| | | width: 100%; |
| | | padding: 0 20px 20px 20px; |
| | | box-sizing: border-box; |
| | | background: #ffffff; |
| | | .xm { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .xm_house { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: self-end; |
| | | .xm_house_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-top: 10px; |
| | | .xm_house_list_left { |
| | | flex-shrink: 0; |
| | | width: 100px; |
| | | display: flex; |
| | | margin-right: 20px; |
| | | flex-direction: column; |
| | | .xm_house_list_left_row { |
| | | width: 100px; |
| | | height: 100px; |
| | | background: rgba(242, 242, 242, 1); |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | margin-bottom: 20px; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | span { |
| | | &:nth-child(1) { |
| | | font-size: 18px; |
| | | color: #333333; |
| | | font-weight: 400; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 12px; |
| | | color: #929292; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_house_list_right { |
| | | width: calc(100% - 130px); |
| | | display: flex; |
| | | flex-direction: column; |
| | | .item { |
| | | width: calc(100% - 130px); |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .xm_house_list_right_row { |
| | | height: 100px; |
| | | width: 300px; |
| | | background: rgba(198, 224, 167, 0.34509803921568627); |
| | | padding: 10px 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | span { |
| | | font-size: 14px; |
| | | color: #000000; |
| | | } |
| | | .xm_house_list_right_row_info { |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | &:nth-child(1) { |
| | | color: #000000; |
| | | font-size: 14px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #A5A5A5; |
| | | font-size: 12px; |
| | | margin-top: 3px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_house_tips { |
| | | display: flex; |
| | | align-items: center; |
| | | .xm_house_tips_row { |
| | | margin-left: 30px; |
| | | display: flex; |
| | | align-items: center; |
| | | .xm_house_tips_row_d { |
| | | width: 10px; |
| | | height: 10px; |
| | | background: orange; |
| | | margin-right: 5px; |
| | | } |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_chat { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_chat_row { |
| | | width: 49%; |
| | | height: 300px; |
| | | #chat1 { |
| | | width: 100%; |
| | | height: 260px; |
| | | } |
| | | #chat2 { |
| | | width: 100%; |
| | | height: 260px; |
| | | } |
| | | } |
| | | } |
| | | .xm_one { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_one_row { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | &:nth-child(2) { |
| | | font-weight: bold; |
| | | margin: 15px 0; |
| | | } |
| | | &:nth-child(3) { |
| | | color: #666666; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_one1 { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_one_row { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | &:nth-child(2) { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | margin-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_table { |
| | | width: 100%; |
| | | .xm_table_search { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 15px; |
| | | } |
| | | .xm_table_f { |
| | | width: 100%; |
| | | text-align: right; |
| | | } |
| | | } |
| | | .xm_info { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | align-items: center; |
| | | .xm_info_row { |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | &:nth-child(1) { |
| | | color: #666666; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #000000; |
| | | margin-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:ywroom:update', 'business:ywroom:delete'])" label="æä½" |
| | | min-width="100" fixed="right"> |
| | | min-width="140" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.houseDetails.open('æ¿æºè¯¦æ
')">æ¥ç详æ
</el-button> |
| | | <el-button type="text" @click="editClick(row)" icon="el-icon-edit" |
| | | v-permissions="['business:ywroom:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" |
| | |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaYwRoomWindow ref="operaYwRoomWindow" @success="handlePageChange" /> |
| | | <!-- 详æ
--> |
| | | <houseDetails ref="houseDetails" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaYwRoomWindow from './components/OperaYwRoomWindow' |
| | | import houseDetails from './components/houseDetails' |
| | | import { getProjectList } from '@/api/project/ywProject' |
| | | import { getBuildList } from '@/api/project/ywBuilding' |
| | | export default { |
| | | name: 'YwRoom', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaYwRoomWindow }, |
| | | components: { TableLayout, Pagination, OperaYwRoomWindow, houseDetails }, |
| | | data() { |
| | | return { |
| | | // æç´¢ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="box"> |
| | | <div class="box_content"> |
| | | <div class="left"> |
| | | <el-input v-model="input" placeholder="请è¾å
¥å
容"></el-input> |
| | | <div style="width: 100%; height: 20px;"></div> |
| | | <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <div class="right_head">项ç®åç§°</div> |
| | | <div class="right_cate"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="é¡¹ç®æ¦åµ" name="first"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div class="xm_one"> |
| | | <div class="xm_one_row"> |
| | | <span>å¨ç§ååæ°</span> |
| | | <span>4</span> |
| | | <span>å¨ç§æ¿æºæ°ï¼5</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>坿åé¢ç§¯</span> |
| | | <span>50000ã¡</span> |
| | | <span>å¯æåæ¿æºæ°ï¼15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>å¨ç§å®æ¶åä»·</span> |
| | | <span>145.75å
/m²·天</span> |
| | | <span>å¨ç§é¢ç§¯ï¼900.00m²</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>åºç§ç</span> |
| | | <span>50.00%</span> |
| | | <span>å¾
ç§é¢ç§¯ï¼700.00m²</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>项ç®ä¿¡æ¯</span> |
| | | </div> |
| | | <div class="xm_info"> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>项ç®åç§°</span> |
| | | <span>XXXXXXXXXX</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æå±å°åº</span> |
| | | <span>å®å¾½ç-åè¥å¸-èå±±åº</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 50%;"> |
| | | <span>详ç»å°å</span> |
| | | <span>Lorem ipsum dolor sit amet, consectetur</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 100%; margin-top: 15px;"> |
| | | <span>项ç®ç®ä»</span> |
| | | <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>å½åå¨ç§åå</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="请è¾å
¥å
容"></el-input> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="ååç¼å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç§å®¢"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµåä»·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµå¤©æ°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµé¢ç§¯"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æ¿æº"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="æ¿æºä¿¡æ¯" name="houseinfo"> |
| | | <div class="xm"> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>æ¿æºä¿¡æ¯</span> |
| | | </div> |
| | | <div class="xm_info"> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æå±é¡¹ç®</span> |
| | | <span>XXXXXXXXXX</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å®</span> |
| | | <span>ç»¼åæ¥¼</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å±</span> |
| | | <span>1</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æ¿å·</span> |
| | | <span>101æ´»å¨å®¤</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>æ¿é´ç¼å·</span> |
| | | <span>101</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>æ¯å¦æå</span> |
| | | <span>å¦</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>建çé¢ç§¯</span> |
| | | <span>50ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>计ç§é¢ç§¯</span> |
| | | <span>50ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>计费é¢ç§¯</span> |
| | | <span>45ã¡</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="ç§å®¢åå" name="project"> |
| | | <div class="xm"> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>å½åå¨ç§åå</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="请è¾å
¥ååç¼å·"></el-input> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="ååç¼å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="客æ·åç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¼å§æ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç»ææ¥æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµåä»·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµé¢ç§¯ï¼ã¡ï¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç¾è®¢æ¥"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å忥æº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ååç¶æ"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="æ¥¼å®æ¦åµ" name="louyu"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div class="xm_one"> |
| | | <div class="xm_one_row"> |
| | | <span>å¨ç§ååæ°</span> |
| | | <span>4</span> |
| | | <span>å¨ç§æ¿æºæ°ï¼5</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>坿åé¢ç§¯</span> |
| | | <span>50000ã¡</span> |
| | | <span>å¯æåæ¿æºæ°ï¼15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>å¨ç§å®æ¶åä»·</span> |
| | | <span>145.75å
/m²·天</span> |
| | | <span>å¨ç§é¢ç§¯ï¼900.00m²</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>åºç§ç</span> |
| | | <span>50.00%</span> |
| | | <span>å¾
ç§é¢ç§¯ï¼700.00m²</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>楼å®ä¿¡æ¯</span> |
| | | </div> |
| | | <div class="xm_info"> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>æå±é¡¹ç®</span> |
| | | <span>é宿ä½ä¸å¿</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å®åç§°</span> |
| | | <span>A座</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>楼å®ç¼ç </span> |
| | | <span>A-</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%;"> |
| | | <span>详ç»å°å</span> |
| | | <span>é宿ä½ä¸å¿è¥¿åè§</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 100%; margin-top: 15px;"> |
| | | <span>详ç»å°å</span> |
| | | <span>é宿ä½ä¸å¿è¥¿åè§</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>建çé¢ç§¯</span> |
| | | <span>1000ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>计ç§é¢ç§¯</span> |
| | | <span>1000ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 50%; margin-top: 15px;"> |
| | | <span>计费é¢ç§¯</span> |
| | | <span>1000ã¡</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>å°ä¸å±æ°</span> |
| | | <span>5</span> |
| | | </div> |
| | | <div class="xm_info_row" style="width: 25%; margin-top: 15px;"> |
| | | <span>å°ä¸å±æ°</span> |
| | | <span>2</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>å½åå¨ç§åå</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <el-input v-model="input" style="width: 300px; margin-bottom: 15px;" placeholder="请è¾å
¥å
容"></el-input> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="ååç¼å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç§å®¢"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµåä»·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµå¤©æ°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="ç§èµé¢ç§¯"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æ¿æº"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="æ¿æç®¡ç" name="house"> |
| | | <div class="xm"> |
| | | <div class="xm_house"> |
| | | <div class="xm_house_tips"> |
| | | <div class="xm_house_tips_row"> |
| | | <div class="xm_house_tips_row_d"></div> |
| | | <span>å·²åºç§</span> |
| | | </div> |
| | | <div class="xm_house_tips_row"> |
| | | <div class="xm_house_tips_row_d"></div> |
| | | <span>æªåºç§</span> |
| | | </div> |
| | | <div class="xm_house_tips_row"> |
| | | <div class="xm_house_tips_row_d"></div> |
| | | <span>90æ¥å
å°æ</span> |
| | | </div> |
| | | </div> |
| | | <div class="xm_house_list"> |
| | | <div class="xm_house_list_left"> |
| | | <div class="xm_house_list_left_row"> |
| | | <span>1F</span> |
| | | <span>600ã¡</span> |
| | | </div> |
| | | </div> |
| | | <div class="xm_house_list_right"> |
| | | <div class="item"> |
| | | <div class="xm_house_list_right_row"> |
| | | <span>101ï¼600ã¡ï¼</span> |
| | | <div class="xm_house_list_right_row_info"> |
| | | <span>ç§å®¢åç§°</span> |
| | | <span>2024-08-16å°æ</span> |
| | | </div> |
| | | </div> |
| | | <div class="xm_house_list_right_row"> |
| | | <span>101ï¼600ã¡ï¼</span> |
| | | <div class="xm_house_list_right_row_info"> |
| | | <span>ç§å®¢åç§°</span> |
| | | <span>2024-08-16å°æ</span> |
| | | </div> |
| | | </div> |
| | | <div class="xm_house_list_right_row"> |
| | | <span>101ï¼600ã¡ï¼</span> |
| | | <div class="xm_house_list_right_row_info"> |
| | | <span>ç§å®¢åç§°</span> |
| | | <span>2024-08-16å°æ</span> |
| | | </div> |
| | | </div> |
| | | <div class="xm_house_list_right_row"> |
| | | <span>101ï¼600ã¡ï¼</span> |
| | | <div class="xm_house_list_right_row_info"> |
| | | <span>ç§å®¢åç§°</span> |
| | | <span>2024-08-16å°æ</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="å·¥åè®°å½" name="second"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div class="xm_one1"> |
| | | <div class="xm_one_row"> |
| | | <span>å¾
ææ´¾æ°é</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>å¾
å¤çæ°é</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>æ¬æå·¥åæ°</span> |
| | | <span>15</span> |
| | | </div> |
| | | <div class="xm_one_row"> |
| | | <span>ç´¯è®¡å·¥åæ°</span> |
| | | <span>15</span> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <el-select v-model="value" style="width: 300px; margin-right: 15px;" placeholder="ä½ç½®ç±»å"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="value" style="width: 300px;" placeholder="å·¥ååç±»"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="å·¥ååç±»"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æ¥ä¿®åºå"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥äºº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¤ç人"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å·¥åç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设å¤ä¿¡æ¯" name="third"> |
| | | <div class="xm"> |
| | | <div class="xm_chat"> |
| | | <el-card class="xm_chat_row"> |
| | | <div id="chat1"></div> |
| | | </el-card> |
| | | <el-card class="xm_chat_row"> |
| | | <div id="chat2"></div> |
| | | </el-card> |
| | | </div> |
| | | <el-card style="margin-top: 20px;"> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <div class="xm_table_search_left"> |
| | | <el-input v-model="input" placeholder="请è¾å
¥è®¾å¤åç§°/ç¼ç " style="width: 200px; margin-right: 15px;"></el-input> |
| | | <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="设å¤ç¶æ"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | <el-button>æ¸
空</el-button> |
| | | </div> |
| | | <el-button type="primary">æ°å¢</el-button> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="å·¥ååç±»"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æ¥ä¿®åºå"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥äºº"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="䏿¥æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å¤ç人"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="å·¥åç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æä½"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="èµäº§ä¿¡æ¯" name="fourth"> |
| | | <div class="xm"> |
| | | <el-card> |
| | | <div slot="header" class="clearfix"> |
| | | <span>èµäº§æ¸
å</span> |
| | | </div> |
| | | <div class="xm_table"> |
| | | <div class="xm_table_search"> |
| | | <div class="xm_table_search_left"> |
| | | <el-input v-model="input" placeholder="请è¾å
¥èµäº§åç§°/ç¼ç " style="width: 200px; margin-right: 15px;"></el-input> |
| | | <el-select v-model="value" style="width: 200px; margin-right: 15px;" placeholder="èµäº§åç±»"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | <el-button>æ¸
空</el-button> |
| | | </div> |
| | | <el-button type="primary">æ°å¢</el-button> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="èµäº§ç¼ç "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="èµäº§åç§°"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="æ¡ç "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åç"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="è§æ ¼åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="åºåæ°é"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="xm_table_f"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="page" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="pageTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | export default { |
| | | name: 'index', |
| | | data() { |
| | | return { |
| | | input: '', |
| | | tableData: [], |
| | | data: [{ |
| | | label: 'ä¸çº§ 1', |
| | | children: [{ |
| | | label: 'äºçº§ 1-1', |
| | | children: [{ |
| | | label: 'ä¸çº§ 1-1-1' |
| | | }] |
| | | }] |
| | | }, { |
| | | label: 'ä¸çº§ 2', |
| | | children: [{ |
| | | label: 'äºçº§ 2-1', |
| | | children: [{ |
| | | label: 'ä¸çº§ 2-1-1' |
| | | }] |
| | | }, { |
| | | label: 'äºçº§ 2-2', |
| | | children: [{ |
| | | label: 'ä¸çº§ 2-2-1' |
| | | }] |
| | | }] |
| | | }, { |
| | | label: 'ä¸çº§ 3', |
| | | children: [{ |
| | | label: 'äºçº§ 3-1', |
| | | children: [{ |
| | | label: 'ä¸çº§ 3-1-1' |
| | | }] |
| | | }, { |
| | | label: 'äºçº§ 3-2', |
| | | children: [{ |
| | | label: 'ä¸çº§ 3-2-1' |
| | | }] |
| | | }] |
| | | }], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | | }, |
| | | activeName: 'first', |
| | | total: 0, |
| | | pageTotal: 10, |
| | | page: 1, |
| | | options: [{ |
| | | value: 'é项1', |
| | | label: 'é»éç³' |
| | | }, { |
| | | value: 'é项2', |
| | | label: 'åç®å¥¶' |
| | | }, { |
| | | value: 'é项3', |
| | | label: 'èµä»ç
' |
| | | }, { |
| | | value: 'é项4', |
| | | label: 'é¾é¡»é¢' |
| | | }, { |
| | | value: 'é项5', |
| | | label: 'å京ç¤é¸' |
| | | }], |
| | | value: '' |
| | | } |
| | | }, |
| | | created () { |
| | | this.$nextTick(() => { |
| | | this.reand() |
| | | this.reand1() |
| | | }) |
| | | }, |
| | | methods: { |
| | | reand() { |
| | | var chartDom = document.getElementById('chat1'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: '5%', |
| | | left: 'center' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: ['40%', '80%'], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: 'center' |
| | | }, |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | fontSize: 40, |
| | | fontWeight: 'bold' |
| | | } |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | }, |
| | | data: [ |
| | | { value: 1048, name: 'æ£å¸¸' }, |
| | | { value: 735, name: 'å¼å¸¸' }, |
| | | { value: 580, name: 'æ¥åº' } |
| | | ] |
| | | } |
| | | ] |
| | | }; |
| | | option && myChart.setOption(option); |
| | | }, |
| | | reand1() { |
| | | var chartDom = document.getElementById('chat2'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | // There should not be negative values in rawData |
| | | const rawData = [ |
| | | [100, 302, 301, 334, 390, 330, 320], |
| | | [320, 132, 101, 134, 90, 230, 210], |
| | | [220, 182, 191, 234, 290, 330, 310], |
| | | [150, 212, 201, 154, 190, 330, 410], |
| | | [820, 832, 901, 934, 1290, 1330, 1320] |
| | | ]; |
| | | const totalData = []; |
| | | for (let i = 0; i < rawData[0].length; ++i) { |
| | | let sum = 0; |
| | | for (let j = 0; j < rawData.length; ++j) { |
| | | sum += rawData[j][i]; |
| | | } |
| | | totalData.push(sum); |
| | | } |
| | | const grid = { |
| | | left: 100, |
| | | right: 100, |
| | | top: 50, |
| | | bottom: 50 |
| | | }; |
| | | const series = [ |
| | | 'Direct', |
| | | 'Mail Ad', |
| | | 'Affiliate Ad', |
| | | 'Video Ad', |
| | | 'Search Engine' |
| | | ].map((name, sid) => { |
| | | return { |
| | | name, |
| | | type: 'bar', |
| | | stack: 'total', |
| | | barWidth: '60%', |
| | | label: { |
| | | show: true, |
| | | formatter: (params) => Math.round(params.value * 1000) / 10 + '%' |
| | | }, |
| | | data: rawData[sid].map((d, did) => |
| | | totalData[did] <= 0 ? 0 : d / totalData[did] |
| | | ) |
| | | }; |
| | | }); |
| | | option = { |
| | | legend: { |
| | | selectedMode: false |
| | | }, |
| | | grid, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] |
| | | }, |
| | | series |
| | | }; |
| | | |
| | | option && myChart.setOption(option); |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.page = page |
| | | }, |
| | | handleSizeChange(pageTotal) { |
| | | this.pageTotal = pageTotal |
| | | }, |
| | | handleNodeClick(data) { |
| | | console.log(data); |
| | | }, |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding: 16px; |
| | | box-sizing: border-box; |
| | | .box_content { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: start; |
| | | justify-content: space-between; |
| | | .left { |
| | | width: 300px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | flex-shrink: 0; |
| | | margin-right: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #ffffff; |
| | | } |
| | | .right { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .right_head { |
| | | width: 100%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | color: black; |
| | | background: #ffffff; |
| | | } |
| | | .right_cate { |
| | | width: 100%; |
| | | padding: 0 20px 20px 20px; |
| | | box-sizing: border-box; |
| | | background: #ffffff; |
| | | .xm { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .xm_house { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: self-end; |
| | | .xm_house_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-top: 10px; |
| | | .xm_house_list_left { |
| | | flex-shrink: 0; |
| | | width: 100px; |
| | | display: flex; |
| | | margin-right: 20px; |
| | | flex-direction: column; |
| | | .xm_house_list_left_row { |
| | | width: 100px; |
| | | height: 100px; |
| | | background: rgba(242, 242, 242, 1); |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | margin-bottom: 20px; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | span { |
| | | &:nth-child(1) { |
| | | font-size: 18px; |
| | | color: #333333; |
| | | font-weight: 400; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 12px; |
| | | color: #929292; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_house_list_right { |
| | | width: calc(100% - 130px); |
| | | display: flex; |
| | | flex-direction: column; |
| | | .item { |
| | | width: calc(100% - 130px); |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .xm_house_list_right_row { |
| | | height: 100px; |
| | | width: 300px; |
| | | background: rgba(198, 224, 167, 0.34509803921568627); |
| | | padding: 10px 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | span { |
| | | font-size: 14px; |
| | | color: #000000; |
| | | } |
| | | .xm_house_list_right_row_info { |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | &:nth-child(1) { |
| | | color: #000000; |
| | | font-size: 14px; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #A5A5A5; |
| | | font-size: 12px; |
| | | margin-top: 3px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_house_tips { |
| | | display: flex; |
| | | align-items: center; |
| | | .xm_house_tips_row { |
| | | margin-left: 30px; |
| | | display: flex; |
| | | align-items: center; |
| | | .xm_house_tips_row_d { |
| | | width: 10px; |
| | | height: 10px; |
| | | background: orange; |
| | | margin-right: 5px; |
| | | } |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_chat { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_chat_row { |
| | | width: 49%; |
| | | height: 300px; |
| | | #chat1 { |
| | | width: 100%; |
| | | height: 260px; |
| | | } |
| | | #chat2 { |
| | | width: 100%; |
| | | height: 260px; |
| | | } |
| | | } |
| | | } |
| | | .xm_one { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_one_row { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | &:nth-child(2) { |
| | | font-weight: bold; |
| | | margin: 15px 0; |
| | | } |
| | | &:nth-child(3) { |
| | | color: #666666; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_one1 { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .xm_one_row { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | color: black; |
| | | &:nth-child(2) { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | margin-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .xm_table { |
| | | width: 100%; |
| | | .xm_table_search { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 15px; |
| | | } |
| | | .xm_table_f { |
| | | width: 100%; |
| | | text-align: right; |
| | | } |
| | | } |
| | | .xm_info { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | align-items: center; |
| | | .xm_info_row { |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | font-size: 16px; |
| | | &:nth-child(1) { |
| | | color: #666666; |
| | | } |
| | | &:nth-child(2) { |
| | | color: #000000; |
| | | margin-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | title="é®é¢ä¸æ¥" |
| | | :showConfirm="false" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | <div class="wt"> |
| | | <div class="wt_head"> |
| | | <div class="wt_head_title"> |
| | | é®é¢è¯¦æ
|
| | | <el-tag style="margin-left: 10px;">转工å</el-tag> |
| | | </div> |
| | | <el-button>æ¥çå·¥å</el-button> |
| | | </div> |
| | | <div class="wt_content"> |
| | | <div class="wt_content_row" style="width: 25%;"> |
| | | ä½ç½®ï¼- |
| | | </div> |
| | | <div class="wt_content_row" style="width: 25%;"> |
| | | 䏿¥äººï¼å¼ ä¸ä¸° |
| | | </div> |
| | | <div class="wt_content_row" style="width: 50%;"> |
| | | 䏿¥äººçµè¯ï¼180553847234 |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | 䏿¥æ¶é´ï¼2024-11-21 12:00:23 |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | é®é¢æè¿°ï¼è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿° |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | <div class="wt_content_row_label">é®é¢å¾çï¼</div> |
| | | <div class="wt_content_row_list"> |
| | | <div class="wt_content_row_list_img"> |
| | | <img src="" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> |
| | | <el-form-item label="å¤çæ¹å¼" prop="resource"> |
| | | <el-radio-group v-model="form.resource"> |
| | | <el-radio :label="0">转工å</el-radio> |
| | | <el-radio :label="1">å
³éé®é¢</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-form-item label="ä½ç½®ç±»å" prop="region"> |
| | | <el-select v-model="form.resource" placeholder="è¯·éæ©ä½ç½®ç±»å"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥ä¿®åºå" prop="resource"> |
| | | <el-select v-model="form.resource" placeholder="è¯·éæ©æ¥ä¿®åºå"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-form-item label="å·¥ååç±»" prop="resource"> |
| | | <el-select v-model="form.resource" placeholder="è¯·éæ©å·¥ååç±»"> |
| | | <el-option label="åºåä¸" value="shanghai"></el-option> |
| | | <el-option label="åºåäº" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸é¨æ¶é´" prop="resource"> |
| | | <el-date-picker v-model="form.resource" type="date" placeholder="éæ©ä¸é¨æ¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="æè¿°" prop="resource"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="5" |
| | | placeholder="请è¾å
¥æè¿°" |
| | | v-model="form.resource"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é®é¢å¾ç" prop="resource"> |
| | | <el-upload |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | list-type="picture-card"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="å
³éé®é¢" prop="resource"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="5" |
| | | placeholder="请è¾å
¥å
³éé®é¢" |
| | | v-model="form.resource"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: "handleProblem", |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | return { |
| | | info: {}, |
| | | form: { |
| | | resource: 0 |
| | | }, |
| | | rules: { |
| | | resource: [ |
| | | { required: true, message: 'è¯·éæ©', trigger: 'change' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .wt { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .wt_head { |
| | | width: 100%; |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .wt_head_title { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | | color: black; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | .wt_content { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | .wt_content_row { |
| | | font-size: 14px; |
| | | color: rgb(51, 51, 51); |
| | | display: flex; |
| | | align-items: self-start; |
| | | .wt_content_row_label { |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: rgb(51, 51, 51); |
| | | } |
| | | .wt_content_row_list { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | .wt_content_row_list_img { |
| | | width: 106px; |
| | | height: 93px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow-x: hidden; |
| | | margin-right: 15px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | title="é®é¢ä¸æ¥è¯¦æ
" |
| | | :showConfirm="false" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | <div class="wt"> |
| | | <div class="wt_head"> |
| | | <div class="wt_head_title"> |
| | | é®é¢è¯¦æ
|
| | | <el-tag style="margin-left: 10px;">转工å</el-tag> |
| | | </div> |
| | | <el-button>æ¥çå·¥å</el-button> |
| | | </div> |
| | | <div class="wt_content"> |
| | | <div class="wt_content_row" style="width: 25%;"> |
| | | ä½ç½®ï¼- |
| | | </div> |
| | | <div class="wt_content_row" style="width: 25%;"> |
| | | 䏿¥äººï¼å¼ ä¸ä¸° |
| | | </div> |
| | | <div class="wt_content_row" style="width: 50%;"> |
| | | 䏿¥äººçµè¯ï¼180553847234 |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | 䏿¥æ¶é´ï¼2024-11-21 12:00:23 |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | é®é¢æè¿°ï¼è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿°è¿æ¯é®é¢æè¿° |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | <div class="wt_content_row_label">é®é¢å¾çï¼</div> |
| | | <div class="wt_content_row_list"> |
| | | <div class="wt_content_row_list_img"> |
| | | <img src="" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="wt_head"> |
| | | <div class="wt_head_title"> |
| | | å¤çç»æ |
| | | </div> |
| | | </div> |
| | | <div class="wt_content"> |
| | | <div class="wt_content_row" style="width: 100%;"> |
| | | å¤ç人ï¼å¼ ä¸-è¡æ¿é¨ |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | å¤çæ¶é´ï¼2024-11-21 12:00:23 |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | å¤çç»æï¼è½¬å·¥å |
| | | </div> |
| | | <div class="wt_content_row" style="width: 100%; margin-top: 15px;"> |
| | | å
³é说æï¼è¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æè¯´æ |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: "problemReportingDetails", |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | return { |
| | | info: {} |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .wt { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .wt_head { |
| | | width: 100%; |
| | | padding: 20px 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .wt_head_title { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | | color: black; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | .wt_content { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | .wt_content_row { |
| | | font-size: 14px; |
| | | color: rgb(51, 51, 51); |
| | | display: flex; |
| | | align-items: self-start; |
| | | .wt_content_row_label { |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: rgb(51, 51, 51); |
| | | } |
| | | .wt_content_row_list { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | .wt_content_row_list_img { |
| | | width: 106px; |
| | | height: 93px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow-x: hidden; |
| | | margin-right: 15px; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:ywworkorder:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æè¿°" prop="roomNum"> |
| | | <el-input v-model="searchForm.roomNum" placeholder="请è¾å
¥æè¿°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item prop="areaType" label="å¤çç¶æ"> |
| | | <el-select v-model="searchForm.areaType"> |
| | | <el-option label="æªå¤ç" value="0"></el-option> |
| | | <el-option label="çæå·¥å" value="1"></el-option> |
| | | <el-option label="å
³éä¿ä¿®" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="䏿¥æ¶é´"> |
| | | <el-date-picker |
| | | v-model="searchForm.selDate" |
| | | @change="changeSelDate" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" |
| | | type="daterange"></el-date-picker> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column prop="areaType" label="æè¿°" min-width="70px"></el-table-column> |
| | | <el-table-column prop="areaType" label="ä½ç½®" min-width="100px"></el-table-column> |
| | | <el-table-column prop="categoryName" label="ç°åºå¾ç" min-width="100px"></el-table-column> |
| | | <el-table-column prop="creatorName" label="䏿¥äºº" min-width="80px"></el-table-column> |
| | | <el-table-column prop="createDate" label="䏿¥äººçµè¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="dealUserName" label="䏿¥æ¶é´" min-width="80px"></el-table-column> |
| | | <el-table-column label="å¤çç¶æ" min-width="70px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.dealStatus == 0">å¾
ææ´¾</span> |
| | | <span v-if="row.dealStatus == 1">å·²ææ´¾</span> |
| | | <span v-if="row.dealStatus == 2">å·²å¤ç</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="creatorName" label="å¤ç人" min-width="80px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:ywworkorder:update'])" |
| | | label="æä½" |
| | | width="130" |
| | | fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.handleProblem.open()">å¤ç</el-button> |
| | | <el-button type="text" @click="$refs.problemReportingDetails.open()">æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- 详æ
--> |
| | | <problemReportingDetails ref="problemReportingDetails" /> |
| | | <!-- å¤ç --> |
| | | <handleProblem ref="handleProblem" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import problemReportingDetails from './components/problemReportingDetails' |
| | | import handleProblem from './components/handleProblem' |
| | | export default { |
| | | name: 'problemReporting', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, problemReportingDetails, handleProblem }, |
| | | data() { |
| | | return { |
| | | // æç´¢ |
| | | showDetail: false, |
| | | searchForm: { |
| | | selDate: [], |
| | | areaIds: '', |
| | | projectId: '', |
| | | buildingId: '', |
| | | cateId: '', |
| | | }, |
| | | projectList: [], |
| | | buildList: [], |
| | | cateList: [], |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: 'è¿ç»´å·¥åä¿¡æ¯è¡¨', |
| | | api: '/workorder/ywWorkorder', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |