| | |
| | | NODE_ENV = 'development' |
| | | |
| | | # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' |
| | | VUE_APP_API_URL = 'http://192.168.0.104:10010' |
| | | VUE_APP_API_URL = 'http://192.168.0.100:10010' |
| | | # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' |
| | | # VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' |
| | | |
| | |
| | | } |
| | | // 入园数据分析-导出Excel |
| | | export function reportExportExcel (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/inoutRecord/reportExportExcel', data) |
| | | return request.post('/visitsAdmin/cloudService/business/inoutRecord/reportExportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | export const uploadUrl = 'visitsAdmin/cloudService/public/upload' |
| | |
| | | <el-form-item label="组织名称" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入组织名称" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="排序码" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="组织类型" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')"> |
| | | <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))"> |
| | | <el-radio :label="0">相关方组织</el-radio> |
| | |
| | | name: '', |
| | | parentId: null, |
| | | disable: false, |
| | | parentName: '' |
| | | parentName: '', |
| | | sortnum: '' |
| | | }, |
| | | editType: '', |
| | | parentId: null, |
| | |
| | | </div> |
| | | <el-button type="primary" icon="el-icon-upload2" style="margin-left: 20px;" @click="daochu">导出</el-button> |
| | | </div> |
| | | <div class="list_head"> |
| | | <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="list_content" v-for="(item, index) in list" :key="index"> |
| | | <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> |
| | | <template v-if="column.length > 0"> |
| | | <div class="list_head"> |
| | | <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="list_content" v-for="(item, index) in list" :key="index"> |
| | | <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <div class="list_wu" v-else>暂无数据</div> |
| | | </div> |
| | | <div class="main_table_list1"> |
| | | <div class="title"> |
| | |
| | | getReportLists() { |
| | | getReportList({ dateStr: this.date1, isGroupBy: this.isGroupBy, type: 1 }) |
| | | .then(res => { |
| | | if (res.length === 0) return |
| | | if (res.length === 0) { |
| | | this.column = [] |
| | | this.list = [] |
| | | return |
| | | } |
| | | |
| | | this.column = res[0] |
| | | this.list = res.slice(1, res.length); |
| | |
| | | containLabel: true |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'line' |
| | | } |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | |
| | | type: 'value', |
| | | axisLine: { |
| | | show: true |
| | | }, |
| | | axisLabel: { |
| | | formatter: function (value) { |
| | | // 四舍五入到最近的整数 |
| | | return Math.round(value); |
| | | } |
| | | } |
| | | }, |
| | | graphic: { |
| | |
| | | |
| | | let option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: 'item', |
| | | }, |
| | | legend: { |
| | | show: false, |
| | |
| | | labelLine: { |
| | | normal: { |
| | | length: 30, |
| | | length2: 100, |
| | | length2: 70, |
| | | } |
| | | }, |
| | | label: { |
| | |
| | | color: #222222; |
| | | } |
| | | } |
| | | .list_wu { |
| | | width: 100%; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | color: #222222; |
| | | } |
| | | .list_head { |
| | | width: 100%; |
| | | height: 50px; |
| | |
| | | font-size: 18px; |
| | | color: #222222; |
| | | } |
| | | .list_wu { |
| | | width: 100%; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | color: #222222; |
| | | } |
| | | .list_head { |
| | | width: 100%; |
| | | height: 50px; |
| | |
| | | :clearable="false" |
| | | @change="getRataLists()" |
| | | :value-format="dateType === 'month' ? 'yyyy-MM' : 'yyyy'" |
| | | style="margin-left: 20px; width: 130px;" |
| | | style="margin-left: 10px; width: 120px;" |
| | | placeholder="请选择"> |
| | | </el-date-picker> |
| | | </div> |
| | |
| | | :clearable="false" |
| | | @change="getReportLists()" |
| | | :value-format="radio === 'month' ? 'yyyy-MM' : 'yyyy'" |
| | | style="margin-left: 20px; width: 130px;" |
| | | style="margin-left: 10px; width: 120px;" |
| | | placeholder="请选择"> |
| | | </el-date-picker> |
| | | </div> |
| | | <el-button type="primary" style="margin-left: 20px;" icon="el-icon-upload2" @click="daochu">导出</el-button> |
| | | </div> |
| | | <div class="list_head"> |
| | | <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="list_content" v-for="(item, index) in list" :key="index"> |
| | | <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> |
| | | <template v-if="column.length > 0"> |
| | | <div class="list_head"> |
| | | <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="list_content" v-for="(item, index) in list" :key="index"> |
| | | <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <div class="list_wu" v-else>暂无数据</div> |
| | | </div> |
| | | <div class="main_table_list1"> |
| | | <div class="title"> |
| | |
| | | getReportLists() { |
| | | getReportList({ dateStr: this.date1, isGroupBy: this.isGroupBy, type: 0 }) |
| | | .then(res => { |
| | | if (res.length === 0) return |
| | | if (res.length === 0) { |
| | | this.column = [] |
| | | this.list = [] |
| | | return |
| | | } |
| | | |
| | | this.column = res[0] |
| | | this.list = res.slice(1, res.length); |
| | |
| | | |
| | | let option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'line' |
| | | } |
| | | }, |
| | | legend: { |
| | | show: false, |
| | |
| | | type: 'value', |
| | | axisLine: { |
| | | show: true |
| | | }, |
| | | axisLabel: { |
| | | formatter: function (value) { |
| | | // 四舍五入到最近的整数 |
| | | return Math.round(value); |
| | | } |
| | | } |
| | | }, |
| | | series: [ |
| | |
| | | labelLine: { |
| | | normal: { |
| | | length: 30, |
| | | length2: 100, |
| | | length2: 70, |
| | | } |
| | | }, |
| | | label: { |
| | |
| | | color: #222222; |
| | | } |
| | | } |
| | | .list_wu { |
| | | width: 100%; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | color: #222222; |
| | | } |
| | | .list_head { |
| | | width: 100%; |
| | | height: 50px; |
| | |
| | | } |
| | | .main_table_list1 { |
| | | margin-left: 10px; |
| | | width: 520px; |
| | | width: 420px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | flex-shrink: 0; |
| | |
| | | .title { |
| | | font-weight: 500; |
| | | font-size: 18px; |
| | | color: #222222; |
| | | } |
| | | .list_wu { |
| | | width: 100%; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | color: #222222; |
| | | } |
| | | .list_head { |
| | |
| | | } |
| | | |
| | | .dept_wrap { |
| | | width: 520px; |
| | | width: 420px; |
| | | flex-shrink: 0; |
| | | height: 100%; |
| | | background-color: #ffffff; |
| | |
| | | grid: { |
| | | left: '10%', |
| | | right: '10%', |
| | | bottom: '0%', |
| | | bottom: '10%', |
| | | top: '20%', |
| | | containLabel: true |
| | | }, |
| | |
| | | |
| | | let option = { |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'line' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '5%', |
| | |
| | | overflow-x: hidden; |
| | | padding: 15px; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | | background-color: #F4F7FC; |
| | | .main_head { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | margin-bottom: 10px; |
| | | background-color: #ffffff; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | .blue { |
| | | border-left: 5px solid blue; |
| | | border-left: 8px solid #12BB8B; |
| | | } |
| | | .red { |
| | | border-left: 5px solid red; |
| | | border-left: 8px solid #F6CF46; |
| | | } |
| | | .yellow { |
| | | border-left: 5px solid yellow; |
| | | border-left: 8px solid #5DC9FB; |
| | | } |
| | | .orange { |
| | | border-left: 5px solid orange; |
| | | border-left: 8px solid #FF9E56; |
| | | } |
| | | .darkBlue { |
| | | border-left: 5px solid #0000a8; |
| | | border-left: 8px solid #6B6EFF; |
| | | } |
| | | .main_head_item { |
| | | width: 19%; |
| | | height: 70px; |
| | | height: 112px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | box-sizing: border-box; |
| | | border-radius: 5px; |
| | | background-color: #ffffff; |
| | | background: #F4F7FC; |
| | | span { |
| | | &:nth-child(1) { |
| | | font-size: 22px; |
| | | color: black; |
| | | font-weight: bold; |
| | | font-weight: 600; |
| | | font-size: 30px; |
| | | color: #222222; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 16px; |
| | | color: black; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #222222; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | } |
| | |
| | | align-items: start; |
| | | justify-content: space-between; |
| | | .main_table_echart { |
| | | flex: 1; |
| | | width: 64%; |
| | | height: 400px; |
| | | background-color: #ffffff; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | |
| | | } |
| | | } |
| | | .main_table_list { |
| | | margin-left: 20px; |
| | | flex-shrink: 0; |
| | | width: 500px; |
| | | width: 35%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | |
| | | |
| | | .main_content { |
| | | display: flex; |
| | | align-items: start; |
| | | justify-content: space-between; |
| | | height: 500px; |
| | | |
| | | margin-bottom: 10px; |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | color: #222222; |
| | | /*margin-bottom: 20px;*/ |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .type_wrap { |
| | | flex: 11; |
| | | width: 49.5%; |
| | | flex-shrink: 0; |
| | | height: calc(100% - 20px); |
| | | height: 100%; |
| | | /*border-right: 12px solid #f7f7f7;*/ |
| | | |
| | | background-color: #ffffff; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | |
| | | .echart1 { |
| | | width: 100%; |
| | | height: calc(100% - 60px); |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .dept_wrap { |
| | | flex: 10; |
| | | width: 49.5%; |
| | | flex-shrink: 0; |
| | | height: calc(100% - 20px); |
| | | padding-left: 20px; |
| | | |
| | | height: 100%; |
| | | background-color: #ffffff; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | .echart2 { |
| | | width: 100%; |
| | | height: calc(100% - 60px); |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyNamePath" label="组织路径" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="排序码" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="最后更新时间" min-width="100px"></el-table-column> |
| | | <el-table-column label="操作" width="230" fixed="right"> |
| | |
| | | </view>
|
| | | </view>
|
| | | <view class="cell">
|
| | | <view class="title"><b>*</b>证件号码</view>
|
| | | <view class="title">证件号码</view>
|
| | | <view class="content">
|
| | | <input class="input" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false"
|
| | | placeholder-style="color: #999999;" v-model="visitorData.idcardNo" placeholder="请输入您的证件号码" />
|
| | |
| | | title: '证件类型不能为空',
|
| | | icon: 'none'
|
| | | })
|
| | | if (!this.visitorData.idcardNo) return uni.showToast({
|
| | | title: '证件号码不能为空',
|
| | | icon: 'none'
|
| | | })
|
| | | if (this.visitorData.idcardType === 0) {
|
| | | // if (!this.visitorData.idcardNo) return uni.showToast({
|
| | | // title: '证件号码不能为空',
|
| | | // icon: 'none'
|
| | | // })
|
| | | if (this.visitorData.idcardType === 0 && this.visitorData.idcardNo) {
|
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/;
|
| | | if (!regex.test(this.visitorData.idcardNo)) return uni.showToast({
|
| | | title: '证件号码格式错误',
|