Merge remote-tracking branch 'origin/master'
| | |
| | | "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", |
| | | "dev": true |
| | | }, |
| | | "vue-json-viewer": { |
| | | "version": "2.2.22", |
| | | "resolved": "https://registry.npmmirror.com/vue-json-viewer/-/vue-json-viewer-2.2.22.tgz", |
| | | "integrity": "sha512-3oPH5BxoUWva/qp7wNJj+15FBXyi9Yu5VDW4mCWivjHR1pUpMv34fjqqxML7jh2uOqm1S/3Xks5nQ5JjC5+OWw==", |
| | | "requires": { |
| | | "clipboard": "^2.0.4" |
| | | } |
| | | }, |
| | | "vue-loader": { |
| | | "version": "15.9.7", |
| | | "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-15.9.7.tgz", |
| | |
| | | "qrcodejs2": "0.0.2", |
| | | "vue": "^2.6.11", |
| | | "vue-clipboard2": "^0.3.1", |
| | | "vue-json-viewer": "^2.2.22", |
| | | "vue-router": "^3.5.1", |
| | | "vuescroll": "^4.17.3", |
| | | "vuex": "^3.4.0" |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformInterfaceLog/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformInterfaceLog/create', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformInterfaceLog/updateById', data) |
| | | } |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | <el-dialog |
| | | :title="title" |
| | | width="60%" |
| | | :withFooter="false" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | append-to-body |
| | | @confirm="confirm" |
| | | > |
| | | <div class="box"> |
| | | {{form.content}} |
| | | </div> |
| | | </GlobalWindow> |
| | | <div class="codeEditBox"> |
| | | <json-viewer |
| | | :value="form.formatContent" |
| | | :expand-depth="5" |
| | | copyable |
| | | boxed |
| | | :expanded="false" |
| | | @copied="copyText" |
| | | sort |
| | | :show-array-index="false" |
| | | class="w-100%"> |
| | | <template slot="copy"> |
| | | <i class="el-icon-document-copy" title="å¤å¶">å¤å¶ä»£ç </i> |
| | | </template> |
| | | </json-viewer> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: 'OperaInterfaceLogWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | content: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import JsonViewer from 'vue-json-viewer' |
| | | |
| | | export default { |
| | | name: 'OperaInterfaceLogWindow', |
| | | extends: BaseOpera, |
| | | components: { JsonViewer }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | content: '', |
| | | formatContent: {} |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | }, |
| | | copyable: { copyText: 'copy', copiedText: 'copied' } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/interfaceLog', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | copyText (val) { |
| | | this.$message.success('å
容已æåå¤å¶å°åªåæ¿ï¼') |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/interfaceLog', |
| | | 'field.id': 'id' |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | try { |
| | | this.form.formatContent = JSON.parse(this.form.content) |
| | | } catch (e) { |
| | | this.form.formatContent = this.form.content |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | font-size: 15px; |
| | | color: #222222; |
| | | word-wrap: break-word; |
| | | .codeEditBox { |
| | | width: 100%; |
| | | height: 90%; |
| | | overflow:auto; |
| | | display: block; |
| | | border: 1px solid #dcdee2; |
| | | overflow-y: auto; |
| | | } |
| | | ::v-deep .el-dialog__body{height:70vh;overflow-y: auto} |
| | | ::v-deep .el-dialog{height:78vh;overflow: hidden} |
| | | .jv-container { |
| | | //height: 60vh; |
| | | } |
| | | </style> |
| | |
| | | return |
| | | } |
| | | // ç¹å»å½åèåä¸åå¤ç |
| | | if (menuConfig.url === this.$route.path && menuConfig.params === this.$route.query.param) { |
| | | if (menuConfig.url === this.$route.path && (menuConfig.params ==null || menuConfig.params==undefined || menuConfig.params=='' || menuConfig.params === this.$route.query.param)) { |
| | | return |
| | | } |
| | | if (menuConfig.url == null || menuConfig.url.trim().length === 0) { |
| | |
| | | <div class="content"> |
| | | <div v-if="item.objIds && item.objIds.length === 1 "> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else-if="item.objIds && item.objIds.length > 1"> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}ç</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span>{{ item.objIds[0].name }} ç</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else>è¯·éæ©</div> |
| | | <i class="el-icon-arrow-right"></i> |
| | |
| | | item.active = true |
| | | if (item.objIds && item.objIds.length > 0) { |
| | | const objIds = item.objIds.map(i => { |
| | | return i.id + '-' + i.name |
| | | return `${i.id}-${i.name}${i.companyName ? '-' + i.companyName : ''}` |
| | | }) |
| | | this.$set(this.searchForm, 'objIds', objIds) |
| | | } else { |
| | |
| | | item.objIds = item.memberList.map(i => { |
| | | return { |
| | | id: i.id, |
| | | name: i.name |
| | | name: i.name, |
| | | companyName: i.companyName |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | this.apprList = arr |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | } |
| | | |
| | | // console.log(res); |
| | | }) |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | }, |
| | | onSubmit () { |
| | | const { apprList, activeType } = this |
| | |
| | | <div class="content"> |
| | | <div v-if="item.objIds && item.objIds.length === 1 "> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else-if="item.objIds && item.objIds.length > 1"> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}ç</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span>{{ item.objIds[0].name }} ç</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else>è¯·éæ©</div> |
| | | <i class="el-icon-arrow-right"></i> |
| | |
| | | item.active = true |
| | | if (item.objIds && item.objIds.length > 0) { |
| | | const objIds = item.objIds.map(i => { |
| | | return i.id + '-' + i.name |
| | | return `${i.id}-${i.name}${i.companyName ? '-' + i.companyName : ''}` |
| | | }) |
| | | this.$set(this.searchForm, 'objIds', objIds) |
| | | } else { |
| | |
| | | item.objIds = item.memberList.map(i => { |
| | | return { |
| | | id: i.id, |
| | | name: i.name |
| | | name: i.name, |
| | | companyName: i.companyName |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | this.apprList = arr |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | } |
| | | |
| | | // console.log(res); |
| | | }) |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | }, |
| | | onSubmit () { |
| | | const { apprList, activeType } = this |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:interfacelog:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æ¥å£åç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥æ¥å£åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" @change="search" placeholder="è¯·éæ©"> |
| | | <el-option label="è°ç¨" value="0"></el-option> |
| | | <el-option label="æ¨éæ¥å" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èµ·æ¢æ¶é´" prop="startDate"> |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> |
| | | <el-radio-button label="0">å½å¤©</el-radio-button> |
| | | <el-radio-button label="1">è¿7天</el-radio-button> |
| | | <el-radio-button label="2">è¿30天</el-radio-button> |
| | | </el-radio-group> |
| | | <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="name" label="æ¥å£åç§°" min-width="180px"></el-table-column> |
| | | <el-table-column prop="url" label="å°åä¿¡æ¯" min-width="180px"></el-table-column> |
| | | <el-table-column label="ç±»å" min-width="100px"> |
| | | <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="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.plat == 0">海康å®é²å¹³å°</span> |
| | | <span v-if="row.plat == 1">ERPç³»ç»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="request" label="请æ±åæ°" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaInterfaceLogWindow.open('请æ±åæ°', {content: row.request})">æ¥ç</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="repose" label="ååºåæ°" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaInterfaceLogWindow.open('ååºåæ°', {content: row.repose})">æ¥ç</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaInterfaceLogWindow ref="operaInterfaceLogWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInterfaceLogWindow from '@/components/business/OperaInterfaceLogWindow' |
| | | import { timeForMat } from '@/utils/util' |
| | | export default { |
| | | name: 'InterfaceLog', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInterfaceLogWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '', |
| | | type: '', |
| | | endDate: '', |
| | | startDate: '', |
| | | radio: '0' |
| | | }, |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '䏿¹å¹³å°æ¥å£äº¤äºè®°å½', |
| | | api: '/business/platformInterfaceLog', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.changeRadio('0') |
| | | }, |
| | | methods: { |
| | | changeRadio (e) { |
| | | if (e === '0') { |
| | | this.searchForm.startTime = timeForMat(0)[0] |
| | | this.searchForm.endTime = timeForMat(0)[1] |
| | | this.time = timeForMat(0) |
| | | } else if (e === '1') { |
| | | this.searchForm.startTime = timeForMat(6)[0] |
| | | this.searchForm.endTime = timeForMat(6)[1] |
| | | this.time = timeForMat(6) |
| | | } else if (e === '2') { |
| | | this.searchForm.startTime = timeForMat(29)[0] |
| | | this.searchForm.endTime = timeForMat(29)[1] |
| | | this.time = timeForMat(29) |
| | | } |
| | | this.search() |
| | | }, |
| | | seleTime (e) { |
| | | this.searchForm.startDate = e[0] |
| | | this.searchForm.endDate = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.startDate = '' |
| | | this.searchForm.endDate = '' |
| | | this.time = [] |
| | | this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null, |
| | | status:null |
| | | status: null, |
| | | radio: 0 |
| | | }, |
| | | cateList: [], |
| | | areaList: [], |
| | |
| | | <div class="content"> |
| | | <div v-if="item.objIds && item.objIds.length === 1 "> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else-if="item.objIds && item.objIds.length > 1"> |
| | | <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}ç</span> |
| | | <span v-if="item.approveType == 0"> æç¾</span> |
| | | <span v-if="item.approveType == 1"> ä¼ç¾</span> |
| | | <span>{{ item.objIds[0].name }} ç</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> ä¼ç¾</span> |
| | | </div> |
| | | <div v-else>è¯·éæ©</div> |
| | | <i class="el-icon-arrow-right"></i> |
| | |
| | | item.active = true |
| | | if (item.objIds && item.objIds.length > 0) { |
| | | const objIds = item.objIds.map(i => { |
| | | return i.id + '-' + i.name |
| | | return `${i.id}-${i.name}${i.companyName ? '-' + i.companyName : ''}` |
| | | }) |
| | | this.$set(this.searchForm, 'objIds', objIds) |
| | | } else { |
| | |
| | | item.objIds = item.memberList.map(i => { |
| | | return { |
| | | id: i.id, |
| | | name: i.name |
| | | name: i.name, |
| | | companyName: i.companyName |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | this.apprList = arr |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | } |
| | | |
| | | // console.log(res); |
| | | }) |
| | | this.flowClick(0) |
| | | this.$forceUpdate() |
| | | }, |
| | | onSubmit () { |
| | | const { apprList, activeType } = this |
| | |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | type: null, |
| | | status:null |
| | | status: null, |
| | | radio: 0 |
| | | }, |
| | | cateList: [], |
| | | areaList: [], |
| | |
| | | @click="statusClick(1)" |
| | | :class="{ active: search.queryType === 1 }" |
| | | class="box_head_item" |
| | | >å·²å¤ç {{ headData.noticeDealNum }}</view |
| | | >å·²å¤ç</view |
| | | > |
| | | <view |
| | | @click="statusClick(2)" |
| | | :class="{ active: search.queryType === 2 }" |
| | | class="box_head_item" |
| | | >æåèµ·ç {{ headData.noticeCreateNum }}</view |
| | | >æåèµ·ç</view |
| | | > |
| | | <view |
| | | @click="statusClick(3)" |
| | |
| | | </view> |
| | | </view> |
| | | <view class="emyty"></view> |
| | | <view class="main_footer"> |
| | | <view v-if="info.approveDateVO!=null&& info.approveDateVO.canBeApproved!=null && info.approveDateVO.canBeApproved ==1" class="main_footer"> |
| | | <view class="btn" @click="handleSub(3)">æç»</view> |
| | | <view class="btn agree" @click="handleSub(2)">åæ</view> |
| | | </view> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="emyty"></view> |
| | | <view class="main_footer"> |
| | | <view v-if="info.approveDateVO!=null&& info.approveDateVO.canBeApproved!=null && info.approveDateVO.canBeApproved ==1" class="main_footer"> |
| | | <view class="btn" @click="handleSub(3)">æç»</view> |
| | | <view class="btn agree" @click="handleSub(2)">åæ</view> |
| | | </view> |