mirror of
https://gitee.com/elegant_wings/dbd-meeting-html.git
synced 2025-06-21 13:49:37 +08:00
修改了对应统计页面
This commit is contained in:
parent
5c7a4f31da
commit
1d995f67e2
@ -1,4 +1,4 @@
|
|||||||
NODE_ENV=development
|
NODE_ENV=development
|
||||||
VUE_APP_PREVIEW=true
|
VUE_APP_PREVIEW=true
|
||||||
VUE_APP_API_BASE_URL=/api
|
VUE_APP_API_BASE_URL=/api
|
||||||
VUE_APP_MODEL_BASE_URL=https://www.chuangzhikj.com/saas-ics
|
VUE_APP_MODEL_BASE_URL=https://company.haxy.com.cn:4443/shoot-hand
|
@ -1,4 +1,4 @@
|
|||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
VUE_APP_PREVIEW=true
|
VUE_APP_PREVIEW=true
|
||||||
VUE_APP_API_BASE_URL=/shoot-hand
|
VUE_APP_API_BASE_URL=https://company.haxy.com.cn:4443/shoot-hand
|
||||||
VUE_APP_MODEL_BASE_URL=https://company.haxy.com.cn:4443/shoot-hand
|
VUE_APP_MODEL_BASE_URL=https://company.haxy.com.cn:4443/shoot-hand
|
BIN
public/img/info.png
Normal file
BIN
public/img/info.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
public/img/paidan.png
Normal file
BIN
public/img/paidan.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
BIN
public/img/paidanjump.png
Normal file
BIN
public/img/paidanjump.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
public/img/time.png
Normal file
BIN
public/img/time.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -8,9 +8,24 @@
|
|||||||
<a-input placeholder="请输入报修单号" v-model="queryParam.sn" />
|
<a-input placeholder="请输入报修单号" v-model="queryParam.sn" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="报修名称">
|
||||||
|
<a-input placeholder="请输入报修名称" v-model="queryParam.name" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="分类名称">
|
||||||
|
<a-input placeholder="请输入分类名称" v-model="queryParam.typeName" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="5" :sm="15">
|
||||||
|
<a-form-item label="设备名称">
|
||||||
|
<a-input placeholder="请输入设备名称" v-model="queryParam.deviceName" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
<a-col :md="8" :sm="24">
|
<a-col :md="8" :sm="24">
|
||||||
<span class="table-page-search-submitButtons">
|
<span class="table-page-search-submitButtons">
|
||||||
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
<a-button type="primary" @click="getRepairList()">查询</a-button>
|
||||||
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
@ -154,7 +169,11 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
let datas = {
|
let datas = {
|
||||||
'menu': 7,
|
'menu': 7,
|
||||||
'type': 'all'
|
'type': 'all',
|
||||||
|
'sn': this.queryParam.sn,
|
||||||
|
'name': this.queryParam.name,
|
||||||
|
'typeName': this.queryParam.typeName,
|
||||||
|
'deviceName': this.queryParam.deviceName
|
||||||
}
|
}
|
||||||
getRepairList(datas).then(res => {
|
getRepairList(datas).then(res => {
|
||||||
this.loadData = res.rows
|
this.loadData = res.rows
|
||||||
|
@ -68,17 +68,17 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="10">
|
<a-col :span="10">
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
|
||||||
<a-select v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
|
<a-select :label-in-value="true" v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
|
||||||
@change="selectDevice">
|
@change="selectDevice">
|
||||||
<a-select-option v-for="item in typeList" :key="item.id" :value="item">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in typeList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="10">
|
<a-col :span="10">
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修设备">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修设备">
|
||||||
<a-select v-decorator="['deviceId', {rules: [{ required: true, message: '请选择所属设备' }]}]"
|
<a-select :label-in-value="true" v-decorator="['deviceId', {rules: [{ required: true, message: '请选择所属设备' }]}]"
|
||||||
@change="getDeviceName">
|
@change="getDeviceName">
|
||||||
<a-select-option v-for="item in deviceList" :key="item.id" :value="item">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in deviceList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@ -108,9 +108,9 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="10">
|
<a-col :span="10">
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修地点">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修地点">
|
||||||
<a-select v-decorator="['addressId', {rules: [{ required: true, message: '请选择报修地点' }]}]"
|
<a-select :label-in-value="true" v-decorator="['addressId', {rules: [{ required: true, message: '请选择报修地点' }]}]"
|
||||||
@change="selectRoomList">
|
@change="selectRoomList">
|
||||||
<a-select-option v-for="item in addressList" :key="item.id" :value="item">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in addressList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@ -118,9 +118,9 @@
|
|||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="10">
|
<a-col :span="10">
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="详细地址">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="详细地址">
|
||||||
<a-select v-decorator="['floorId', {rules: [{ required: true, message: '请选择详细地址' }]}]"
|
<a-select :label-in-value="true" v-decorator="['floorId', {rules: [{ required: true, message: '请选择详细地址' }]}]"
|
||||||
@change="selectFloorName">
|
@change="selectFloorName">
|
||||||
<a-select-option v-for="item in roomList" :key="item.id" :value="item">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in roomList" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@ -247,22 +247,23 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
selectUser(id){
|
selectUser(id){
|
||||||
console.log(id)
|
|
||||||
},
|
},
|
||||||
// 根据分类id 查询对应设备
|
// 根据分类id 查询对应设备
|
||||||
selectDevice (item) {
|
selectDevice (item) {
|
||||||
getRepairDeviceList({ 'typeId': item.id }).then(res => {
|
getRepairDeviceList({ 'typeId': item.key }).then(res => {
|
||||||
this.deviceList = res.rows
|
this.deviceList = res.rows
|
||||||
})
|
})
|
||||||
selectWorkerIdByTypeId({ 'typeId': item.id }).then(res => {
|
selectWorkerIdByTypeId({ 'typeId': item.key }).then(res => {
|
||||||
this.userList = res.data
|
this.userList = res.data
|
||||||
})
|
})
|
||||||
this.typeName = item.name
|
this.typeName = item.label
|
||||||
this.typeId = item.id
|
console.log(this.typeName)
|
||||||
|
this.typeId = item.key
|
||||||
},
|
},
|
||||||
getDeviceName (item) {
|
getDeviceName (item) {
|
||||||
this.deviceName = item.name
|
console.log(item)
|
||||||
this.deviceId = item.id
|
this.deviceName = item.label
|
||||||
|
this.deviceId = item.key
|
||||||
},
|
},
|
||||||
selectFailureType () {
|
selectFailureType () {
|
||||||
getRepairFailureTypeList().then(res => {
|
getRepairFailureTypeList().then(res => {
|
||||||
@ -276,15 +277,16 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
selectRoomList (item) {
|
selectRoomList (item) {
|
||||||
getRepairRoomList({ 'addressId': item.id }).then(res => {
|
console.log(item)
|
||||||
|
getRepairRoomList({ 'addressId': item.key }).then(res => {
|
||||||
this.roomList = res.rows
|
this.roomList = res.rows
|
||||||
})
|
})
|
||||||
this.address = item.name
|
this.address = item.label
|
||||||
this.addressId = item.id
|
this.addressId = item.key
|
||||||
},
|
},
|
||||||
selectFloorName (item) {
|
selectFloorName (item) {
|
||||||
this.floor = item.name
|
this.floor = item.label
|
||||||
this.floorId = item.id
|
this.floorId = item.key
|
||||||
},
|
},
|
||||||
|
|
||||||
async handlePreview (file) {
|
async handlePreview (file) {
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="楼层负责人" force-render>
|
<a-tab-pane key="2" tab="网格长" force-render>
|
||||||
<a-table
|
<a-table
|
||||||
size="default"
|
size="default"
|
||||||
ref="table"
|
ref="table"
|
||||||
|
@ -3,22 +3,25 @@
|
|||||||
|
|
||||||
<div class="topHeadView">
|
<div class="topHeadView">
|
||||||
<div class="itemView">
|
<div class="itemView">
|
||||||
<div class="imgView"></div>
|
<img class="imgView" :src='baseUrl + "/img/paidan.png"'>
|
||||||
<div class="label">待派单</div>
|
<div class="label">待派单</div>
|
||||||
<div class="num">{{ adminStatsCount.wait }}</div>
|
<div class="num">{{ adminStatsCount.wait }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemView">
|
<div class="itemView">
|
||||||
<div class="imgView"></div>
|
<div class="imgContainer">
|
||||||
|
<img class="imgView" :src='baseUrl + "/img/paidanjump.png"'>
|
||||||
|
</div>
|
||||||
<div class="label">重派单</div>
|
<div class="label">重派单</div>
|
||||||
<div class="num">{{ adminStatsCount.anew }}</div>
|
<div class="num">{{ adminStatsCount.anew }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemView">
|
<div class="itemView">
|
||||||
<div class="imgView"></div>
|
<img class="imgView" :src='baseUrl + "/img/time.png"'>
|
||||||
|
|
||||||
<div class="label">未查看通知</div>
|
<div class="label">未查看通知</div>
|
||||||
<div class="num">{{ adminStatsCount.newnotice }}</div>
|
<div class="num">{{ adminStatsCount.newnotice }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemView">
|
<div class="itemView">
|
||||||
<div class="imgView"></div>
|
<img class="imgView" :src='baseUrl + "/img/info.png"'>
|
||||||
<div class="label">已查看通知</div>
|
<div class="label">已查看通知</div>
|
||||||
<div class="num">{{ adminStatsCount.oldnotice }}</div>
|
<div class="num">{{ adminStatsCount.oldnotice }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,7 +95,7 @@
|
|||||||
<div class="faultView">
|
<div class="faultView">
|
||||||
<div class="floorView">
|
<div class="floorView">
|
||||||
<div class="headView">
|
<div class="headView">
|
||||||
<div class="titleView">楼层负责人情况</div>
|
<div class="titleView">网格长</div>
|
||||||
<div class="conditionView">
|
<div class="conditionView">
|
||||||
<a-select :value="floor.type" @select="selectFloor" style="width: 120px;margin-right: 10px">
|
<a-select :value="floor.type" @select="selectFloor" style="width: 120px;margin-right: 10px">
|
||||||
<a-select-option value="month">按月</a-select-option>
|
<a-select-option value="month">按月</a-select-option>
|
||||||
@ -229,6 +232,7 @@ export default {
|
|||||||
name: 'RepairStatistics',
|
name: 'RepairStatistics',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
baseUrl: process.env.BASE_URL,
|
||||||
type: '',
|
type: '',
|
||||||
adminStatsCount: [],
|
adminStatsCount: [],
|
||||||
repairStatsCount: [],
|
repairStatsCount: [],
|
||||||
@ -405,7 +409,6 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// 使用openChange事件控制日期下拉面板显示与收起
|
// 使用openChange事件控制日期下拉面板显示与收起
|
||||||
openDeviceTypeChange (open) {
|
openDeviceTypeChange (open) {
|
||||||
this.deviceType.open = open
|
this.deviceType.open = open
|
||||||
@ -555,8 +558,9 @@ export default {
|
|||||||
borderWidth: 2
|
borderWidth: 2
|
||||||
},
|
},
|
||||||
label: {
|
label: {
|
||||||
show: false,
|
show: true,
|
||||||
position: 'center'
|
position: 'inner',
|
||||||
|
formatter: '{d}%'
|
||||||
},
|
},
|
||||||
emphasis: {
|
emphasis: {
|
||||||
label: {
|
label: {
|
||||||
@ -716,8 +720,15 @@ export default {
|
|||||||
.topHeadView .itemView .imgView {
|
.topHeadView .itemView .imgView {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
background: white;
|
|
||||||
border-radius: 80px;
|
border-radius: 80px;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topHeadView .itemView .imgView {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
border-radius: 80px;
|
||||||
|
background: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.topHeadView .itemView .label {
|
.topHeadView .itemView .label {
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="楼层">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="楼层">
|
||||||
<a-input placeholder="楼层" v-decorator="['name']"/>
|
<a-input placeholder="楼层" v-decorator="['name']"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="楼层管理员">
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="网格长">
|
||||||
<a-select show-search v-decorator="['adminId', {rules: [{ required: true, message: '楼层管理员' }]}]" optionFilterProp="label"
|
<a-select show-search v-decorator="['adminId', {rules: [{ required: true, message: '网格长' }]}]" optionFilterProp="label"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="item in staffLists" :key="item.id" :label="item.mobile">{{ item.username }}--{{ item.mobile}}</a-select-option>
|
<a-select-option v-for="item in staffLists" :key="item.id" :label="item.mobile">{{ item.username }}--{{ item.mobile}}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
|
@ -71,7 +71,7 @@ import RepairAddressModal from '@/views/admin/repair/modules/RepairAddressModal'
|
|||||||
dataIndex: 'name'
|
dataIndex: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '楼层管理员',
|
title: '网格长',
|
||||||
dataIndex: 'adminName'
|
dataIndex: 'adminName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,8 @@ function resolve (dir) {
|
|||||||
function getGitHash () {
|
function getGitHash () {
|
||||||
try {
|
try {
|
||||||
return GitRevision.version()
|
return GitRevision.version()
|
||||||
} catch (e) {}
|
} catch (e) {
|
||||||
|
}
|
||||||
return 'unknown'
|
return 'unknown'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,15 +23,15 @@ const assetsCDN = {
|
|||||||
// https://cdn.jsdelivr.net/npm/ant-design-vue@1.3.9/dist/antd.min.css
|
// https://cdn.jsdelivr.net/npm/ant-design-vue@1.3.9/dist/antd.min.css
|
||||||
css: [],
|
css: [],
|
||||||
js: [
|
js: [
|
||||||
'/js/vue.min.js',
|
'/shoot-hand-html/js/vue.min.js',
|
||||||
'/js/axios.min.js',
|
'/shoot-hand-html/js/axios.min.js',
|
||||||
'/js/vue-router.min.js',
|
'/shoot-hand-html/js/vue-router.min.js',
|
||||||
'/js/vuex.min.js',
|
'/shoot-hand-html/js/vuex.min.js',
|
||||||
'/js/moment.min.js',
|
'/shoot-hand-html/js/moment.min.js',
|
||||||
'/js/zh-cn.min.js',
|
'/shoot-hand-html/js/zh-cn.min.js',
|
||||||
'/js/g2.min.js',
|
'/shoot-hand-html/js/g2.min.js',
|
||||||
'/js/data-set.min.js',
|
'/shoot-hand-html/js/data-set.min.js',
|
||||||
'/js/antd-with-locales.min.js'
|
'/shoot-hand-html/js/antd-with-locales.min.js'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
// webpack build externals
|
// webpack build externals
|
||||||
@ -49,6 +50,7 @@ const prodExternals = {
|
|||||||
|
|
||||||
// vue.config.js
|
// vue.config.js
|
||||||
const vueConfig = {
|
const vueConfig = {
|
||||||
|
publicPath: '/shoot-hand-html/',
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
externals: prodExternals,
|
externals: prodExternals,
|
||||||
plugins: [
|
plugins: [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user