| | |
| | | <!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/lianhelihua_admin/icon.png"><title>联合利华事件上报系统</title><link href="/lianhelihua_admin/static/css/app.61b5bbed.css" rel="preload" as="style"><link href="/lianhelihua_admin/static/css/chunk-vendors.d9e68312.css" rel="preload" as="style"><link href="/lianhelihua_admin/static/js/app.f758ac5d.js" rel="preload" as="script"><link href="/lianhelihua_admin/static/js/chunk-vendors.174acd1e.js" rel="preload" as="script"><link href="/lianhelihua_admin/static/css/chunk-vendors.d9e68312.css" rel="stylesheet"><link href="/lianhelihua_admin/static/css/app.61b5bbed.css" rel="stylesheet"></head><body><div id="app"></div><script src="/lianhelihua_admin/static/js/chunk-vendors.174acd1e.js"></script><script src="/lianhelihua_admin/static/js/app.f758ac5d.js"></script></body></html> |
| | | <!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/lianhelihua_admin/icon.png"><title>联合利华事件上报系统</title><link href="/lianhelihua_admin/static/css/app.f4542b62.css" rel="preload" as="style"><link href="/lianhelihua_admin/static/css/chunk-vendors.d9e68312.css" rel="preload" as="style"><link href="/lianhelihua_admin/static/js/app.0e03d457.js" rel="preload" as="script"><link href="/lianhelihua_admin/static/js/chunk-vendors.174acd1e.js" rel="preload" as="script"><link href="/lianhelihua_admin/static/css/chunk-vendors.d9e68312.css" rel="stylesheet"><link href="/lianhelihua_admin/static/css/app.f4542b62.css" rel="stylesheet"></head><body><div id="app"></div><script src="/lianhelihua_admin/static/js/chunk-vendors.174acd1e.js"></script><script src="/lianhelihua_admin/static/js/app.0e03d457.js"></script></body></html> |
| | |
| | | <div class="label">发生地点</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">风险描述</div> |
| | | <div class="value">{{ info.riskInfo }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">通知人</div> |
| | | <div class="value">{{ info.memberNames }}</div> |
| | | </div> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">风险描述</div> |
| | | <div class="value">{{ info.riskInfo }}</div> |
| | | </div> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">图片</div> |
| | |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | .item.item { |
| | | display: flex; |
| | | width: 40%; |
| | | width: 50%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | width: 50%; |
| | | } |
| | | |
| | | .label { |
| | |
| | | } |
| | | |
| | | .value { |
| | | width: calc(100% - 100px); |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | width: 50%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | width: 50%; |
| | | } |
| | | |
| | | .label { |
| | |
| | | } |
| | | |
| | | .value { |
| | | width: calc(100% - 100px); |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | flex-wrap: wrap; |
| | | .item { |
| | | display: flex; |
| | | width: 30%; |
| | | width: 50%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 30%; |
| | | width: 50%; |
| | | } |
| | | |
| | | .label { |
| | | color: #888888; |
| | | width: 100px; |
| | | } |
| | | |
| | | .value { |
| | | width: calc(100% - 100px); |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | <div class="value" v-else>本人</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">发生地点</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">发现时间</div> |
| | | <div class="value">{{ info.happenTime }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">具体位置</div> |
| | | <div class="value">{{ info.remark }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">外部就医</div> |
| | |
| | | <div class="item"> |
| | | <div class="label">和工作相关</div> |
| | | <div class="value">{{ info.workRelated == "0" ? "否" : "是" }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">发生地点</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">具体位置</div> |
| | | <div class="value">{{ info.remark }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">事件说明</div> |
| | |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | width: 50%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | width: 50%; |
| | | } |
| | | |
| | | .label { |
| | |
| | | } |
| | | |
| | | .value { |
| | | width: calc(100% - 100px); |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | MENU_CONF: { |
| | | // 图片上传 |
| | | uploadImage: { |
| | | server: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload?folder=richeditor', |
| | | server: process.env.VUE_APP_API_PREFIX + '/web/public/upload?folder=richeditor', |
| | | fieldName: 'file', |
| | | // 单个文件的最大体积限制,默认为 2M |
| | | maxFileSize: 10 * 1024 * 1024, // 10M |
| | | maxFileSize: 20 * 1024 * 1024, // 10M |
| | | // 最多可上传几个文件,默认为 100 |
| | | maxNumberOfFiles: 10, |
| | | // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 [] |
| | |
| | | data() { |
| | | return { |
| | | loading: null, |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload' |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload' |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload' |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload' |
| | | } |
| | | }, |
| | | |
| | |
| | | img: null, |
| | | updateImg: false, |
| | | imageSrc: null, |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload' |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload' |
| | | } |
| | | }, |
| | | |
| | |
| | | data() { |
| | | return { |
| | | fileList:null, |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload?folder='+this.uploadData.folder |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload?folder='+this.uploadData.folder |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload' |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload' |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadLocal', |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/uploadLocal', |
| | | |
| | | realList: [], |
| | | srcList: [], |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload' |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/web/public/upload' |
| | | } |
| | | }, |
| | | |
| | |
| | | </el-form> |
| | | </div> |
| | | <template v-slot:menu> |
| | | <div |
| | | style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> |
| | | 跌绊滑风险发生地点</div> |
| | | <div style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> 跌绊滑风险发生地点</div> |
| | | <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;"> |
| | | <Tree :list="treeList" :alllist="treeList" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }" |
| | | @callback="callback" /> |
| | |
| | | import Tree from '@/components/common/Tree' |
| | | import { treeList } from '@/api/business/category' |
| | | export default { |
| | | name: 'categorySheType', |
| | | name: 'categoryDbhLocaltion', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, OperaCategoryWindow }, |
| | | data () { |
| | |
| | | import Tree from '@/components/common/Tree' |
| | | import { treeList } from '@/api/business/category' |
| | | export default { |
| | | name: 'categorySheType', |
| | | name: 'categoryDbhType', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, OperaCategoryWindow }, |
| | | data () { |
| | |
| | | import Tree from '@/components/common/Tree' |
| | | import { treeList } from '@/api/business/category' |
| | | export default { |
| | | name: 'categorySheType', |
| | | name: 'categoryDcaLocation', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, OperaCategoryWindow }, |
| | | data () { |
| | |
| | | import Tree from '@/components/common/Tree' |
| | | import { treeList } from '@/api/business/category' |
| | | export default { |
| | | name: 'categorySheType', |
| | | name: 'categoryDcaProblem', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, OperaCategoryDcaProblemWindow }, |
| | | data () { |
| | |
| | | import Tree from '@/components/common/Tree' |
| | | import { treeList } from '@/api/business/category' |
| | | export default { |
| | | name: 'categorySheType', |
| | | name: 'categorySheLocation', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, OperaCategoryWindow }, |
| | | data () { |
| | |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="人员姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="人员手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberEmail" label="人员邮箱" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column> |
| | |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="人员姓名" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="人员手机号" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberEmail" label="人员邮箱" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberQwId" label="企微ID" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberEmail" label="人员邮箱" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.memberEmail">{{row.memberEmail}}</div> |
| | | <div v-else style="color: #dc362e;cursor: pointer" title="暂未配置人员邮箱,请前往【人员管理】-【员工管理】菜单编辑该员工信息,设置邮箱信息"> |
| | | <el-button type="text" style="color: red" title="暂未配置人员邮箱,请前往【人员管理】-【员工管理】菜单编辑该员工信息,设置邮箱信息" icon="el-icon-error" >未配置</el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isQw" label="企微通知" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch v-model="row.isQw" :active-value="1" :inactive-value="0" @change="updateInfo(row)"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isQw" label="邮件通知" min-width="80px"> |
| | | <el-table-column prop="isEmail" label="邮件通知" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch v-model="row.isEmail" :active-value="1" :inactive-value="0" @change="updateEmailInfo(row)"/> |
| | | </template> |
| | |
| | | @ApiModelProperty(value = "员工邮箱") |
| | | @TableField(exist = false) |
| | | private String memberEmail; |
| | | @ApiModelProperty(value = "员工企微ID") |
| | | @TableField(exist = false) |
| | | private String memberQwId; |
| | | } |
| | |
| | | queryWrapper.selectAll(Managers.class ) |
| | | .selectAs(Member::getPhone,Managers::getMemberPhone) |
| | | .selectAs(Member::getName,Managers::getMemberName) |
| | | .selectAs(Member::getQwId,Managers::getMemberQwId) |
| | | .selectAs(Member::getEmail,Managers::getMemberEmail) |
| | | .selectAs(Member::getCompanyName,Managers::getCompanyName) |
| | | .selectAs(SystemUser::getUsername,Managers::getEditorName) |