|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
<template>
|
|
|
<!-- 表单 -->
|
|
<!-- 表单 -->
|
|
|
- <div class="card_employee" :style="{maxHeight:beyondHeight}">
|
|
|
|
|
|
|
+ <div class="card_employee" :style="{ maxHeight: beyondHeight }">
|
|
|
<el-form ref="ruleForm" @submit.native.prevent :label-position="labelPosition" :model="ruleForm"
|
|
<el-form ref="ruleForm" @submit.native.prevent :label-position="labelPosition" :model="ruleForm"
|
|
|
:label-width="labelWidth">
|
|
:label-width="labelWidth">
|
|
|
<el-row :gutter="10">
|
|
<el-row :gutter="10">
|
|
@@ -9,8 +9,8 @@
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'input'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'input'">
|
|
|
<el-input :placeholder="item.placeholder" :disabled="item.disabled" :id="item.field"
|
|
<el-input :placeholder="item.placeholder" :disabled="item.disabled" :id="item.field"
|
|
|
v-model="ruleForm[`${item.field}`]" auto-complete="new-password"
|
|
v-model="ruleForm[`${item.field}`]" auto-complete="new-password"
|
|
|
- :show-password="['newPassword','password'].includes(item.field) ? true : false"></el-input>
|
|
|
|
|
- <div class="unit_card" v-if="item.unit">{{item.unit}}</div>
|
|
|
|
|
|
|
+ :show-password="['newPassword', 'password'].includes(item.field) ? true : false"></el-input>
|
|
|
|
|
+ <div class="unit_card" v-if="item.unit">{{ item.unit }}</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<!-- 坐标 -->
|
|
<!-- 坐标 -->
|
|
|
<el-form-item class="card_independent" :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
<el-form-item class="card_independent" :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
@@ -28,6 +28,12 @@
|
|
|
inactive-color="#ff4949"></el-switch>
|
|
inactive-color="#ff4949"></el-switch>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <!-- 复制数量 -->
|
|
|
|
|
+ <el-form-item class="card_independent" :label-width="item.labelWidth" label="复制数量" prop="copyNumber" :rules="copyRule"
|
|
|
|
|
+ v-if="item.type == 'copyflag' && copyFlag">
|
|
|
|
|
+ <el-input placeholder="请输入复制数量" v-model="ruleForm.copyNumber" auto-complete="new-password"
|
|
|
|
|
+ :show-password="['newPassword', 'password'].includes(item.field) ? true : false"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
<!-- 扫码添加药品信息Drug tracing code -->
|
|
<!-- 扫码添加药品信息Drug tracing code -->
|
|
|
<el-form-item class="card_independent" :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
<el-form-item class="card_independent" :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'tracingCode'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'tracingCode'">
|
|
@@ -39,7 +45,7 @@
|
|
|
</el-input>
|
|
</el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<div style="margin-bottom: 10px;" v-if="item.field === 'divider'">
|
|
<div style="margin-bottom: 10px;" v-if="item.field === 'divider'">
|
|
|
- <el-divider>{{item.label}}</el-divider>
|
|
|
|
|
|
|
+ <el-divider>{{ item.label }}</el-divider>
|
|
|
<el-table :data="commodityList" stripe style="width: 100%" max-height="220" v-loading="loadedDrug">
|
|
<el-table :data="commodityList" stripe style="width: 100%" max-height="220" v-loading="loadedDrug">
|
|
|
<el-table-column align="center" prop="physic_name" label="商品名称"></el-table-column>
|
|
<el-table-column align="center" prop="physic_name" label="商品名称"></el-table-column>
|
|
|
<!-- <el-table-column align="center" prop="address" label="药品图片" width="100">
|
|
<!-- <el-table-column align="center" prop="address" label="药品图片" width="100">
|
|
@@ -68,12 +74,12 @@
|
|
|
@click="serialNumber(item.field)"></el-button>
|
|
@click="serialNumber(item.field)"></el-button>
|
|
|
</el-input>
|
|
</el-input>
|
|
|
<div class="card_IceList" v-if="formIceTracing">
|
|
<div class="card_IceList" v-if="formIceTracing">
|
|
|
- <div class="ser_card_ial" v-for="(serial,num) in inputsList" :key="num">
|
|
|
|
|
|
|
+ <div class="ser_card_ial" v-for="(serial, num) in inputsList" :key="num">
|
|
|
<div style="display: flex;align-items: center;">
|
|
<div style="display: flex;align-items: center;">
|
|
|
- <div>{{num + 1}}</div>
|
|
|
|
|
- <div class="title_serial">{{serial}}</div>
|
|
|
|
|
|
|
+ <div>{{ num + 1 }}</div>
|
|
|
|
|
+ <div class="title_serial">{{ serial }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <span class="del_serial" @click="delSerial(serial,num)">删除</span>
|
|
|
|
|
|
|
+ <span class="del_serial" @click="delSerial(serial, num)">删除</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -81,7 +87,8 @@
|
|
|
<el-transfer v-model="value" :data="data"></el-transfer>
|
|
<el-transfer v-model="value" :data="data"></el-transfer>
|
|
|
</div> -->
|
|
</div> -->
|
|
|
<div v-if="formIceTracing && item.type === 'scan'"
|
|
<div v-if="formIceTracing && item.type === 'scan'"
|
|
|
- :style="{height:scanHeight(inputsList.length),width:'100%'}"></div>
|
|
|
|
|
|
|
+ :style="{ height: scanHeight(inputsList.length), width: '100%' }">
|
|
|
|
|
+ </div>
|
|
|
<el-form-item :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
<el-form-item :label-width="item.labelWidth" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'textarea'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'textarea'">
|
|
|
<el-input :maxlength="item.maxLenght" type="textarea" :rows="item.rowsHeight" :disabled="item.disabled"
|
|
<el-input :maxlength="item.maxLenght" type="textarea" :rows="item.rowsHeight" :disabled="item.disabled"
|
|
@@ -91,7 +98,7 @@
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'select'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'select'">
|
|
|
<el-select :id="item.field" v-model="ruleForm[`${item.field}`]" :placeholder="item.placeholder"
|
|
<el-select :id="item.field" v-model="ruleForm[`${item.field}`]" :placeholder="item.placeholder"
|
|
|
:disabled="item.disabled" :multiple="item.multiple" style="width: 100%" :filterable="item.createEntry"
|
|
:disabled="item.disabled" :multiple="item.multiple" style="width: 100%" :filterable="item.createEntry"
|
|
|
- :allow-create="item.createEntry" @change="(params) => changeSelect(params,item.field)">
|
|
|
|
|
|
|
+ :allow-create="item.createEntry" @change="(params) => changeSelect(params, item.field)">
|
|
|
<el-option v-for="(element, i) in item.options" :label="element.label" :value="`${element.value}`"
|
|
<el-option v-for="(element, i) in item.options" :label="element.label" :value="`${element.value}`"
|
|
|
:key="i">
|
|
:key="i">
|
|
|
<span style="float: left">{{ element.label }}</span>
|
|
<span style="float: left">{{ element.label }}</span>
|
|
@@ -121,8 +128,8 @@
|
|
|
<div style="display: flex;height: 40px;align-items: center;">
|
|
<div style="display: flex;height: 40px;align-items: center;">
|
|
|
<el-radio-group v-remove-hidden v-model="ruleForm[`${item.field}`]" :disabled="item.disabled"
|
|
<el-radio-group v-remove-hidden v-model="ruleForm[`${item.field}`]" :disabled="item.disabled"
|
|
|
@input="radioInput">
|
|
@input="radioInput">
|
|
|
- <el-radio v-for="(element, i) in item.options" :key="i"
|
|
|
|
|
- :label="element.value">{{element.label}}</el-radio>
|
|
|
|
|
|
|
+ <el-radio v-for="(element, i) in item.options" :key="i" :label="element.value">{{ element.label
|
|
|
|
|
+ }}</el-radio>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -146,31 +153,32 @@
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<div v-if="item.type === 'divider'">
|
|
<div v-if="item.type === 'divider'">
|
|
|
- <div v-if="item.label">{{item.label}}</div>
|
|
|
|
|
|
|
+ <div v-if="item.label">{{ item.label }}</div>
|
|
|
<el-divider></el-divider>
|
|
<el-divider></el-divider>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="height: 40px;display: flex;align-items: center;" v-if="item.type === 'search'">
|
|
<div style="height: 40px;display: flex;align-items: center;" v-if="item.type === 'search'">
|
|
|
<el-button size="small" type="primary" :loading="curLoading" :disabled="item.disabled"
|
|
<el-button size="small" type="primary" :loading="curLoading" :disabled="item.disabled"
|
|
|
- @click="numberSearch">{{item.label}}</el-button>
|
|
|
|
|
|
|
+ @click="numberSearch">{{
|
|
|
|
|
+ item.label }}</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="height: 10px;width: 100%;" v-if="item.type === 'dividingSlot'"></div>
|
|
<div style="height: 10px;width: 100%;" v-if="item.type === 'dividingSlot'"></div>
|
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'descriptions'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'descriptions'">
|
|
|
- <span class="descriptions_title">{{ruleForm[`${item.field}`] || ''}}
|
|
|
|
|
|
|
+ <span class="descriptions_title">{{ ruleForm[`${item.field}`] || '' }}
|
|
|
<span class="descriptions_badge center_in" v-if="item.field == 'name'">商户</span>
|
|
<span class="descriptions_badge center_in" v-if="item.field == 'name'">商户</span>
|
|
|
<span v-if="item.field == 'quantity'">瓶</span>
|
|
<span v-if="item.field == 'quantity'">瓶</span>
|
|
|
</span>
|
|
</span>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'nvarchar' || item.type === 'nvarcharil'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'nvarchar' || item.type === 'nvarcharil'">
|
|
|
- <span class="descriptions_title" v-if="item.type === 'nvarchar'">{{ruleForm[`${item.field}`]}}</span>
|
|
|
|
|
- <span class="descriptions_title" :style="{color: filterColor(ruleForm,item.options,item.field)}"
|
|
|
|
|
- v-else-if="item.type === 'nvarcharil'">{{initDictvalueil(ruleForm,item.options,item.field)}}</span>
|
|
|
|
|
|
|
+ <span class="descriptions_title" v-if="item.type === 'nvarchar'">{{ ruleForm[`${item.field}`] }}</span>
|
|
|
|
|
+ <span class="descriptions_title" :style="{ color: filterColor(ruleForm, item.options, item.field) }"
|
|
|
|
|
+ v-else-if="item.type === 'nvarcharil'">{{ initDictvalueil(ruleForm, item.options, item.field) }}</span>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
<el-form-item class="card_descriptions" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'picture'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'picture'">
|
|
|
<div style="display: flex;align-items: center;flex-wrap: wrap;" v-if="item.urlList.length > 0">
|
|
<div style="display: flex;align-items: center;flex-wrap: wrap;" v-if="item.urlList.length > 0">
|
|
|
- <div v-for="(item,index) in item.urlList" :key="index">
|
|
|
|
|
|
|
+ <div v-for="(item, index) in item.urlList" :key="index">
|
|
|
<el-image style="width: 100px; height: 100px;border-radius: 5px;margin-right: 10px;" :src="item"
|
|
<el-image style="width: 100px; height: 100px;border-radius: 5px;margin-right: 10px;" :src="item"
|
|
|
:preview-src-list="[item]">
|
|
:preview-src-list="[item]">
|
|
|
</el-image>
|
|
</el-image>
|
|
@@ -181,7 +189,7 @@
|
|
|
<el-form-item :class="item.crosswise ? '' : 'card_fuel_gas'" :label="item.label" :prop="item.field"
|
|
<el-form-item :class="item.crosswise ? '' : 'card_fuel_gas'" :label="item.label" :prop="item.field"
|
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'singleUpload'">
|
|
:rules="detail ? item.rules : {}" v-if="item.type === 'singleUpload'">
|
|
|
<el-upload class="avatar-uploader" action="#" :show-file-list="false" :disabled="item.disabled"
|
|
<el-upload class="avatar-uploader" action="#" :show-file-list="false" :disabled="item.disabled"
|
|
|
- :http-request="(params) => singleUpload(params,item.field)">
|
|
|
|
|
|
|
+ :http-request="(params) => singleUpload(params, item.field)">
|
|
|
<img v-if="ruleForm[`${item.field}`]" :src="$baseUrl + ruleForm[`${item.field}`]" class="avatar">
|
|
<img v-if="ruleForm[`${item.field}`]" :src="$baseUrl + ruleForm[`${item.field}`]" class="avatar">
|
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
@@ -207,7 +215,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
<div class="card_image" v-else>
|
|
<div class="card_image" v-else>
|
|
|
- <div v-for="(item,index) in ruleForm.fileList" :key="index">
|
|
|
|
|
|
|
+ <div v-for="(item, index) in ruleForm.fileList" :key="index">
|
|
|
<img class="avatar_image" :src="item.url" alt="" />
|
|
<img class="avatar_image" :src="item.url" alt="" />
|
|
|
<!-- <el-image class="avatar_image" :src="item.url" :preview-src-list="[item.url]">
|
|
<!-- <el-image class="avatar_image" :src="item.url" :preview-src-list="[item.url]">
|
|
|
<div slot="placeholder" class="image-slot">
|
|
<div slot="placeholder" class="image-slot">
|
|
@@ -227,12 +235,12 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="20" :offset="4" v-if="iceBank && !formIceTracing">
|
|
<el-col :span="20" :offset="4" v-if="iceBank && !formIceTracing">
|
|
|
<div style="display: flex;flex-direction: column;">
|
|
<div style="display: flex;flex-direction: column;">
|
|
|
- <div class="ser_card_ial margin_around" v-for="(serial,num) in inputsList" :key="num">
|
|
|
|
|
|
|
+ <div class="ser_card_ial margin_around" v-for="(serial, num) in inputsList" :key="num">
|
|
|
<div style="display: flex;align-items: center;">
|
|
<div style="display: flex;align-items: center;">
|
|
|
- <div>{{num + 1}}</div>
|
|
|
|
|
- <div class="title_serial">{{serial}}</div>
|
|
|
|
|
|
|
+ <div>{{ num + 1 }}</div>
|
|
|
|
|
+ <div class="title_serial">{{ serial }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <span class="del_serial" @click="delSerial(serial,num)">删除</span>
|
|
|
|
|
|
|
+ <span class="del_serial" @click="delSerial(serial, num)">删除</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -252,8 +260,8 @@
|
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<div class="space_between_in">
|
|
<div class="space_between_in">
|
|
|
<div class="card_coord">
|
|
<div class="card_coord">
|
|
|
- <div class="coord_address">当前坐标:{{dataForm.kqLongitude}},{{dataForm.kqLatitude}}</div>
|
|
|
|
|
- <div class="coord_address">地址:{{dataForm.kqLocation}}</div>
|
|
|
|
|
|
|
+ <div class="coord_address">当前坐标:{{ dataForm.kqLongitude }},{{ dataForm.kqLatitude }}</div>
|
|
|
|
|
+ <div class="coord_address">地址:{{ dataForm.kqLocation }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="display: flex;align-items: center;">
|
|
<div style="display: flex;align-items: center;">
|
|
|
<el-button @click="innerVisible = false">取 消</el-button>
|
|
<el-button @click="innerVisible = false">取 消</el-button>
|
|
@@ -266,747 +274,771 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- import {
|
|
|
|
|
- getFileToken,
|
|
|
|
|
- aliMsfx
|
|
|
|
|
- } from '@/api/login'
|
|
|
|
|
- import {
|
|
|
|
|
- getIceRaftCode,
|
|
|
|
|
- } from '@/api/iceRaft'
|
|
|
|
|
- export default {
|
|
|
|
|
- name: "forms",
|
|
|
|
|
- props: {
|
|
|
|
|
- // 表单tabel数据
|
|
|
|
|
- formNewList: {
|
|
|
|
|
- type: Array,
|
|
|
|
|
- default: () => [],
|
|
|
|
|
- },
|
|
|
|
|
- // 表单label宽度
|
|
|
|
|
- labelWidth: {
|
|
|
|
|
- type: String,
|
|
|
|
|
- default: () => '120px',
|
|
|
|
|
- },
|
|
|
|
|
- // 对齐方式
|
|
|
|
|
- labelPosition: {
|
|
|
|
|
- type: String,
|
|
|
|
|
- default: () => 'right',
|
|
|
|
|
- },
|
|
|
|
|
- // 绑定值
|
|
|
|
|
- ruleForm: {
|
|
|
|
|
- type: Object,
|
|
|
|
|
- default: () => {},
|
|
|
|
|
- },
|
|
|
|
|
- // 类型
|
|
|
|
|
- operationType: {
|
|
|
|
|
- type: String,
|
|
|
|
|
- default: () => '',
|
|
|
|
|
- },
|
|
|
|
|
- // 冰排冰库
|
|
|
|
|
- iceBank: {
|
|
|
|
|
- type: Boolean,
|
|
|
|
|
- default: () => false,
|
|
|
|
|
- },
|
|
|
|
|
- // 冰排追溯
|
|
|
|
|
- iceTracing: {
|
|
|
|
|
- type: Boolean,
|
|
|
|
|
- default: () => false,
|
|
|
|
|
- },
|
|
|
|
|
- // 表单冰排
|
|
|
|
|
- formIceTracing: {
|
|
|
|
|
- type: Boolean,
|
|
|
|
|
- default: () => false,
|
|
|
|
|
- },
|
|
|
|
|
- // 超出隐藏
|
|
|
|
|
- beyondHeight: {
|
|
|
|
|
- type: String,
|
|
|
|
|
- default: () => '630px',
|
|
|
|
|
- },
|
|
|
|
|
- // 商品列表
|
|
|
|
|
- delDrug: {
|
|
|
|
|
- type: Boolean,
|
|
|
|
|
- default: () => false,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+import {
|
|
|
|
|
+ getFileToken,
|
|
|
|
|
+ aliMsfx
|
|
|
|
|
+} from '@/api/login'
|
|
|
|
|
+import {
|
|
|
|
|
+ getIceRaftCode,
|
|
|
|
|
+} from '@/api/iceRaft'
|
|
|
|
|
+export default {
|
|
|
|
|
+ name: "forms",
|
|
|
|
|
+ props: {
|
|
|
|
|
+ // 表单tabel数据
|
|
|
|
|
+ formNewList: {
|
|
|
|
|
+ type: Array,
|
|
|
|
|
+ default: () => [],
|
|
|
},
|
|
},
|
|
|
- watch: {
|
|
|
|
|
- formNewList: {
|
|
|
|
|
- immediate: true, // 立即触发监听函数
|
|
|
|
|
- handler() {
|
|
|
|
|
- this.formList = this.formNewList;
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ // 表单label宽度
|
|
|
|
|
+ labelWidth: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: () => '120px',
|
|
|
},
|
|
},
|
|
|
- data() {
|
|
|
|
|
- return {
|
|
|
|
|
- detail: true,
|
|
|
|
|
- formList: [],
|
|
|
|
|
- imageUrl: '',
|
|
|
|
|
- file: null,
|
|
|
|
|
- dialogImageUrl: '',
|
|
|
|
|
- dialogVisible: false,
|
|
|
|
|
- disabled: false,
|
|
|
|
|
- fileList: [],
|
|
|
|
|
- curLoading: false,
|
|
|
|
|
-
|
|
|
|
|
- inputs: "",
|
|
|
|
|
- timearr: [0, 0],
|
|
|
|
|
- isScanningGun: false,
|
|
|
|
|
- inputsList: [],
|
|
|
|
|
- typeField: '',
|
|
|
|
|
-
|
|
|
|
|
- // 商品列表
|
|
|
|
|
- commodityList: [],
|
|
|
|
|
- loadedDrug: false,
|
|
|
|
|
- innerVisible: false,
|
|
|
|
|
- map: null,
|
|
|
|
|
-
|
|
|
|
|
- inputAddress: '',
|
|
|
|
|
- address: '',
|
|
|
|
|
- auto: null,
|
|
|
|
|
- placeSearch: null,
|
|
|
|
|
- lnglat: [],
|
|
|
|
|
- markers: [],
|
|
|
|
|
- dataForm: {
|
|
|
|
|
- kqLocation: undefined,
|
|
|
|
|
- kqLongitude: undefined,
|
|
|
|
|
- kqLatitude: undefined,
|
|
|
|
|
- },
|
|
|
|
|
- position: {},
|
|
|
|
|
- city: [],
|
|
|
|
|
- province: {},
|
|
|
|
|
- form: {
|
|
|
|
|
- province: {},
|
|
|
|
|
- city: [],
|
|
|
|
|
- address: '',
|
|
|
|
|
- },
|
|
|
|
|
- value: [],
|
|
|
|
|
- data: [{
|
|
|
|
|
- key: 1,
|
|
|
|
|
- label: '004'
|
|
|
|
|
- }],
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 对齐方式
|
|
|
|
|
+ labelPosition: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: () => 'right',
|
|
|
|
|
+ },
|
|
|
|
|
+ // 绑定值
|
|
|
|
|
+ ruleForm: {
|
|
|
|
|
+ type: Object,
|
|
|
|
|
+ default: () => { },
|
|
|
|
|
+ },
|
|
|
|
|
+ // 类型
|
|
|
|
|
+ operationType: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: () => '',
|
|
|
|
|
+ },
|
|
|
|
|
+ // 冰排冰库
|
|
|
|
|
+ iceBank: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: () => false,
|
|
|
|
|
+ },
|
|
|
|
|
+ // 冰排追溯
|
|
|
|
|
+ iceTracing: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: () => false,
|
|
|
|
|
+ },
|
|
|
|
|
+ // 表单冰排
|
|
|
|
|
+ formIceTracing: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: () => false,
|
|
|
},
|
|
},
|
|
|
- methods: {
|
|
|
|
|
- //下拉框下拉事件
|
|
|
|
|
- changeSelect(row, field) {
|
|
|
|
|
- this.$forceUpdate()
|
|
|
|
|
- this.$emit("changeSelect", row, field);
|
|
|
|
|
|
|
+ // 超出隐藏
|
|
|
|
|
+ beyondHeight: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: () => '630px',
|
|
|
|
|
+ },
|
|
|
|
|
+ // 商品列表
|
|
|
|
|
+ delDrug: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: () => false,
|
|
|
|
|
+ },
|
|
|
|
|
+ // 复制数量
|
|
|
|
|
+ copyFlag: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: () => false,
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ watch: {
|
|
|
|
|
+ formNewList: {
|
|
|
|
|
+ immediate: true, // 立即触发监听函数
|
|
|
|
|
+ handler() {
|
|
|
|
|
+ this.formList = this.formNewList;
|
|
|
},
|
|
},
|
|
|
- // 搜索选择
|
|
|
|
|
- changeOption(row, field) {
|
|
|
|
|
- this.$emit("changeOption", row, field);
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ detail: true,
|
|
|
|
|
+ formList: [],
|
|
|
|
|
+ imageUrl: '',
|
|
|
|
|
+ file: null,
|
|
|
|
|
+ dialogImageUrl: '',
|
|
|
|
|
+ dialogVisible: false,
|
|
|
|
|
+ disabled: false,
|
|
|
|
|
+ fileList: [],
|
|
|
|
|
+ curLoading: false,
|
|
|
|
|
+
|
|
|
|
|
+ inputs: "",
|
|
|
|
|
+ timearr: [0, 0],
|
|
|
|
|
+ isScanningGun: false,
|
|
|
|
|
+ inputsList: [],
|
|
|
|
|
+ typeField: '',
|
|
|
|
|
+
|
|
|
|
|
+ // 商品列表
|
|
|
|
|
+ commodityList: [],
|
|
|
|
|
+ loadedDrug: false,
|
|
|
|
|
+ innerVisible: false,
|
|
|
|
|
+ map: null,
|
|
|
|
|
+
|
|
|
|
|
+ inputAddress: '',
|
|
|
|
|
+ address: '',
|
|
|
|
|
+ auto: null,
|
|
|
|
|
+ placeSearch: null,
|
|
|
|
|
+ lnglat: [],
|
|
|
|
|
+ markers: [],
|
|
|
|
|
+ dataForm: {
|
|
|
|
|
+ kqLocation: undefined,
|
|
|
|
|
+ kqLongitude: undefined,
|
|
|
|
|
+ kqLatitude: undefined,
|
|
|
},
|
|
},
|
|
|
- // 重置校验
|
|
|
|
|
- resetCheck() {
|
|
|
|
|
- const that = this
|
|
|
|
|
- if (that.iceTracing) {
|
|
|
|
|
- that.inputs = ''
|
|
|
|
|
- that.inputsList = []
|
|
|
|
|
- checkType(that.ruleForm.code)
|
|
|
|
|
-
|
|
|
|
|
- function checkType(value) {
|
|
|
|
|
- if (typeof value === 'string') {
|
|
|
|
|
- that.ruleForm.code = ''
|
|
|
|
|
- } else if (Array.isArray(value)) {
|
|
|
|
|
- that.ruleForm.code = []
|
|
|
|
|
- } else {
|
|
|
|
|
- that.ruleForm.code = []
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- that.$refs.ruleForm.resetFields();
|
|
|
|
|
|
|
+ position: {},
|
|
|
|
|
+ city: [],
|
|
|
|
|
+ province: {},
|
|
|
|
|
+ form: {
|
|
|
|
|
+ province: {},
|
|
|
|
|
+ city: [],
|
|
|
|
|
+ address: '',
|
|
|
},
|
|
},
|
|
|
- // 单个图片上传
|
|
|
|
|
- singleUpload(file, value) {
|
|
|
|
|
- const loading = this.$loading({
|
|
|
|
|
- lock: true,
|
|
|
|
|
- text: 'Loading',
|
|
|
|
|
- spinner: 'el-icon-loading',
|
|
|
|
|
- background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
- });
|
|
|
|
|
- this.file = file.file;
|
|
|
|
|
- let formData = new FormData();
|
|
|
|
|
- formData.append('file', this.file);
|
|
|
|
|
- getFileToken(formData).then(res => {
|
|
|
|
|
- if (res.code == 200) {
|
|
|
|
|
- this.ruleForm[`${value}`] = res.data
|
|
|
|
|
- this.$forceUpdate()
|
|
|
|
|
|
|
+ value: [],
|
|
|
|
|
+ data: [{
|
|
|
|
|
+ key: 1,
|
|
|
|
|
+ label: '004'
|
|
|
|
|
+ }],
|
|
|
|
|
+ copyRule: [{
|
|
|
|
|
+ required: false,
|
|
|
|
|
+ message: '请输入复制数量',
|
|
|
|
|
+ trigger: 'blur'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ required: false,
|
|
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
|
|
+ if (!value && rule.required) {
|
|
|
|
|
+ return callback(new Error('请输入复制数量'));
|
|
|
}
|
|
}
|
|
|
- loading.close();
|
|
|
|
|
- }).catch(e => {
|
|
|
|
|
- loading.close();
|
|
|
|
|
- this.$message.error('上传失败');
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- // 上传文件
|
|
|
|
|
- UploadImage(file) {
|
|
|
|
|
- const loading = this.$loading({
|
|
|
|
|
- lock: true,
|
|
|
|
|
- text: 'Loading',
|
|
|
|
|
- spinner: 'el-icon-loading',
|
|
|
|
|
- background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
- });
|
|
|
|
|
- this.file = file.file;
|
|
|
|
|
- let formData = new FormData();
|
|
|
|
|
- formData.append('file', this.file);
|
|
|
|
|
- getFileToken(formData).then(res => {
|
|
|
|
|
- if (res.code == 200) {
|
|
|
|
|
- let arr1 = {
|
|
|
|
|
- uid: this.file.uid,
|
|
|
|
|
- url: res.data,
|
|
|
|
|
|
|
+ if (value) {
|
|
|
|
|
+ if (!/^(\d+)?(\.\d+)?$/.test(value)) {
|
|
|
|
|
+ return callback(new Error('请输入有效的数值'));
|
|
|
}
|
|
}
|
|
|
- this.ruleForm.fileList.push(arr1)
|
|
|
|
|
}
|
|
}
|
|
|
- loading.close();
|
|
|
|
|
- }).catch(e => {
|
|
|
|
|
- // console.log(e, 23)
|
|
|
|
|
- loading.close();
|
|
|
|
|
- this.$message.error('上传失败');
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- // 手机号搜索
|
|
|
|
|
- numberSearch() {
|
|
|
|
|
- let flag = false
|
|
|
|
|
- this.$refs['ruleForm'].validateField('phone', valid => {
|
|
|
|
|
- if (!valid) {
|
|
|
|
|
- this.curLoading = true
|
|
|
|
|
- this.$emit('numberSearch', this.ruleForm.phone)
|
|
|
|
|
|
|
+ return callback();
|
|
|
|
|
+ },
|
|
|
|
|
+ trigger: ['blur', 'change']
|
|
|
|
|
+ }],
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ //下拉框下拉事件
|
|
|
|
|
+ changeSelect(row, field) {
|
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
|
+ this.$emit("changeSelect", row, field);
|
|
|
|
|
+ },
|
|
|
|
|
+ // 搜索选择
|
|
|
|
|
+ changeOption(row, field) {
|
|
|
|
|
+ this.$emit("changeOption", row, field);
|
|
|
|
|
+ },
|
|
|
|
|
+ // 重置校验
|
|
|
|
|
+ resetCheck() {
|
|
|
|
|
+ const that = this
|
|
|
|
|
+ if (that.iceTracing) {
|
|
|
|
|
+ that.inputs = ''
|
|
|
|
|
+ that.inputsList = []
|
|
|
|
|
+ checkType(that.ruleForm.code)
|
|
|
|
|
+
|
|
|
|
|
+ function checkType(value) {
|
|
|
|
|
+ if (typeof value === 'string') {
|
|
|
|
|
+ that.ruleForm.code = ''
|
|
|
|
|
+ } else if (Array.isArray(value)) {
|
|
|
|
|
+ that.ruleForm.code = []
|
|
|
} else {
|
|
} else {
|
|
|
- console.log('error submit!!');
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ that.ruleForm.code = []
|
|
|
}
|
|
}
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
- // 单选选择
|
|
|
|
|
- radioInput(label) {
|
|
|
|
|
- this.$emit('radioInput', label)
|
|
|
|
|
- },
|
|
|
|
|
- // tag颜色获取
|
|
|
|
|
- filterColor(value, list, type) {
|
|
|
|
|
- let color = ''
|
|
|
|
|
- list.forEach(item => {
|
|
|
|
|
- if (value[type] === item.value) {
|
|
|
|
|
- color = item.bgcolor
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ that.$refs.ruleForm.resetFields();
|
|
|
|
|
+ },
|
|
|
|
|
+ // 单个图片上传
|
|
|
|
|
+ singleUpload(file, value) {
|
|
|
|
|
+ const loading = this.$loading({
|
|
|
|
|
+ lock: true,
|
|
|
|
|
+ text: 'Loading',
|
|
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
+ });
|
|
|
|
|
+ this.file = file.file;
|
|
|
|
|
+ let formData = new FormData();
|
|
|
|
|
+ formData.append('file', this.file);
|
|
|
|
|
+ getFileToken(formData).then(res => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.ruleForm[`${value}`] = res.data
|
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
|
+ }
|
|
|
|
|
+ loading.close();
|
|
|
|
|
+ }).catch(e => {
|
|
|
|
|
+ loading.close();
|
|
|
|
|
+ this.$message.error('上传失败');
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ // 上传文件
|
|
|
|
|
+ UploadImage(file) {
|
|
|
|
|
+ const loading = this.$loading({
|
|
|
|
|
+ lock: true,
|
|
|
|
|
+ text: 'Loading',
|
|
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
+ });
|
|
|
|
|
+ this.file = file.file;
|
|
|
|
|
+ let formData = new FormData();
|
|
|
|
|
+ formData.append('file', this.file);
|
|
|
|
|
+ getFileToken(formData).then(res => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ let arr1 = {
|
|
|
|
|
+ uid: this.file.uid,
|
|
|
|
|
+ url: res.data,
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
- return color
|
|
|
|
|
- },
|
|
|
|
|
- // 普通类型文字匹配
|
|
|
|
|
- initDictvalueil(value, list, type) {
|
|
|
|
|
- let name = ''
|
|
|
|
|
- if (list) {
|
|
|
|
|
- list.forEach(item => {
|
|
|
|
|
- if (value[type] === item.value) {
|
|
|
|
|
- name = item.label
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.ruleForm.fileList.push(arr1)
|
|
|
}
|
|
}
|
|
|
- return name
|
|
|
|
|
- },
|
|
|
|
|
- handleScroll() {
|
|
|
|
|
- // console.log('触底了')
|
|
|
|
|
- this.$emit('handleScroll')
|
|
|
|
|
- },
|
|
|
|
|
- remoteMethod(val, type) {
|
|
|
|
|
- // console.log('远程搜索', val, type)
|
|
|
|
|
- this.$emit('remoteMethod', val, type)
|
|
|
|
|
- },
|
|
|
|
|
- // 删除
|
|
|
|
|
- handleRemove(file) {
|
|
|
|
|
- const filteredArr = this.ruleForm.fileList.filter(obj => obj.uid !== file.uid);
|
|
|
|
|
- this.ruleForm.fileList = filteredArr
|
|
|
|
|
- this.$forceUpdate()
|
|
|
|
|
- },
|
|
|
|
|
- // 查看
|
|
|
|
|
- handlePictureCardPreview(file) {
|
|
|
|
|
- this.dialogImageUrl = file.url;
|
|
|
|
|
- this.dialogVisible = true;
|
|
|
|
|
- },
|
|
|
|
|
- beforeAvatarUpload(file) {
|
|
|
|
|
- const isJPG = file.type === 'image/jpeg';
|
|
|
|
|
- const isLt2M = file.size / 1024 / 1024 < 2;
|
|
|
|
|
- if (!isJPG) {
|
|
|
|
|
- this.$message.error('上传头像图片只能是 JPG 格式!');
|
|
|
|
|
|
|
+ loading.close();
|
|
|
|
|
+ }).catch(e => {
|
|
|
|
|
+ // console.log(e, 23)
|
|
|
|
|
+ loading.close();
|
|
|
|
|
+ this.$message.error('上传失败');
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ // 手机号搜索
|
|
|
|
|
+ numberSearch() {
|
|
|
|
|
+ let flag = false
|
|
|
|
|
+ this.$refs['ruleForm'].validateField('phone', valid => {
|
|
|
|
|
+ if (!valid) {
|
|
|
|
|
+ this.curLoading = true
|
|
|
|
|
+ this.$emit('numberSearch', this.ruleForm.phone)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.log('error submit!!');
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
- if (!isLt2M) {
|
|
|
|
|
- this.$message.error('上传头像图片大小不能超过 2MB!');
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ // 单选选择
|
|
|
|
|
+ radioInput(label) {
|
|
|
|
|
+ this.$emit('radioInput', label)
|
|
|
|
|
+ },
|
|
|
|
|
+ // tag颜色获取
|
|
|
|
|
+ filterColor(value, list, type) {
|
|
|
|
|
+ let color = ''
|
|
|
|
|
+ list.forEach(item => {
|
|
|
|
|
+ if (value[type] === item.value) {
|
|
|
|
|
+ color = item.bgcolor
|
|
|
}
|
|
}
|
|
|
- return isJPG && isLt2M;
|
|
|
|
|
- },
|
|
|
|
|
- // 添加编号
|
|
|
|
|
- serialNumber(field) {
|
|
|
|
|
- if (this.inputs) {
|
|
|
|
|
- if (field == 'drugCode') {
|
|
|
|
|
- let index = this.commodityList.findIndex((item) => item.code === this.inputs);
|
|
|
|
|
- // 如果有就替换,没有就添加
|
|
|
|
|
- if (index == -1) {
|
|
|
|
|
- this.loadedDrug = true
|
|
|
|
|
- var requestOptions = {
|
|
|
|
|
- method: 'GET',
|
|
|
|
|
- redirect: 'follow'
|
|
|
|
|
- };
|
|
|
|
|
- fetch("https://public.coldbaozhida.com/Ali_msfx/codedetail?code=" + this.inputs, requestOptions)
|
|
|
|
|
- .then(response => response.json())
|
|
|
|
|
- .then(data => {
|
|
|
|
|
- if (data.status == 200) {
|
|
|
|
|
- this.inputs = ''
|
|
|
|
|
- let arr = JSON.parse(data.data)
|
|
|
|
|
- // console.log(arr, 24)
|
|
|
|
|
- if (arr.result.models.length > 0) {
|
|
|
|
|
- let drugList = {
|
|
|
|
|
- code: '',
|
|
|
|
|
- physic_name: '',
|
|
|
|
|
- physic_type_desc: '',
|
|
|
|
|
- pkg_spec_crit: '',
|
|
|
|
|
- ent_name: '',
|
|
|
|
|
- }
|
|
|
|
|
- drugList.code = arr.result.models[0].code
|
|
|
|
|
- drugList.physic_name = arr.result.models[0].drug_ent_base_d_t_o.physic_name
|
|
|
|
|
- drugList.physic_type_desc = arr.result.models[0].drug_ent_base_d_t_o.physic_type_desc
|
|
|
|
|
- drugList.pkg_spec_crit = arr.result.models[0].drug_ent_base_d_t_o.pkg_spec_crit
|
|
|
|
|
- drugList.ent_name = arr.result.models[0].p_user_ent_d_t_o.ent_name
|
|
|
|
|
- this.commodityList.push(drugList)
|
|
|
|
|
- this.commodityList = this.uniqueArray(this.commodityList)
|
|
|
|
|
- this.ruleForm[`${field}`] = this.commodityList
|
|
|
|
|
- } else {
|
|
|
|
|
- this.$message.error('该商品不存在');
|
|
|
|
|
|
|
+ })
|
|
|
|
|
+ return color
|
|
|
|
|
+ },
|
|
|
|
|
+ // 普通类型文字匹配
|
|
|
|
|
+ initDictvalueil(value, list, type) {
|
|
|
|
|
+ let name = ''
|
|
|
|
|
+ if (list) {
|
|
|
|
|
+ list.forEach(item => {
|
|
|
|
|
+ if (value[type] === item.value) {
|
|
|
|
|
+ name = item.label
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ return name
|
|
|
|
|
+ },
|
|
|
|
|
+ handleScroll() {
|
|
|
|
|
+ // console.log('触底了')
|
|
|
|
|
+ this.$emit('handleScroll')
|
|
|
|
|
+ },
|
|
|
|
|
+ remoteMethod(val, type) {
|
|
|
|
|
+ // console.log('远程搜索', val, type)
|
|
|
|
|
+ this.$emit('remoteMethod', val, type)
|
|
|
|
|
+ },
|
|
|
|
|
+ // 删除
|
|
|
|
|
+ handleRemove(file) {
|
|
|
|
|
+ const filteredArr = this.ruleForm.fileList.filter(obj => obj.uid !== file.uid);
|
|
|
|
|
+ this.ruleForm.fileList = filteredArr
|
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
|
+ },
|
|
|
|
|
+ // 查看
|
|
|
|
|
+ handlePictureCardPreview(file) {
|
|
|
|
|
+ this.dialogImageUrl = file.url;
|
|
|
|
|
+ this.dialogVisible = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ beforeAvatarUpload(file) {
|
|
|
|
|
+ const isJPG = file.type === 'image/jpeg';
|
|
|
|
|
+ const isLt2M = file.size / 1024 / 1024 < 2;
|
|
|
|
|
+ if (!isJPG) {
|
|
|
|
|
+ this.$message.error('上传头像图片只能是 JPG 格式!');
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!isLt2M) {
|
|
|
|
|
+ this.$message.error('上传头像图片大小不能超过 2MB!');
|
|
|
|
|
+ }
|
|
|
|
|
+ return isJPG && isLt2M;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 添加编号
|
|
|
|
|
+ serialNumber(field) {
|
|
|
|
|
+ if (this.inputs) {
|
|
|
|
|
+ if (field == 'drugCode') {
|
|
|
|
|
+ let index = this.commodityList.findIndex((item) => item.code === this.inputs);
|
|
|
|
|
+ // 如果有就替换,没有就添加
|
|
|
|
|
+ if (index == -1) {
|
|
|
|
|
+ this.loadedDrug = true
|
|
|
|
|
+ var requestOptions = {
|
|
|
|
|
+ method: 'GET',
|
|
|
|
|
+ redirect: 'follow'
|
|
|
|
|
+ };
|
|
|
|
|
+ fetch("https://public.coldbaozhida.com/Ali_msfx/codedetail?code=" + this.inputs, requestOptions)
|
|
|
|
|
+ .then(response => response.json())
|
|
|
|
|
+ .then(data => {
|
|
|
|
|
+ if (data.status == 200) {
|
|
|
|
|
+ this.inputs = ''
|
|
|
|
|
+ let arr = JSON.parse(data.data)
|
|
|
|
|
+ // console.log(arr, 24)
|
|
|
|
|
+ if (arr.result.models.length > 0) {
|
|
|
|
|
+ let drugList = {
|
|
|
|
|
+ code: '',
|
|
|
|
|
+ physic_name: '',
|
|
|
|
|
+ physic_type_desc: '',
|
|
|
|
|
+ pkg_spec_crit: '',
|
|
|
|
|
+ ent_name: '',
|
|
|
}
|
|
}
|
|
|
|
|
+ drugList.code = arr.result.models[0].code
|
|
|
|
|
+ drugList.physic_name = arr.result.models[0].drug_ent_base_d_t_o.physic_name
|
|
|
|
|
+ drugList.physic_type_desc = arr.result.models[0].drug_ent_base_d_t_o.physic_type_desc
|
|
|
|
|
+ drugList.pkg_spec_crit = arr.result.models[0].drug_ent_base_d_t_o.pkg_spec_crit
|
|
|
|
|
+ drugList.ent_name = arr.result.models[0].p_user_ent_d_t_o.ent_name
|
|
|
|
|
+ this.commodityList.push(drugList)
|
|
|
|
|
+ this.commodityList = this.uniqueArray(this.commodityList)
|
|
|
|
|
+ this.ruleForm[`${field}`] = this.commodityList
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error('该商品不存在');
|
|
|
}
|
|
}
|
|
|
- this.loadedDrug = false
|
|
|
|
|
- }).catch(error => {
|
|
|
|
|
- this.$message.error('添加失败');
|
|
|
|
|
- this.loadedDrug = false
|
|
|
|
|
- });
|
|
|
|
|
- // return
|
|
|
|
|
- // aliMsfx({
|
|
|
|
|
- // code: this.inputs,
|
|
|
|
|
- // }).then(res => {}).catch(() => {
|
|
|
|
|
- // this.$message.error('添加失败');
|
|
|
|
|
- // this.loadedDrug = false
|
|
|
|
|
- // })
|
|
|
|
|
- } else {
|
|
|
|
|
- this.$message.warning('该商品已存在');
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ this.loadedDrug = false
|
|
|
|
|
+ }).catch(error => {
|
|
|
|
|
+ this.$message.error('添加失败');
|
|
|
|
|
+ this.loadedDrug = false
|
|
|
|
|
+ });
|
|
|
|
|
+ // return
|
|
|
|
|
+ // aliMsfx({
|
|
|
|
|
+ // code: this.inputs,
|
|
|
|
|
+ // }).then(res => {}).catch(() => {
|
|
|
|
|
+ // this.$message.error('添加失败');
|
|
|
|
|
+ // this.loadedDrug = false
|
|
|
|
|
+ // })
|
|
|
} else {
|
|
} else {
|
|
|
- getIceRaftCode(this.inputs).then(res => {
|
|
|
|
|
- if (res.code == 200) {
|
|
|
|
|
- this.inputsList.push(this.inputs)
|
|
|
|
|
- this.inputsList = this.uniqueArray(this.inputsList)
|
|
|
|
|
- console.log(this.inputsList, 889)
|
|
|
|
|
- this.inputs = ''
|
|
|
|
|
- this.ruleForm[`${field}`] = this.inputsList
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.$message.warning('该商品已存在');
|
|
|
}
|
|
}
|
|
|
|
|
+ } else {
|
|
|
|
|
+ getIceRaftCode(this.inputs).then(res => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.inputsList.push(this.inputs)
|
|
|
|
|
+ this.inputsList = this.uniqueArray(this.inputsList)
|
|
|
|
|
+ console.log(this.inputsList, 889)
|
|
|
|
|
+ this.inputs = ''
|
|
|
|
|
+ this.ruleForm[`${field}`] = this.inputsList
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
- },
|
|
|
|
|
- // 回车添加
|
|
|
|
|
- keydownBarcode(field) {
|
|
|
|
|
- if (this.inputs) {
|
|
|
|
|
- this.inputsList.push(this.inputs)
|
|
|
|
|
- this.inputsList = this.uniqueArray(this.inputsList)
|
|
|
|
|
- this.inputs = ''
|
|
|
|
|
- this.ruleForm[`${field}`] = this.inputsList
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- // 输入
|
|
|
|
|
- iceRaftInput(value) {
|
|
|
|
|
- let arr = []
|
|
|
|
|
- arr.push(value)
|
|
|
|
|
- this.ruleForm.code = arr
|
|
|
|
|
- },
|
|
|
|
|
- // 药品删除
|
|
|
|
|
- deleteRow(index, rows) {
|
|
|
|
|
- rows.splice(index, 1);
|
|
|
|
|
- },
|
|
|
|
|
- // 去重
|
|
|
|
|
- uniqueArray(arr) {
|
|
|
|
|
- return [...new Set(arr)];
|
|
|
|
|
- },
|
|
|
|
|
- // 删除编号
|
|
|
|
|
- delSerial(value, index) {
|
|
|
|
|
- this.inputsList.splice(index, 1)
|
|
|
|
|
- this.ruleForm[`${this.typeField}`] = this.inputsList
|
|
|
|
|
- // this.ruleForm['code'].splice(index, 1);
|
|
|
|
|
- },
|
|
|
|
|
- focus(field) {
|
|
|
|
|
- this.typeField = field
|
|
|
|
|
- },
|
|
|
|
|
- // 级联选择器关闭
|
|
|
|
|
- handleChange(value, type) {
|
|
|
|
|
- if (this.$refs.organizerUnit) {
|
|
|
|
|
- this.$refs.organizerUnit[0].dropDownVisible = false
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- scanHeight(num) {
|
|
|
|
|
- let arr = '0px'
|
|
|
|
|
- if (num < 4) {
|
|
|
|
|
- arr = num * 45 + 'px'
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 回车添加
|
|
|
|
|
+ keydownBarcode(field) {
|
|
|
|
|
+ if (this.inputs) {
|
|
|
|
|
+ this.inputsList.push(this.inputs)
|
|
|
|
|
+ this.inputsList = this.uniqueArray(this.inputsList)
|
|
|
|
|
+ this.inputs = ''
|
|
|
|
|
+ this.ruleForm[`${field}`] = this.inputsList
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 输入
|
|
|
|
|
+ iceRaftInput(value) {
|
|
|
|
|
+ let arr = []
|
|
|
|
|
+ arr.push(value)
|
|
|
|
|
+ this.ruleForm.code = arr
|
|
|
|
|
+ },
|
|
|
|
|
+ // 药品删除
|
|
|
|
|
+ deleteRow(index, rows) {
|
|
|
|
|
+ rows.splice(index, 1);
|
|
|
|
|
+ },
|
|
|
|
|
+ // 去重
|
|
|
|
|
+ uniqueArray(arr) {
|
|
|
|
|
+ return [...new Set(arr)];
|
|
|
|
|
+ },
|
|
|
|
|
+ // 删除编号
|
|
|
|
|
+ delSerial(value, index) {
|
|
|
|
|
+ this.inputsList.splice(index, 1)
|
|
|
|
|
+ this.ruleForm[`${this.typeField}`] = this.inputsList
|
|
|
|
|
+ // this.ruleForm['code'].splice(index, 1);
|
|
|
|
|
+ },
|
|
|
|
|
+ focus(field) {
|
|
|
|
|
+ this.typeField = field
|
|
|
|
|
+ },
|
|
|
|
|
+ // 级联选择器关闭
|
|
|
|
|
+ handleChange(value, type) {
|
|
|
|
|
+ if (this.$refs.organizerUnit) {
|
|
|
|
|
+ this.$refs.organizerUnit[0].dropDownVisible = false
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ scanHeight(num) {
|
|
|
|
|
+ let arr = '0px'
|
|
|
|
|
+ if (num < 4) {
|
|
|
|
|
+ arr = num * 45 + 'px'
|
|
|
|
|
+ } else {
|
|
|
|
|
+ arr = 3 * 45 + 'px'
|
|
|
|
|
+ }
|
|
|
|
|
+ return arr
|
|
|
|
|
+ },
|
|
|
|
|
+ //子组件校验,传递到父组件
|
|
|
|
|
+ validateForm() {
|
|
|
|
|
+ let flag = null
|
|
|
|
|
+ this.$refs['ruleForm'].validate(valid => {
|
|
|
|
|
+ if (valid) {
|
|
|
|
|
+ flag = true
|
|
|
} else {
|
|
} else {
|
|
|
- arr = 3 * 45 + 'px'
|
|
|
|
|
|
|
+ flag = false
|
|
|
}
|
|
}
|
|
|
- return arr
|
|
|
|
|
- },
|
|
|
|
|
- //子组件校验,传递到父组件
|
|
|
|
|
- validateForm() {
|
|
|
|
|
- let flag = null
|
|
|
|
|
- this.$refs['ruleForm'].validate(valid => {
|
|
|
|
|
- if (valid) {
|
|
|
|
|
- flag = true
|
|
|
|
|
- } else {
|
|
|
|
|
- flag = false
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- return flag
|
|
|
|
|
- },
|
|
|
|
|
- coordFocus() {
|
|
|
|
|
- this.innerVisible = true
|
|
|
|
|
|
|
+ })
|
|
|
|
|
+ return flag
|
|
|
|
|
+ },
|
|
|
|
|
+ coordFocus() {
|
|
|
|
|
+ this.innerVisible = true
|
|
|
|
|
|
|
|
- },
|
|
|
|
|
- mapOpened() {
|
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
|
- setTimeout(() => {
|
|
|
|
|
- this.keyUpSearch()
|
|
|
|
|
- }, 100)
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- keyUpSearch() {
|
|
|
|
|
- var that = this
|
|
|
|
|
- that.map = new AMap.Map("container", {
|
|
|
|
|
- resizeEnable: true,
|
|
|
|
|
- zoom: 3,
|
|
|
|
|
- });
|
|
|
|
|
- that.map.setFitView()
|
|
|
|
|
- // 关键字查询
|
|
|
|
|
- that.searchMap();
|
|
|
|
|
- // 监听鼠标点击事件
|
|
|
|
|
- that.map.on("click", that.clickMapHandler);
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ mapOpened() {
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.keyUpSearch()
|
|
|
|
|
+ }, 100)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ keyUpSearch() {
|
|
|
|
|
+ var that = this
|
|
|
|
|
+ that.map = new AMap.Map("container", {
|
|
|
|
|
+ resizeEnable: true,
|
|
|
|
|
+ zoom: 3,
|
|
|
|
|
+ });
|
|
|
|
|
+ that.map.setFitView()
|
|
|
|
|
+ // 关键字查询
|
|
|
|
|
+ that.searchMap();
|
|
|
|
|
+ // 监听鼠标点击事件
|
|
|
|
|
+ that.map.on("click", that.clickMapHandler);
|
|
|
|
|
|
|
|
- },
|
|
|
|
|
- searchMap() {
|
|
|
|
|
- var that = this
|
|
|
|
|
- // 搜索框自动完成类
|
|
|
|
|
- that.auto = new AMap.Autocomplete({
|
|
|
|
|
- input: "tipinputMap", // 使用联想输入的input的id
|
|
|
|
|
- });
|
|
|
|
|
- //构造地点查询类
|
|
|
|
|
- that.placeSearch = new AMap.PlaceSearch({
|
|
|
|
|
- map: that.map,
|
|
|
|
|
- });
|
|
|
|
|
- // 当选中某条搜索记录时触发
|
|
|
|
|
- that.auto.on("select", that.selectSite);
|
|
|
|
|
- },
|
|
|
|
|
- //选中查询出的记录
|
|
|
|
|
- selectSite(e) {
|
|
|
|
|
- if (e.poi.location) {
|
|
|
|
|
- // this.lnglat = [e.poi.location.lng, e.poi.location.lat];
|
|
|
|
|
- this.placeSearch.setCity(e.poi.adcode);
|
|
|
|
|
- this.placeSearch.search(e.poi.name); //关键字查询
|
|
|
|
|
- let geocoder = new AMap.Geocoder({});
|
|
|
|
|
- let that = this;
|
|
|
|
|
- geocoder.getAddress(this.lnglat, function(status, result) {
|
|
|
|
|
- if (status === "complete" && result.regeocode) {
|
|
|
|
|
- if (result.regeocode) {
|
|
|
|
|
- that.province = result.regeocode.addressComponent.province;
|
|
|
|
|
- that.city = result.regeocode.addressComponent.city;
|
|
|
|
|
- //自己想要赋的值,根据自己的做修改
|
|
|
|
|
- that.$set(that.form, "province", that.province);
|
|
|
|
|
- }
|
|
|
|
|
- that.$set(that.form, "city", that.city);
|
|
|
|
|
- that.$set(that.form, "address", e.poi.name);
|
|
|
|
|
- that.$set(
|
|
|
|
|
- that.form,
|
|
|
|
|
- "companyCoordinate",
|
|
|
|
|
- e.poi.location.lng + "," + e.poi.location.lat
|
|
|
|
|
- ); //纬度,经度
|
|
|
|
|
- } else {}
|
|
|
|
|
- });
|
|
|
|
|
- } else {
|
|
|
|
|
- this.$message.error("查询地址失败,请重新输入地址");
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- // 点击地图事件获取经纬度,并添加标记
|
|
|
|
|
- clickMapHandler(e) {
|
|
|
|
|
- // console.log(e, 23)
|
|
|
|
|
- this.dataForm.kqLongitude = e.lnglat.getLng();
|
|
|
|
|
- this.dataForm.kqLatitude = e.lnglat.getLat();
|
|
|
|
|
- this.lnglat = [e.lnglat.getLng(), e.lnglat.getLat()];
|
|
|
|
|
- // this.ruleForm.companyCoordinate = e.lnglat.getLng() + ',' + e.lnglat.getLat();
|
|
|
|
|
- this.setMarker(this.lnglat);
|
|
|
|
|
- // 点击地图上的位置,根据经纬度转换成详细地址
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ searchMap() {
|
|
|
|
|
+ var that = this
|
|
|
|
|
+ // 搜索框自动完成类
|
|
|
|
|
+ that.auto = new AMap.Autocomplete({
|
|
|
|
|
+ input: "tipinputMap", // 使用联想输入的input的id
|
|
|
|
|
+ });
|
|
|
|
|
+ //构造地点查询类
|
|
|
|
|
+ that.placeSearch = new AMap.PlaceSearch({
|
|
|
|
|
+ map: that.map,
|
|
|
|
|
+ });
|
|
|
|
|
+ // 当选中某条搜索记录时触发
|
|
|
|
|
+ that.auto.on("select", that.selectSite);
|
|
|
|
|
+ },
|
|
|
|
|
+ //选中查询出的记录
|
|
|
|
|
+ selectSite(e) {
|
|
|
|
|
+ if (e.poi.location) {
|
|
|
|
|
+ // this.lnglat = [e.poi.location.lng, e.poi.location.lat];
|
|
|
|
|
+ this.placeSearch.setCity(e.poi.adcode);
|
|
|
|
|
+ this.placeSearch.search(e.poi.name); //关键字查询
|
|
|
let geocoder = new AMap.Geocoder({});
|
|
let geocoder = new AMap.Geocoder({});
|
|
|
let that = this;
|
|
let that = this;
|
|
|
- geocoder.getAddress(this.lnglat, function(status, result) {
|
|
|
|
|
|
|
+ geocoder.getAddress(this.lnglat, function (status, result) {
|
|
|
if (status === "complete" && result.regeocode) {
|
|
if (status === "complete" && result.regeocode) {
|
|
|
- // that.ruleForm.companyAddress = result.regeocode.formattedAddress;
|
|
|
|
|
- that.dataForm.kqLocation = result.regeocode.formattedAddress;
|
|
|
|
|
- } else {}
|
|
|
|
|
- });
|
|
|
|
|
- this.position = {
|
|
|
|
|
- longitude: e.lnglat.getLng(),
|
|
|
|
|
- latitude: e.lnglat.getLat(),
|
|
|
|
|
- address: that.address,
|
|
|
|
|
- };
|
|
|
|
|
- this.inputAddress = that.address;
|
|
|
|
|
- },
|
|
|
|
|
- // 添加标记
|
|
|
|
|
- setMarker(lnglat) {
|
|
|
|
|
- this.removeMarker();
|
|
|
|
|
- let marker = new AMap.Marker({
|
|
|
|
|
- position: lnglat,
|
|
|
|
|
|
|
+ if (result.regeocode) {
|
|
|
|
|
+ that.province = result.regeocode.addressComponent.province;
|
|
|
|
|
+ that.city = result.regeocode.addressComponent.city;
|
|
|
|
|
+ //自己想要赋的值,根据自己的做修改
|
|
|
|
|
+ that.$set(that.form, "province", that.province);
|
|
|
|
|
+ }
|
|
|
|
|
+ that.$set(that.form, "city", that.city);
|
|
|
|
|
+ that.$set(that.form, "address", e.poi.name);
|
|
|
|
|
+ that.$set(
|
|
|
|
|
+ that.form,
|
|
|
|
|
+ "companyCoordinate",
|
|
|
|
|
+ e.poi.location.lng + "," + e.poi.location.lat
|
|
|
|
|
+ ); //纬度,经度
|
|
|
|
|
+ } else { }
|
|
|
});
|
|
});
|
|
|
- marker.setMap(this.map);
|
|
|
|
|
- this.markers.push(marker);
|
|
|
|
|
- },
|
|
|
|
|
- // 删除之前后的标记点
|
|
|
|
|
- removeMarker() {
|
|
|
|
|
- if (this.markers) {
|
|
|
|
|
- this.map.remove(this.markers);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- // 确定经纬度
|
|
|
|
|
- confirmLocation() {
|
|
|
|
|
- if (this.dataForm.kqLongitude) {
|
|
|
|
|
- this.innerVisible = false
|
|
|
|
|
- this.ruleForm.companyCoordinate = this.dataForm.kqLongitude + ',' + this.dataForm.kqLatitude
|
|
|
|
|
- this.ruleForm.companyAddress = this.dataForm.kqLocation
|
|
|
|
|
- this.$refs.ruleForm.validateField('companyCoordinate')
|
|
|
|
|
- this.$refs.ruleForm.validateField('companyAddress')
|
|
|
|
|
- } else {
|
|
|
|
|
- this.$message.warning("请点击选择具体位置");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error("查询地址失败,请重新输入地址");
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 点击地图事件获取经纬度,并添加标记
|
|
|
|
|
+ clickMapHandler(e) {
|
|
|
|
|
+ // console.log(e, 23)
|
|
|
|
|
+ this.dataForm.kqLongitude = e.lnglat.getLng();
|
|
|
|
|
+ this.dataForm.kqLatitude = e.lnglat.getLat();
|
|
|
|
|
+ this.lnglat = [e.lnglat.getLng(), e.lnglat.getLat()];
|
|
|
|
|
+ // this.ruleForm.companyCoordinate = e.lnglat.getLng() + ',' + e.lnglat.getLat();
|
|
|
|
|
+ this.setMarker(this.lnglat);
|
|
|
|
|
+ // 点击地图上的位置,根据经纬度转换成详细地址
|
|
|
|
|
+ let geocoder = new AMap.Geocoder({});
|
|
|
|
|
+ let that = this;
|
|
|
|
|
+ geocoder.getAddress(this.lnglat, function (status, result) {
|
|
|
|
|
+ if (status === "complete" && result.regeocode) {
|
|
|
|
|
+ // that.ruleForm.companyAddress = result.regeocode.formattedAddress;
|
|
|
|
|
+ that.dataForm.kqLocation = result.regeocode.formattedAddress;
|
|
|
|
|
+ } else { }
|
|
|
|
|
+ });
|
|
|
|
|
+ this.position = {
|
|
|
|
|
+ longitude: e.lnglat.getLng(),
|
|
|
|
|
+ latitude: e.lnglat.getLat(),
|
|
|
|
|
+ address: that.address,
|
|
|
|
|
+ };
|
|
|
|
|
+ this.inputAddress = that.address;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 添加标记
|
|
|
|
|
+ setMarker(lnglat) {
|
|
|
|
|
+ this.removeMarker();
|
|
|
|
|
+ let marker = new AMap.Marker({
|
|
|
|
|
+ position: lnglat,
|
|
|
|
|
+ });
|
|
|
|
|
+ marker.setMap(this.map);
|
|
|
|
|
+ this.markers.push(marker);
|
|
|
|
|
+ },
|
|
|
|
|
+ // 删除之前后的标记点
|
|
|
|
|
+ removeMarker() {
|
|
|
|
|
+ if (this.markers) {
|
|
|
|
|
+ this.map.remove(this.markers);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 确定经纬度
|
|
|
|
|
+ confirmLocation() {
|
|
|
|
|
+ if (this.dataForm.kqLongitude) {
|
|
|
|
|
+ this.innerVisible = false
|
|
|
|
|
+ this.ruleForm.companyCoordinate = this.dataForm.kqLongitude + ',' + this.dataForm.kqLatitude
|
|
|
|
|
+ this.ruleForm.companyAddress = this.dataForm.kqLocation
|
|
|
|
|
+ this.$refs.ruleForm.validateField('companyCoordinate')
|
|
|
|
|
+ this.$refs.ruleForm.validateField('companyAddress')
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.warning("请点击选择具体位置");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
- ::v-deep .el-form-item__label {
|
|
|
|
|
- pointer-events: none !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-form-item__label {
|
|
|
|
|
+ pointer-events: none !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- ::v-deep .el-cascader {
|
|
|
|
|
- width: 100% !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-cascader {
|
|
|
|
|
+ width: 100% !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_purple ::v-deep .el-upload-list__item {
|
|
|
|
|
- width: 120px !important;
|
|
|
|
|
- height: 120px !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_purple ::v-deep .el-upload-list__item {
|
|
|
|
|
+ width: 120px !important;
|
|
|
|
|
+ height: 120px !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_purple ::v-deep .el-upload--picture-card {
|
|
|
|
|
- width: 120px !important;
|
|
|
|
|
- height: 120px !important;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_purple ::v-deep .el-upload--picture-card {
|
|
|
|
|
+ width: 120px !important;
|
|
|
|
|
+ height: 120px !important;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_independent ::v-deep .icon_circle_btn {
|
|
|
|
|
- font-size: 20px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_independent ::v-deep .icon_circle_btn {
|
|
|
|
|
+ font-size: 20px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_employee {
|
|
|
|
|
- // max-height: 530px;
|
|
|
|
|
- overflow-y: auto;
|
|
|
|
|
- overflow-x: hidden;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_employee {
|
|
|
|
|
+ // max-height: 530px;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ overflow-x: hidden;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .margin-l-50 {
|
|
|
|
|
- margin-right: 50px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.margin-l-50 {
|
|
|
|
|
+ margin-right: 50px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_fuel_gas {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_fuel_gas {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- ::v-deep .el-form-item__label {
|
|
|
|
|
- height: 40px !important;
|
|
|
|
|
- display: flex !important;
|
|
|
|
|
- align-items: center !important;
|
|
|
|
|
- justify-content: flex-end !important;
|
|
|
|
|
- line-height: unset !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-form-item__label {
|
|
|
|
|
+ height: 40px !important;
|
|
|
|
|
+ display: flex !important;
|
|
|
|
|
+ align-items: center !important;
|
|
|
|
|
+ justify-content: flex-end !important;
|
|
|
|
|
+ line-height: unset !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_fuel_gas ::v-deep .el-form-item__label {
|
|
|
|
|
- width: 150px !important;
|
|
|
|
|
- text-align: left;
|
|
|
|
|
- // margin-bottom: 20px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_fuel_gas ::v-deep .el-form-item__label {
|
|
|
|
|
+ width: 150px !important;
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ // margin-bottom: 20px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_descriptions {
|
|
|
|
|
- margin-bottom: 10px !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_descriptions {
|
|
|
|
|
+ margin-bottom: 10px !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_fuel_gas ::v-deep .el-form-item__content {
|
|
|
|
|
- margin-left: 0px !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_fuel_gas ::v-deep .el-form-item__content {
|
|
|
|
|
+ margin-left: 0px !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_purple {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_purple {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .descriptions_title {
|
|
|
|
|
- position: relative;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.descriptions_title {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .descriptions_badge {
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- width: fit-content;
|
|
|
|
|
- width: -webkit-fit-content;
|
|
|
|
|
- width: -moz-fit-content;
|
|
|
|
|
- top: -10px;
|
|
|
|
|
- right: -35px;
|
|
|
|
|
- color: #169BD5;
|
|
|
|
|
- font-size: 12px;
|
|
|
|
|
- line-height: 14px;
|
|
|
|
|
- padding: 2px;
|
|
|
|
|
- border: 1px solid #169BD5;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.descriptions_badge {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ width: fit-content;
|
|
|
|
|
+ width: -webkit-fit-content;
|
|
|
|
|
+ width: -moz-fit-content;
|
|
|
|
|
+ top: -10px;
|
|
|
|
|
+ right: -35px;
|
|
|
|
|
+ color: #169BD5;
|
|
|
|
|
+ font-size: 12px;
|
|
|
|
|
+ line-height: 14px;
|
|
|
|
|
+ padding: 2px;
|
|
|
|
|
+ border: 1px solid #169BD5;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .unit_card {
|
|
|
|
|
- width: auto;
|
|
|
|
|
- padding-left: 10px;
|
|
|
|
|
- flex: none;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.unit_card {
|
|
|
|
|
+ width: auto;
|
|
|
|
|
+ padding-left: 10px;
|
|
|
|
|
+ flex: none;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_independent ::v-deep .el-form-item__content {
|
|
|
|
|
- display: flex !important;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_independent ::v-deep .el-form-item__content {
|
|
|
|
|
+ display: flex !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_image {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: row;
|
|
|
|
|
- flex-wrap: wrap;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_image {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: row;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .avatar_image {
|
|
|
|
|
- width: 140px;
|
|
|
|
|
- height: 140px;
|
|
|
|
|
- border-radius: 6px;
|
|
|
|
|
- margin: 0 8px 8px 0;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.avatar_image {
|
|
|
|
|
+ width: 140px;
|
|
|
|
|
+ height: 140px;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ margin: 0 8px 8px 0;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .ser_card_ial {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: space-between;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.ser_card_ial {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .margin_around {
|
|
|
|
|
- margin: 5px 0px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.margin_around {
|
|
|
|
|
+ margin: 5px 0px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .title_serial {
|
|
|
|
|
- margin-left: 10px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.title_serial {
|
|
|
|
|
+ margin-left: 10px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .del_serial {
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- color: #F56C6C;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.del_serial {
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ color: #F56C6C;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_IceList {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- top: 60px;
|
|
|
|
|
- left: 0;
|
|
|
|
|
- right: 5px;
|
|
|
|
|
- padding: 0px 10px;
|
|
|
|
|
- max-height: 125px;
|
|
|
|
|
- overflow-y: auto;
|
|
|
|
|
- box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
|
|
- border-radius: 4px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_IceList {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 60px;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ right: 5px;
|
|
|
|
|
+ padding: 0px 10px;
|
|
|
|
|
+ max-height: 125px;
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+::v-deep .el-transfer {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+::v-deep .el-transfer__buttons {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ padding: 0px 10px;
|
|
|
|
|
|
|
|
- ::v-deep .el-transfer {
|
|
|
|
|
|
|
+ .el-button {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
|
|
+ justify-content: center;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 30px;
|
|
|
}
|
|
}
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- ::v-deep .el-transfer__buttons {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- padding: 0px 10px;
|
|
|
|
|
-
|
|
|
|
|
- .el-button {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- width: 30px;
|
|
|
|
|
- height: 30px;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.forms_switch {
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .forms_switch {
|
|
|
|
|
- height: 40px;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.custom-width {
|
|
|
|
|
+ width: 100px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .custom-width {
|
|
|
|
|
- width: 100px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.el-date-editor.el-input {
|
|
|
|
|
+ width: 100% !important;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .el-date-editor.el-input {
|
|
|
|
|
- width: 100% !important;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- ::v-deep .el-dialog__header {
|
|
|
|
|
- display: none;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-dialog__header {
|
|
|
|
|
+ display: none;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- ::v-deep .el-dialog__body {
|
|
|
|
|
- // display: none;
|
|
|
|
|
- padding: 0px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-dialog__body {
|
|
|
|
|
+ // display: none;
|
|
|
|
|
+ padding: 0px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- ::v-deep .el-select__input {
|
|
|
|
|
- color: #ffffff;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+::v-deep .el-select__input {
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_search_box {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- border-bottom: 1px solid rgba(95, 99, 127, 0.8);
|
|
|
|
|
- padding: 10px 20px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_search_box {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ border-bottom: 1px solid rgba(95, 99, 127, 0.8);
|
|
|
|
|
+ padding: 10px 20px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_coordMap {
|
|
|
|
|
- width: calc(100% - 40px);
|
|
|
|
|
- height: 600px;
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- padding: 20px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_coordMap {
|
|
|
|
|
+ width: calc(100% - 40px);
|
|
|
|
|
+ height: 600px;
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- #container {
|
|
|
|
|
- position: relative;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+#container {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .close_map {
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- top: 10px;
|
|
|
|
|
- right: 10px;
|
|
|
|
|
- font-size: 25px;
|
|
|
|
|
- width: 40px;
|
|
|
|
|
- height: 40px;
|
|
|
|
|
- background-color: rgba(245, 108, 108, .7);
|
|
|
|
|
- box-shadow: 0 2px 4px rgba(245, 108, 108, .7);
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.close_map {
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 10px;
|
|
|
|
|
+ right: 10px;
|
|
|
|
|
+ font-size: 25px;
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ background-color: rgba(245, 108, 108, .7);
|
|
|
|
|
+ box-shadow: 0 2px 4px rgba(245, 108, 108, .7);
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .card_coord {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- align-items: flex-start;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- background-color: rgba(103, 194, 58, .6);
|
|
|
|
|
- padding: 4px 10px;
|
|
|
|
|
- border-radius: 5px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.card_coord {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: flex-start;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ background-color: rgba(103, 194, 58, .6);
|
|
|
|
|
+ padding: 4px 10px;
|
|
|
|
|
+ border-radius: 5px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .coord_address {
|
|
|
|
|
- font-size: 15px;
|
|
|
|
|
- color: #ffffff;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.coord_address {
|
|
|
|
|
+ font-size: 15px;
|
|
|
|
|
+ color: #ffffff;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|