New file |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | //魅宠基本信息 |
| | | |
| | | // 查询所有魅宠记录 |
| | | export function listPet(query) { |
| | | return request({ |
| | | url: '/zfPet/all', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | //增加魅宠记录 |
| | | export function addPet(data) |
| | | { |
| | | return request({ |
| | | url: '/zfPet', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | // 根据id查询所有魅宠信息 |
| | | export function getPetList(id) { |
| | | return request({ |
| | | url: '/zfPet/' + id, |
| | | method: 'get', |
| | | |
| | | }) |
| | | } |
| | | // 删除魅宠记录 |
| | | export function delPet(Ids) { |
| | | return request({ |
| | | url: '/zfPet/' + Ids, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | //修改魅宠记录 |
| | | export function updatePet(data) { |
| | | return request({ |
| | | url: '/zfPet', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | //魅宠主人信息 |
| | | |
| | | //根据宠物id查询主人信息 |
| | | export function getPetowner(id,pid) { |
| | | return request({ |
| | | url: '/zfMaster/' + id + '/pid='+pid, |
| | | method: 'get', |
| | | }) |
| | | } |
| | | //修改魅宠主人信息 |
| | | export function updatePetowner(data) { |
| | | return request({ |
| | | url: '/zfMaster', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | //新增魅宠主人信息 |
| | | export function addPetowner(data) |
| | | { |
| | | return request({ |
| | | url: '/zfMaster', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | //删除魅宠主人信息 |
| | | export function delPetowner(Ids) { |
| | | return request({ |
| | | url: '/zfMaster/' + Ids, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | //魅宠备忘录 |
| | | // 查询所有魅宠备忘录记录 |
| | | export function listPetnote(query) { |
| | | return request({ |
| | | url: '/family/zfPetNote/all', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | //增加魅宠备忘录记录 |
| | | export function addPetnote(data) |
| | | { |
| | | return request({ |
| | | url: '/family/zfPetNote', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | // 根据id查询所有魅宠备忘录信息 |
| | | export function getPetnoteList(id) { |
| | | return request({ |
| | | url: '/family/zfPetNote/' + id, |
| | | method: 'get', |
| | | |
| | | }) |
| | | } |
| | | // 删除魅宠备忘录记录 |
| | | export function delPetnote(Ids) { |
| | | return request({ |
| | | url: '/zfPet/' + Ids, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | //修改魅宠备忘录记录 |
| | | export function updatenotePet(data) { |
| | | return request({ |
| | | url: '/zfPet', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | |
| | | } |
| | | ] |
| | | }, |
| | | //魅宠备忘录 |
| | | { |
| | | path: '/familymodel/pet', |
| | | component: Layout, |
| | | // permissions: [], |
| | | hidden: true, |
| | | permissions: ['familymodel:pet:list'], |
| | | |
| | | children: [ |
| | | { |
| | | path: 'petnote/:pid(\\d+)', |
| | | component: () => import('@/views/pet/petnote'), |
| | | name: 'petnote', |
| | | meta: { title: '备忘录',activeMenu: '/familymodel/zfPetNote'} |
| | | } |
| | | ] |
| | | }, |
| | | //家庭小医生 |
| | | { |
| | | path: '/familymodel/Doctor', |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | <el-form-item label="类型" prop="type"> |
| | | <el-select |
| | | v-model="queryParams.type" |
| | | placeholder="所有类型" |
| | | clearable |
| | | style="width: 240px" |
| | | > |
| | | <el-option |
| | | v-for="dict in typeOptions" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | <el-form-item label="名字" prop="name"> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入名字" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="证件号码" prop="idNum"> |
| | | <el-input |
| | | v-model="queryParams.idNum" |
| | | placeholder="请输入证件号码" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="持有人" prop="holder"> |
| | | <el-input |
| | | v-model="queryParams.holder" |
| | | placeholder="请输入持有人" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="具体位置" prop="address"> |
| | | <el-input |
| | | v-model="queryParams.address" |
| | | placeholder="请输入具体位置" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> --> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="发生时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px" |
| | | value-format="yyyy-MM-dd HH-MM-SS" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3; |
| | | border-radius:6px 6px 6px 6px;opacity:1;">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3; |
| | | border-radius:6px 6px 6px 6px;opacity:1;">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['system:role:add']" |
| | | >新增</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['family:note:export']" |
| | | >导出</el-button> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['family:note:export']" |
| | | >导入模板下载</el-button> |
| | | </el-col> |
| | | <el-col :span="1.2"> |
| | | <el-upload |
| | | action="" |
| | | class="upload-demo" |
| | | :show-file-list="false" |
| | | :http-request="handleEnport" |
| | | > |
| | | <el-button size="mini" type="primary" |
| | | plain |
| | | icon="el-icon-plus" >导入</el-button> |
| | | |
| | | </el-upload> |
| | | </el-col> |
| | | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="petList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | |
| | | <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> |
| | | |
| | | <el-table-column label="类型" prop="type" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="名字" prop="name" sortable :show-overflow-tooltip="true" width="150" /> |
| | | <el-table-column label="性别" prop="sex" sortable width="120" > |
| | | <template slot-scope="scope"> |
| | | {{ getSrc1(scope.row.sex) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="颜色" prop="color" sortable width="100" /> |
| | | |
| | | <!-- <el-table-column label="主人姓名" prop="holder" sortable width="100" /> --> |
| | | <el-table-column label="居住地址" prop="address" sortable width="100" /> |
| | | <el-table-column label="证件号码" prop="idNum" sortable width="100" /> |
| | | <!-- <el-table-column label="家庭号" prop="familyId" sortable width="100" /> --> |
| | | <el-table-column label="出生日期" align="center" sortable prop="birth" width="180"> |
| | | |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.birth) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="宠物id" prop="id" sortable width="100" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['familymodel:property:info']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['familymodel:property:info']"> |
| | | <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">查看详情</el-button> |
| | | |
| | | </el-dropdown> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | <!-- 添加或修改资产信息配置对话框 --> |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> |
| | | |
| | | <el-form-item label="类别" prop="type"> |
| | | <el-select v-model="formDat.type" placeholder="请选择类别" clearable :style="{width: '100%'}" > |
| | | <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="标题" prop="title"> |
| | | <el-input v-model="formDat.title" placeholder="请输入标题" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="存储地址" prop="location"> |
| | | <el-input v-model="formDat.location" placeholder="请输入存储地址" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="持有人" prop="holder"> |
| | | <el-input v-model="formDat.holder" placeholder="请输入持有人" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="具体位置" prop="address"> |
| | | <el-input v-model="formDat.address" placeholder="请输入具体位置" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="家庭号" prop="familyId"> |
| | | <el-input v-model="formDat.familyId" placeholder="请输入家庭号" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> --> |
| | | |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input> |
| | | </el-form-item> |
| | | |
| | | <h4 class="form-header">相关图片 </h4> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | multiple |
| | | :http-request="requestUpload" |
| | | :file-list="fileList" |
| | | > |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" |
| | | alt="" |
| | | style="width: 126px; height: 126px" |
| | | fit="cover" |
| | | :preview-src-list="[file.url]" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | |
| | | </div> |
| | | </el-upload> |
| | | <h4 class="form-header">其他附件 </h4> |
| | | <el-upload |
| | | action="" |
| | | :file-list="fileListOther" |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | :on-remove="handleRemove" |
| | | :http-request="requestUpload" |
| | | :show-file-list="true" |
| | | > |
| | | <el-button type="primary">Click to upload</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | | </div> |
| | | </template> |
| | | </el-upload> |
| | | |
| | | </el-form> |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button @click="cancelData">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 分配角色数据权限对话框 --> |
| | | <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> |
| | | |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; |
| | | import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; |
| | | |
| | | |
| | | |
| | | //在system/note/index.js中导入接口函数 |
| | | import {listPet,enload, getPetInfo, delPet,addPet, uploadPic} from "@/api/pet/index"; |
| | | export default { |
| | | name: "Role", |
| | | dicts: ['sys_normal_disable'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | disabled: false, |
| | | |
| | | loading: true, |
| | | formData:[], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | // 资产表格数据 |
| | | petList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 是否显示弹出层(数据权限) |
| | | openDataScope: false, |
| | | menuExpand: false, |
| | | menuNodeAll: false, |
| | | deptExpand: true, |
| | | deptNodeAll: false, |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 数据范围选项 |
| | | fot:[".jpg",".jif"], |
| | | fileList:[ |
| | | ], |
| | | fileListOther:[ |
| | | |
| | | ], |
| | | dsb:true, |
| | | btn:false, |
| | | formDat: { |
| | | type: undefined, |
| | | name: undefined, |
| | | sex: undefined, |
| | | color: undefined, |
| | | address: undefined, |
| | | remark: undefined, |
| | | url: undefined, |
| | | |
| | | }, |
| | | // 菜单列表 |
| | | menuOptions: [], |
| | | // 部门列表 |
| | | deptOptions: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | type:undefined, |
| | | title:undefined, |
| | | location:undefined, |
| | | holder:undefined, |
| | | address:undefined, |
| | | happenStartTime:undefined, |
| | | happenEndTime:undefined |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label" |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | type: [{ |
| | | required: true, |
| | | message: '请选择类别', |
| | | trigger: 'change' |
| | | }], |
| | | title: [{ |
| | | required: true, |
| | | message: '请输入标题', |
| | | trigger: 'blur' |
| | | }], |
| | | location: [{ |
| | | required: true, |
| | | message: '请输入存储地址', |
| | | trigger: 'blur' |
| | | }], |
| | | holder: [{ |
| | | required: true, |
| | | message: '请输入持有人', |
| | | trigger: 'blur' |
| | | }], |
| | | address: [{ |
| | | required: true, |
| | | message: '请输入具体位置', |
| | | trigger: 'blur' |
| | | }], |
| | | // familyId: [{ |
| | | // required: true, |
| | | // message: '请输入familyId', |
| | | // trigger: 'blur' |
| | | // }], |
| | | createTime: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | }], |
| | | }, |
| | | typeOptions: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.getCateInfor() |
| | | |
| | | }, |
| | | methods: { |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | //宠物性别的选择 |
| | | getSrc1(sex) { |
| | | if (sex === 0) { |
| | | return '雌性' |
| | | }else { |
| | | return '雄性' |
| | | } |
| | | }, |
| | | |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | |
| | | /** 查询角色列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | |
| | | // console.log(this.queryParams) |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | listPet(this.queryParams).then(response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | this.petList = response.data.data; |
| | | |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | /** 查询类别信息 */ |
| | | getCateInfor() |
| | | { |
| | | let _this = this |
| | | getCategory().then(response=>{ |
| | | |
| | | response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ |
| | | _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | handleRemove(file) { |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | if(this.fileListOther[i].url==file.url) |
| | | this.$delete(this.fileListOther,i); |
| | | } |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 取消按钮(数据权限) |
| | | cancelDataScope() { |
| | | this.openDataScope = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | if (this.$refs.menu != undefined) { |
| | | this.$refs.menu.setCheckedKeys([]); |
| | | } |
| | | this.menuExpand = false, |
| | | this.menuNodeAll = false, |
| | | this.deptExpand = true, |
| | | this.deptNodeAll = false, |
| | | this.form = { |
| | | roleId: undefined, |
| | | roleName: undefined, |
| | | roleKey: undefined, |
| | | roleSort: 0, |
| | | status: "0", |
| | | menuIds: [], |
| | | deptIds: [], |
| | | menuCheckStrictly: true, |
| | | deptCheckStrictly: true, |
| | | remark: undefined |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | console.log(this.ids) |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.open = true; |
| | | this.title = "添加资产详细信息"; |
| | | }, |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | | this.$router.push("/familymodel/pet/petInfo/" + id); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | const id = row.id; |
| | | let jd = true |
| | | |
| | | this.$router.push({ |
| | | path:"/familymodel/pet/petInfo/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | /** 提交按钮(数据权限) */ |
| | | submitDataScope: function() { |
| | | |
| | | let ul = this.fileList.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | let uls = this.fileListOther.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | this.formDat.url = ul+","+uls |
| | | this.$refs["elForm"].validate(valid => { |
| | | if (valid) { |
| | | |
| | | addProperty(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | requestUpload(params) |
| | | { |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | |
| | | uploadPic(formData).then(response => { |
| | | let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) |
| | | |
| | | if(_this.fot.includes(pth) === true) |
| | | { |
| | | _this.fileList.push({name:response.data.fileName, "url":response.data.url}) |
| | | |
| | | } |
| | | |
| | | else{ |
| | | _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) |
| | | |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const Ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除资产编号为"' + Ids + '"的数据项?').then(function() { |
| | | return delProperty(Ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.download('family/property/export', { |
| | | ...this.queryParams |
| | | }, `property_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 导入操作*/ |
| | | handleEnport(params){ |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('excelImport', file); |
| | | let _this = this |
| | | alert(file) |
| | | enload(formData).then(response => { |
| | | _this.getList(); |
| | | Message({ message: "导入成功", type: 'warning' }) |
| | | |
| | | }).catch(err) |
| | | { |
| | | Message({ message: "导入失败", type: 'error' }) |
| | | } |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="form-header mt"> |
| | | <h4 class="dt h4">基本信息 </h4> |
| | | <el-button type="primary" class="pt" icon="el-icon-edit" @click="handleEdit()" :disabled="btn">编辑</el-button> |
| | | <el-button type="primary" @click="Petnote(id)" :disabled="btn">魅宠备忘录</el-button> |
| | | </div> |
| | | <h2 style="width: 100px;height: 16px;font-size: 15px;font-family: Microsoft YaHei-Regular, Microsoft YaHei;font-weight: 400;color: #000000;line-height: 15px;">基本信息</h2> |
| | | <el-container > |
| | | <div > |
| | | <el-container > |
| | | <el-col > |
| | | <el-form ref="elForm" :model="petList" :rules="rules" size="medium" label-position="left" |
| | | v-loading="loading" :data="petList" @selection-change="handleSelectionChange" label-width="120px" > |
| | | <el-row :span="5"> |
| | | <el-form-item label="证件号码" prop="idNum" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb" > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="防伪证" prop="securityCode" label-width="55px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.securityCode" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="出生日期" prop="birth" label-width="70px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.birth" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="颜色" prop="color" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.color" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="饮食习惯(喜)" prop="eatHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.eatHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="生活习惯(喜)" prop="lifeHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.lifeHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="居住地址" prop="address" label-width="70px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.address" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | </el-form> |
| | | </el-col> |
| | | </el-container> |
| | | </div> |
| | | |
| | | <div style="padding-left:150px"> |
| | | <el-container> |
| | | <el-col v-loading="loading" :data="petList" @selection-change="handleSelectionChange"> |
| | | <el-form ref="elForm" :model="petList" :rules="rules" size="medium" label-position="left" > |
| | | <el-row :span="5"> |
| | | <el-form-item label="种类" prop="type" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.type" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="名字" prop="name" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.name" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="性别" prop="sex" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.sex === 1 ? '雄性':'雌性' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="性质" prop="properties" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.properties" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="饮食习惯(恶)" prop="disEatHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.disEatHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="生活习惯(恶)" prop="disLifeHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.disLifeHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="听懂方言" prop="dialect" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petList.dialect" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | </el-form> |
| | | </el-col> |
| | | </el-container> |
| | | </div> |
| | | |
| | | <div style="padding-left:250px;padding-top:30px"> |
| | | <el-col :span="6" :data="petList"> |
| | | <div class="block" :model="petList" > |
| | | <el-col v-model="petList.url" prop="url"> |
| | | <el-avatar shape="square" :size=200 > |
| | | <el-image |
| | | :src="'http://47.93.189.255:8080/'+ petList.url" |
| | | :fit="fit" style="width: 212px;height: 168px;border-radius: 0px 0px 0px 0px;opacity: 1;border: 1px solid rgba(0,0,0,0.5);" |
| | | ></el-image> |
| | | </el-avatar> |
| | | </el-col> |
| | | </div> |
| | | |
| | | </el-col> |
| | | </div> |
| | | </el-container> |
| | | |
| | | <!-- 魅宠主人 --> |
| | | <h2 style="width: 100px;height: 16px;font-size: 15px;font-family: Microsoft YaHei-Regular, Microsoft YaHei;font-weight: 400;color: #000000;line-height: 15px;">饲养人信息</h2> |
| | | <el-container > |
| | | <div > |
| | | <el-container > |
| | | <el-col > |
| | | <el-form ref="elForm" :model="petownerList" :rules="rules" size="medium" label-position="left" |
| | | v-loading="loading" :data="petownerList" @selection-change="handleSelectionChange" label-width="120px" > |
| | | <el-row :span="5"> |
| | | <el-form-item label="饲养人姓名" prop="name" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.name" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb" > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="固定电话" prop="fixedNo" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.fixedNo" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="移动电话" prop="birth" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.birth" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="住所性质" prop="property" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.property" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-form-item label="住所详细地址" prop="address" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.address" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | </el-form> |
| | | </el-col> |
| | | </el-container> |
| | | </div> |
| | | |
| | | <div style="padding-left:150px"> |
| | | <el-container> |
| | | <el-col v-loading="loading" :data="petownerList" @selection-change="handleSelectionChange"> |
| | | <el-form ref="elForm" :model="petownerList" :rules="rules" size="medium" label-position="left" > |
| | | <el-row :span="5"> |
| | | <el-form-item label="证件类型" prop="certificateType" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.certificateType" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="证件号码" prop="certificateNo" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.certificateNo" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="拥有犬只数量" prop="many" label-width="140px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.many " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :span="5"> |
| | | <el-form-item label="电子邮件" prop="email" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> |
| | | <el-input v-model="petownerList.email" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-row> |
| | | |
| | | </el-form> |
| | | </el-col> |
| | | </el-container> |
| | | </div> |
| | | |
| | | |
| | | </el-container> |
| | | |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img w-full :src="dialogImageUrl" alt="Preview Image" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import {getPetList, getPetownerList, uploadPic, download} from "@/api/pet/index"; |
| | | import {addRole, updateRole} from "@/api/system/role"; |
| | | import {blobValidate} from "@/utils/ruoyi"; |
| | | import errorCode from "@/utils/errorCode"; |
| | | import {Message} from "element-ui"; |
| | | |
| | | export default { |
| | | components: {}, |
| | | props: [], |
| | | data() { |
| | | return { |
| | | cdi:"魅宠详细信息", |
| | | udi:"魅宠信息修改", |
| | | fot:[".jpg",".jif"], |
| | | fileList:[ |
| | | ], |
| | | fileListOther:[ |
| | | |
| | | ], |
| | | dsb:true, |
| | | btn:false, |
| | | petList: { |
| | | type: undefined, |
| | | kind: undefined, |
| | | suitable: undefined, |
| | | method: undefined, |
| | | location:undefined, |
| | | place:undefined, |
| | | remark: undefined, |
| | | url: undefined, |
| | | }, |
| | | petownerList: { |
| | | email: undefined, |
| | | name: undefined, |
| | | certificateType: undefined, |
| | | certificateNo: undefined, |
| | | fixedNo:undefined, |
| | | many:undefined, |
| | | address: undefined, |
| | | property: undefined, |
| | | }, |
| | | dialogImageUrl: '', |
| | | dialogVisible: false, |
| | | disabled: false, |
| | | rules: { |
| | | idNum: [{ |
| | | required: true, |
| | | message: '请输入idNum', |
| | | trigger: 'blur' |
| | | }], |
| | | kind: [{ |
| | | required: true, |
| | | message: '请选择保洁/收纳', |
| | | trigger: 'change' |
| | | }], |
| | | type: [{ |
| | | required: true, |
| | | message: '请输入类别', |
| | | trigger: 'blur' |
| | | }], |
| | | method: [{ |
| | | required: true, |
| | | message: '请输入保洁方法', |
| | | trigger: 'blur' |
| | | }], |
| | | location: [{ |
| | | required: true, |
| | | message: '请输入材料存放地', |
| | | trigger: 'blur' |
| | | }], |
| | | place: [{ |
| | | required: true, |
| | | message: '请输入放置地点', |
| | | trigger: 'blur' |
| | | }], |
| | | suitable: [{ |
| | | required: true, |
| | | message: '请输入适用人', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | }, |
| | | typeOptions: [], |
| | | } |
| | | }, |
| | | computed: {}, |
| | | watch: {}, |
| | | created() { |
| | | const id = this.$route.params && this.$route.params.id; |
| | | let jd; |
| | | if(this.$route.query.detail!=undefined) |
| | | { |
| | | jd = this.$route.query.detail |
| | | this.btn= jd |
| | | this.dsb = !jd |
| | | document.title = "修改魅宠详细信息"; |
| | | this.$route.meta.title = "修改魅宠详细信息";//列表的名称 |
| | | } |
| | | else{ |
| | | document.title = "查看魅宠详细信息"; |
| | | this.$route.meta.title = "查看魅宠详细信息";//列表的名称 |
| | | } |
| | | |
| | | let _this = this |
| | | if (id) { |
| | | this.loading = true; |
| | | getPetList(id).then((response) => { |
| | | this.petList = response.data; |
| | | let paths = response.data.url.split(","); |
| | | for(let i = 0; i < paths.length; i++) |
| | | { |
| | | if(paths[i]!="") { |
| | | |
| | | let pth = paths[i].substr(paths[i].length - 4, paths[i].length) |
| | | |
| | | if (_this.fot.includes(pth) === true) |
| | | _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]}) |
| | | else { |
| | | // alert(paths[i]) |
| | | let nms = paths[i].split("\/") |
| | | let nm = nms[nms.length - 1] |
| | | _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]}) |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | this.loading = false; |
| | | |
| | | }); |
| | | this.getCateInfor() |
| | | |
| | | }; |
| | | if (id,pid) { |
| | | this.loading = true; |
| | | getPetownerList(id,pid).then((response) => { |
| | | this.petownerList = response.data; |
| | | let paths = response.data.url.split(","); |
| | | for(let i = 0; i < paths.length; i++) |
| | | { |
| | | if(paths[i]!="") { |
| | | |
| | | let pth = paths[i].substr(paths[i].length - 4, paths[i].length) |
| | | |
| | | if (_this.fot.includes(pth) === true) |
| | | _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]}) |
| | | else { |
| | | // alert(paths[i]) |
| | | let nms = paths[i].split("\/") |
| | | let nm = nms[nms.length - 1] |
| | | _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]}) |
| | | } |
| | | } |
| | | } |
| | | this.loading = false; |
| | | |
| | | |
| | | }); |
| | | this.getCateInfor() |
| | | |
| | | }; |
| | | this.getList(); |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | submitForm() { |
| | | let ul = this.fileList.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | let uls = this.fileListOther.map(function (elem){ |
| | | return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") |
| | | }).join(",") |
| | | this.formData.url = ul+","+uls |
| | | |
| | | this.$refs['elForm'].validate(valid => { |
| | | |
| | | |
| | | if (valid) { |
| | | if (this.formData.id != undefined) { |
| | | updateEconomy(this.formData).then(response => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | // this.open = false; |
| | | this.btn=false |
| | | }); |
| | | } else { |
| | | this.$modal.msgSuccess("修改失败"); |
| | | |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | resetForm() { |
| | | this.$refs['elForm'].resetFields() |
| | | }, |
| | | handlePreview(file) |
| | | { |
| | | let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")}; |
| | | let lens = formData.path.split(".") |
| | | let suffix = lens[lens.length-1] |
| | | download(formData).then(async (response) => { |
| | | const isLogin = await blobValidate(response); |
| | | let nt = new Date().getTime() |
| | | let filename = 'economy_'+nt+'.'+suffix |
| | | const blob = new Blob([response]) |
| | | saveAs(blob, filename) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | /** 备忘录 */ |
| | | Petnote(pid){ |
| | | this.$router.push("/familymodel/pet/petnote/" + pid); |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogFileUrl = file.url; |
| | | const Base64 = require('js-base64').Base64 |
| | | this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl)); |
| | | myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300'); |
| | | |
| | | }, |
| | | //删除图片 |
| | | handleRemoveFile(file,) { |
| | | |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | if(this.fileListOther[i].url==file.url) |
| | | this.$delete(this.fileListOther,i); |
| | | } |
| | | }, |
| | | handleDownload(url) { |
| | | var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")}; |
| | | |
| | | let lens = formData.path.split(".") |
| | | let suffix = lens[lens.length-1] |
| | | download(formData).then(async (response) => { |
| | | const isLogin = await blobValidate(response); |
| | | let nt = new Date().getTime() |
| | | let filename = 'property_'+nt+'.'+suffix |
| | | const blob = new Blob([response]) |
| | | saveAs(blob, filename) |
| | | }) |
| | | }, |
| | | handleEdit() |
| | | { |
| | | this.dsb = false |
| | | this.btn = true |
| | | }, |
| | | requestUpload(params) |
| | | { |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | |
| | | uploadPic(formData).then(response => { |
| | | let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) |
| | | |
| | | if(_this.fot.includes(pth) === true) |
| | | { |
| | | _this.fileList.push({name:response.data.fileName, "url":response.data.url}) |
| | | |
| | | } |
| | | |
| | | else{ |
| | | _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) |
| | | |
| | | } |
| | | }) |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .mt |
| | | { |
| | | position: relative; |
| | | } |
| | | .dt{ |
| | | display: block; |
| | | |
| | | } |
| | | .pt{ |
| | | right: 50px; |
| | | top:-3px; |
| | | display: block; |
| | | position: absolute; |
| | | } |
| | | </style> |