Browse Source

修改冲突代码

master
xiaobai 3 years ago
parent
commit
8b847a5a55
  1. 3
      .env.production
  2. 3
      .env.test
  3. 1
      src/api/common.js
  4. 11
      src/api/sedirectory.js
  5. 2
      src/api/template.js
  6. 39
      src/api/user.js
  7. 91
      src/components/drawerDialog/index.vue
  8. 2
      src/permission.js
  9. 43
      src/router/index.js
  10. 29
      src/service/bjdService.js
  11. 11
      src/service/sedirectoryService.js
  12. 3
      src/views/allot/list.vue
  13. 10
      src/views/audit/list.vue
  14. 2
      src/views/bggl/8000/jj/azjj.vue
  15. 33
      src/views/bggl/banjie_list.vue
  16. 237
      src/views/bggl/components/original_db_list.vue
  17. 10
      src/views/bggl/daishen_list.vue
  18. 4
      src/views/bggl/eliminatingred_list.vue
  19. 2
      src/views/bggl/yiban_list.vue
  20. 53
      src/views/bjd/dj_input.vue
  21. 28
      src/views/bjd/dj_list.vue
  22. 16
      src/views/bjd/jj_input.vue
  23. 25
      src/views/bjd/jj_list.vue
  24. 25
      src/views/bjd/qy_list.vue
  25. 132
      src/views/bjd/sjse/upload_list.vue
  26. 188
      src/views/bjd/sjse/upload_list_20200721.vue
  27. 134
      src/views/bjd/sjse/upload_list_param.vue
  28. 173
      src/views/bjd/sjse/upload_list_xingshi.vue
  29. 18
      src/views/bjd/zj_input.vue
  30. 19
      src/views/borrow/borrow-history.vue
  31. 6
      src/views/borrow/borrow.vue
  32. 26
      src/views/borrow/returned.vue
  33. 6
      src/views/certificate/index.vue
  34. 18
      src/views/device_management/index.vue
  35. 74
      src/views/document/index.vue
  36. 196
      src/views/flow/definition.vue
  37. 13
      src/views/flow/template.vue
  38. 10
      src/views/print/1000/grant_create.vue
  39. 26
      src/views/print/1000/print_list.vue
  40. 26
      src/views/print/2000/print_list.vue
  41. 105
      src/views/print/3000/print_list.vue
  42. 35
      src/views/print/4000/print_list.vue
  43. 17
      src/views/print/5000/print_list.vue
  44. 23
      src/views/print/8000/print_list.vue
  45. 1
      src/views/print/grant_list.vue
  46. 178
      src/views/task/qiye_list.vue
  47. 144
      src/views/user/department.vue
  48. 2
      src/views/user/role.vue
  49. 74
      src/views/user/user.vue
  50. 149
      src/views/ysjl/3000/common/index.vue
  51. 12
      src/views/ysjl/3000/common/inspection-items.vue
  52. 2
      src/views/ysjl/3000/dj/common/phxsb.vue
  53. 2
      src/views/ysjl/3000/dj/common/table.vue
  54. 2
      src/views/ysjl/3000/dj/common/zdftFb.vue
  55. 9
      src/views/ysjl/3000/dj/yy/index.vue
  56. 37
      src/views/ysjl/3000/dj/zw/index.vue
  57. 10
      src/views/ysjl/components/original_db_list.vue
  58. 2
      src/views/ysjl/components/original_yb_list.vue
  59. 6
      src/views/zjd/zjbg_list.vue
  60. 49
      src/views/zjd/zjd_list.vue

3
.env.production

@ -1,5 +1,8 @@
# 生产环境相关配置 # 生产环境相关配置
# 项目名称
VUE_APP_PROJECT_NAME = 'SJJY'
# 微服务IP # 微服务IP
VUE_APP_SERVER_ADDRESS = 'test.sdma.mingansei.com' VUE_APP_SERVER_ADDRESS = 'test.sdma.mingansei.com'

3
.env.test

@ -1,5 +1,8 @@
# 测试环境相关配置 # 测试环境相关配置
# 项目名称
VUE_APP_PROJECT_NAME = 'SJJY'
# 微服务IP # 微服务IP
VUE_APP_SERVER_ADDRESS = 'test.sdma.mingansei.com' VUE_APP_SERVER_ADDRESS = 'test.sdma.mingansei.com'

1
src/api/common.js

@ -164,7 +164,6 @@ export function rebutFn(params) {
method: 'post', method: 'post',
data: params, data: params,
paramsSerializer: function(data) { paramsSerializer: function(data) {
console.log(require('qs').stringify(data, { indices: false }), 8888888888888)
return require('qs').stringify(data, { indices: false }) return require('qs').stringify(data, { indices: false })
} }
}) })

11
src/api/sedirectory.js

@ -0,0 +1,11 @@
import api from '@/utils/api'
export function getList(params) {
return api({
url: '/sedirectory/getList',
method: 'get',
params
})
}
export default { getList }

2
src/api/template.js

@ -4,7 +4,7 @@ import qs from 'qs'
export default { export default {
getList: (params) => { getList: (params) => {
return api({ return api({
url: '/template/getTemplateList', url: '/template/all',
method: 'get', method: 'get',
params: params params: params
}) })

39
src/api/user.js

@ -0,0 +1,39 @@
import api from '@/utils/api'
import qs from 'qs'
export function add(data) {
return api({
url: '/user',
method: 'post',
data
})
}
export function edit(data) {
return api({
url: '/user',
method: 'put',
data
})
}
export function del(params) {
return api({
url: '/user',
method: 'delete',
params,
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
}
})
}
export function getList(params) {
return api({
url: '/user/list',
method: 'get',
params
})
}
export default { add, edit, del, getList }

91
src/components/drawerDialog/index.vue

@ -198,9 +198,10 @@
> >
<el-option <el-option
v-for="item in parentList" v-for="item in parentList"
:key="item.value" v-show="showJybgTemplate(item)"
:label="item.label" :key="item.id"
:value="item.value" :label="item.tempName"
:value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -214,9 +215,10 @@
> >
<el-option <el-option
v-for="item in parentList" v-for="item in parentList"
:key="item.value" v-show="showHgzTemplate(item)"
:label="item.label" :key="item.id"
:value="item.value" :label="item.tempName"
:value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -262,12 +264,12 @@
<div class="boxRoot"> <div class="boxRoot">
<div class="left"> <div class="left">
<div class="funbox"> <div class="funbox">
<span>模板详情</span> <span>模板配置</span>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="addTemFn" @click="addTemplateSettingFn"
> >
新增 新增
</el-button> </el-button>
@ -373,7 +375,7 @@
icon="el-icon-edit" icon="el-icon-edit"
circle circle
title="编辑" title="编辑"
@click="editFnTem(scope.row)" @click="editTemplateSettingFn(scope.row)"
/> />
<el-button <el-button
type="danger" type="danger"
@ -381,7 +383,7 @@
icon="el-icon-delete" icon="el-icon-delete"
circle circle
title="删除" title="删除"
@click="deleteModelFn(scope.row)" @click="deleteTemplateSettingFn(scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -398,12 +400,12 @@
</div> </div>
<div class="right"> <div class="right">
<div class="funbox"> <div class="funbox">
<span>模板详情</span> <span>检验项目列配置<el-tag>{{ templateSettingLabel }}</el-tag></span>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="addtemFn" @click="addTemplateJyxmFn"
> >
新增 新增
</el-button> </el-button>
@ -441,7 +443,7 @@
icon="el-icon-edit" icon="el-icon-edit"
circle circle
title="编辑" title="编辑"
@click="editFn(scope.row)" @click="editTemplateJyxmFn(scope.row)"
/> />
<el-button <el-button
type="danger" type="danger"
@ -449,7 +451,7 @@
icon="el-icon-delete" icon="el-icon-delete"
circle circle
title="删除" title="删除"
@click="deleteFn(scope.row)" @click="deleteTemplateJyxmFn(scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -483,7 +485,6 @@
<el-form-item <el-form-item
label="字段别名" label="字段别名"
prop="alias" prop="alias"
:rules="[{ required: true, message: '请输入字段别名', trigger: 'blur' }]"
> >
<el-input v-model="formLabelAlign.alias" /> <el-input v-model="formLabelAlign.alias" />
</el-form-item> </el-form-item>
@ -495,7 +496,6 @@
<el-form-item <el-form-item
label="下换线拼接" label="下换线拼接"
prop="underlineStitching" prop="underlineStitching"
:rules="[{ required: true, message: '请输入字段名', trigger: 'blur' }]"
> >
<el-switch v-model="formLabelAlign.underlineStitching" /> <el-switch v-model="formLabelAlign.underlineStitching" />
</el-form-item> </el-form-item>
@ -843,15 +843,15 @@ export default {
}, { }, {
value: 'JYBG', value: 'JYBG',
label: '检验报告' label: '检验报告'
}, {
value: 'OTHER',
label: '其他'
}, { }, {
value: 'HZD', value: 'HZD',
label: '回执单' label: '回执单'
}, { }, {
value: 'RWD', value: 'RWD',
label: '任务单' label: '任务单'
}, {
value: 'HGZ',
label: '合格证'
} }
], ],
jylbList: [], jylbList: [],
@ -883,11 +883,39 @@ export default {
total1: 0, total1: 0,
jyxmModes: ['检验项目', '附表', '不合格整改检验项目', '大型起重机械检验项目', '报告检验项目'], jyxmModes: ['检验项目', '附表', '不合格整改检验项目', '大型起重机械检验项目', '报告检验项目'],
writeModes: ['CN模式', 'DN模式', 'KV模式', 'CFI模式', 'SA模式'], writeModes: ['CN模式', 'DN模式', 'KV模式', 'CFI模式', 'SA模式'],
affiliatedAddModes: ['固定表格', '附页文件', 'word自动切换'] affiliatedAddModes: ['固定表格', '附页文件', 'word自动切换'],
templateSettingLabel: ''
} }
}, },
mounted() {}, mounted() {},
methods: { methods: {
showHgzTemplate(item) {
if (item.tempCategory !== 'HGZ') {
return false
}
if (this.formTemplate.shebeizhongleidaima && this.formTemplate.shebeizhongleidaima !== item.shebeizhongleidaima) {
return false
}
if (this.formTemplate.jianyanleibie && this.formTemplate.jianyanleibie !== item.jianyanleibie) {
return false
}
return true
},
showJybgTemplate(item) {
if (item.tempCategory !== 'JYBG') {
return false
}
if (item.bglx !== 1) {
return false
}
if (this.formTemplate.shebeizhongleidaima && this.formTemplate.shebeizhongleidaima !== item.shebeizhongleidaima) {
return false
}
if (this.formTemplate.jianyanleibie && this.formTemplate.jianyanleibie !== item.jianyanleibie) {
return false
}
return true
},
changeTableMode() { changeTableMode() {
switch (this.form.tableMode) { switch (this.form.tableMode) {
case 0: case 0:
@ -957,15 +985,24 @@ export default {
affiliatedAddMode: 0 affiliatedAddMode: 0
} }
}, },
addTemFn() { addTemplateSettingFn() {
this.initTemplateSettingForm() this.initTemplateSettingForm()
this.dialogVisible1 = true this.dialogVisible1 = true
}, },
editFnTem(row) { editTemplateSettingFn(row) {
this.form = this.common.deepCopy(row) this.form = this.common.deepCopy(row)
this.dialogVisible1 = true this.dialogVisible1 = true
}, },
addtemFn() { addTemplateJyxmFn() {
this.$set(this, 'formLabelAlign', {
field: '',
fieldMode: 0,
indexFromRight: '',
templateId: '', // id
templateSettingId: '', // id
alias: '',
underlineStitching: false
})
this.dialogVisible = true this.dialogVisible = true
}, },
getList() { getList() {
@ -988,14 +1025,14 @@ export default {
} }
}) })
}, },
deleteModelFn(row) { deleteTemplateSettingFn(row) {
TemplateApi.deleteModuleFn({ TemplateApi.deleteModuleFn({
ids: [row.id] ids: [row.id]
}).then((data) => { }).then((data) => {
this.getList() this.getList()
}) })
}, },
deleteFn(row, index) { deleteTemplateJyxmFn(row, index) {
const arr = [] const arr = []
arr.push(row.id) arr.push(row.id)
TemplateApi.deleteTemplateJyxm({ TemplateApi.deleteTemplateJyxm({
@ -1037,7 +1074,7 @@ export default {
toggleFn(val) { toggleFn(val) {
this.multipleSelection = val this.multipleSelection = val
}, },
editFn(row) { editTemplateJyxmFn(row) {
this.dialogVisible = true this.dialogVisible = true
this.formLabelAlign = this.common.deepCopy(row) this.formLabelAlign = this.common.deepCopy(row)
}, },
@ -1260,6 +1297,7 @@ export default {
return false return false
} }
this.templateSettingId = row.id this.templateSettingId = row.id
this.templateSettingLabel = this.jyxmModes[row.jyxmMode] + '-' + row.sort
this.$refs.settingList.toggleRowSelection(row) this.$refs.settingList.toggleRowSelection(row)
this.getDemoList() this.getDemoList()
}, },
@ -1286,6 +1324,7 @@ export default {
beforeClose(done) { beforeClose(done) {
this.list.length = 0 this.list.length = 0
this.gridData.length = 0 this.gridData.length = 0
this.templateSettingLabel = ''
this.clearForm() this.clearForm()
this.$emit('closeTemplateDrawer') this.$emit('closeTemplateDrawer')
} }

2
src/permission.js

@ -3,7 +3,7 @@ import store from './store'
import NProgress from 'nprogress' // Progress 进度条 import NProgress from 'nprogress' // Progress 进度条
import 'nprogress/nprogress.css'// Progress 进度条样式 import 'nprogress/nprogress.css'// Progress 进度条样式
import { getToken } from '@/utils/auth' // 验权 import { getToken } from '@/utils/auth' // 验权
const whiteList = ['/login', '/remote', '/404', '/viewhzd', '/upload', '/xingshi', '/wenjian', '/fangwei', '/qiye'] // 不重定向白名单 const whiteList = ['/login', '/remote', '/404', '/fangwei'] // 不重定向白名单
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()
if (getToken()) { if (getToken()) {

43
src/router/index.js

@ -31,43 +31,6 @@ export const constantRouterMap = [{
import ('@/views/404'), import ('@/views/404'),
hidden: true hidden: true
}, },
{
path: '/viewhzd/:id',
component: () =>
import ('@/views/bjd/view_hzd'),
hidden: true
},
{
path: '/wenjian/:zlzl/:sbzl/:bjid',
component: () =>
import ('@/views/bjd/sjse/upload_list_20200721'),
hidden: true
},
{
path: '/wenjian/:zlzl/:sbzl/:bjid/:bjparamid',
component: () =>
import ('@/views/bjd/sjse/upload_list_20200721'),
hidden: true
},
{
path: '/upload/:sbzl/:bjid',
component: () =>
import ('@/views/bjd/sjse/upload_list'),
hidden: true
},
{
path: '/upload/:sbzl/:bjid/:bjparamid',
component: () =>
import ('@/views/bjd/sjse/upload_list_param'),
hidden: true
},
{
path: '/xingshi/:sbzl/:bjid',
component: () =>
import ('@/views/bjd/sjse/upload_list_xingshi'),
hidden: true
},
{ {
path: '/showGrantInfo', path: '/showGrantInfo',
component: () => component: () =>
@ -80,12 +43,6 @@ export const constantRouterMap = [{
import ('@/views/security/index'), import ('@/views/security/index'),
hidden: true hidden: true
}, },
{
path: '/qiye/:qyid',
component: () =>
import ('@/views/task/qiye_list'),
hidden: true
},
{ {
path: '/flow/detail', path: '/flow/detail',
component: () => component: () =>

29
src/service/bjdService.js

@ -2,6 +2,9 @@ import XLSX from 'xlsx'
import common from '@/utils/common' import common from '@/utils/common'
import qs from 'qs' import qs from 'qs'
import preview from '@/utils/preview' import preview from '@/utils/preview'
import router from '@/router'
import store from '@/store'
import { Notification } from 'element-ui'
export default { export default {
/** /**
@ -137,5 +140,31 @@ export default {
}) })
}) })
}) })
},
viewHzd(bjdId) {
preview({
url: '/print/generatePdfHzd',
method: 'get',
params: {
bjdId: bjdId
}
}).then((data) => {
data = data.replace(/\\/g, '/')
if (data) {
router.push({
path:
'/preview/hzd?src=' +
store.getters.prodName +
'/static/web/viewer.html?file=' +
encodeURIComponent(data)
})
} else {
Notification({
message: 'PDF预览错误!',
type: 'error',
duration: 3 * 1000
})
}
})
} }
} }

11
src/service/sedirectoryService.js

@ -0,0 +1,11 @@
import sedirectory from '@/api/sedirectory'
export default {
/**
* 获取设备目录
* @param params
*/
getList(params) {
return sedirectory.getList(params)
}
}

3
src/views/allot/list.vue

@ -869,7 +869,8 @@ export default {
renwuList: this.selection, renwuList: this.selection,
renlingren: this.renlingren, renlingren: this.renlingren,
renwudan: this.renwudan, renwudan: this.renwudan,
bjdIds: this.bjdIds bjdIds: this.bjdIds,
departmentId: this.departmentId
}, },
paramsSerializer: function(data) { paramsSerializer: function(data) {
return require('qs').stringify(data, { indices: false }) return require('qs').stringify(data, { indices: false })

10
src/views/audit/list.vue

@ -64,7 +64,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" /> <el-button type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" />
<el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" /> <el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" />
<el-button size="mini" type="info" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].id)" /> <el-button size="mini" type="info" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].renwuId)" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -711,14 +711,14 @@ export default {
}, },
/** /**
* 根据报告ID查看驳回原因 * 根据报告ID查看驳回原因
* @param ysjlId * @param renwuId
*/ */
viewAllRejection(ysjlId) { viewAllRejection(renwuId) {
this.api({ this.api({
url: '/taskinfo/viewAllRejection', url: '/taskinfo/viewRejection',
method: 'get', method: 'get',
params: { params: {
ysjlId: ysjlId renwuId: renwuId
} }
}).then(data => { }).then(data => {
this.infoNotes = data this.infoNotes = data

2
src/views/bggl/8000/jj/azjj.vue

@ -753,7 +753,7 @@ export default {
} }
let url = '' let url = ''
this.ysjl.bglx = 1 this.ysjl.bglx = 1
this.ysjl.cjState = 'bggl' this.ysjl.cjState = 'jybg'
this.ysjl.zfState = '0' this.ysjl.zfState = '0'
this.ysjl.jianyanxiangmu = 'azjj' this.ysjl.jianyanxiangmu = 'azjj'
this.ysjl.jlprintState = 0 this.ysjl.jlprintState = 0

33
src/views/bggl/banjie_list.vue

@ -1,19 +1,19 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="filter-container"> <div class="filter-container">
<div v-show="hasPerm('bggl:banjie:update') || hasPerm('bggl:banjie:regenerate')" class="sub-navbar"> <div v-show="hasPerm('ysjl:banjie:update') || hasPerm('ysjl:banjie:regenerate')" class="sub-navbar">
<sticky> <sticky>
<el-button v-if="hasPerm('bggl:banjie:update')" type="danger" icon="el-icon-refresh" @click="resetFlow"> <el-button v-if="hasPerm('ysjl:banjie:update')" type="danger" icon="el-icon-refresh" @click="resetFlow">
重启流程 重启流程
</el-button> </el-button>
<template v-if="hasPerm('bggl:banjie:regenerate')"> <template v-if="hasPerm('ysjl:banjie:regenerate')">
<el-button type="warning" icon="el-icon-refresh" @click="generatePdf('YSJL')"> <el-button type="warning" icon="el-icon-refresh" @click="generatePdf('YSJL')">
生成记录 生成记录
</el-button> </el-button>
<el-button type="warning" icon="el-icon-refresh" @click="generatePdf('JYBG')"> <el-button type="warning" icon="el-icon-refresh" @click="generatePdf('JYBG')">
生成报告 生成报告
</el-button> </el-button>
<el-button type="warning" icon="el-icon-refresh" @click="generatePdf('HGZ')"> <el-button type="warning" icon="el-icon-refresh" @click="batchGeneratePdfHgz">
生成合格证 生成合格证
</el-button> </el-button>
<el-button type="success" icon="el-icon-refresh" @click="createQrcode"> <el-button type="success" icon="el-icon-refresh" @click="createQrcode">
@ -916,6 +916,31 @@ export default {
} }
this.common.viewYsjlNoOpen(ids, viewType) this.common.viewYsjlNoOpen(ids, viewType)
}, },
batchGeneratePdfHgz() {
const ids = []
for (let i = 0; i < this.multipleSelection.length; i++) {
ids.push(this.multipleSelection[i].id)
if (this.multipleSelection[i].bglx !== 1) {
this.$message({
type: 'info',
message: '请选择主报告进行重新生成!'
})
return false
}
}
this.preview({
url: '/print/batchGeneratePdfHgz',
method: '',
params: {
ysjlIds: ids
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
}
}).then(() => {
console.log('生成合格证完成')
})
},
createQrcode() { createQrcode() {
let ids = '' let ids = ''
for (let i = 0; i < this.multipleSelection.length; i++) { for (let i = 0; i < this.multipleSelection.length; i++) {

237
src/views/bggl/components/original_db_list.vue

@ -6,7 +6,7 @@
<el-button type="success" @click="batchSend"> <el-button type="success" @click="batchSend">
<svg-icon icon-class="send" /> 批量发送 <svg-icon icon-class="send" /> 批量发送
</el-button> </el-button>
<el-button v-if="hasPerm('bggl:un-done-jybg:reject')" type="primary" @click="batchBohui"> <el-button v-if="hasPerm('ysjl:un-done-jybg:reject')" type="primary" @click="batchBohui">
<svg-icon icon-class="reject" /> 批量驳回 <svg-icon icon-class="reject" /> 批量驳回
</el-button> </el-button>
<el-button type="success" @click="batchSign"> <el-button type="success" @click="batchSign">
@ -137,8 +137,7 @@
<el-button v-if="scope.row.shebeizhongleidaima === '2000' && scope.row.jianyanleibie === 'ZJ'" v-show="scope.row.jilubianhao" type="success" size="mini" icon="el-icon-view" title="预览记录" circle @click="showZJPreviewJudge(scope.row)" /> <el-button v-if="scope.row.shebeizhongleidaima === '2000' && scope.row.jianyanleibie === 'ZJ'" v-show="scope.row.jilubianhao" type="success" size="mini" icon="el-icon-view" title="预览记录" circle @click="showZJPreviewJudge(scope.row)" />
<el-button v-else v-show="scope.row.jilubianhao" type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" /> <el-button v-else v-show="scope.row.jilubianhao" type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" />
<el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" /> <el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" />
<el-button v-show="scope.row.shebeizhongleidaima === '2000' && scope.row.jianyanleibie === 'ZJ'" type="primary" size="mini" circle icon="el-icon-scissors" title="绘制驳回文件" @click="showDrawCanvas(scope.row)" /> <el-button size="mini" type="info" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(scope.row.renwuId)" />
<el-button size="mini" type="info" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(scope.row.id)" />
<el-button v-show="scope.row.shebeizhongleidaima === '2000' && scope.row.jianyanleibie === 'ZJ'" type="info" size="mini" circle icon="el-icon-info" title="查看相关鉴证" @click="showVerification(scope.row.renwuId,false)" /> <el-button v-show="scope.row.shebeizhongleidaima === '2000' && scope.row.jianyanleibie === 'ZJ'" type="info" size="mini" circle icon="el-icon-info" title="查看相关鉴证" @click="showVerification(scope.row.renwuId,false)" />
<!-- 锅炉制造 并且 当前报告的检验人员中包含当前用户 才显示该按钮 --> <!-- 锅炉制造 并且 当前报告的检验人员中包含当前用户 才显示该按钮 -->
<el-button v-if="scope.row.shebeizhongleidaima === '1000' && scope.row.jianyanleibie === 'ZJ' && scope.row.jianyanrenyuan.split(',').indexOf(String($store.getters.userId)) !== -1" type="info" size="mini" circle title="收费信息" @click="showSfInfo(scope.row)"> <el-button v-if="scope.row.shebeizhongleidaima === '1000' && scope.row.jianyanleibie === 'ZJ' && scope.row.jianyanrenyuan.split(',').indexOf(String($store.getters.userId)) !== -1" type="info" size="mini" circle title="收费信息" @click="showSfInfo(scope.row)">
@ -173,7 +172,7 @@
<span v-text="getIndex(scope.$index)" /> <span v-text="getIndex(scope.$index)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="处理人" prop="nickname" min-width="40" /> <el-table-column :formatter="formatter.getChineseName" align="center" label="处理人" prop="userId" min-width="40" />
</el-table> </el-table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> <el-button @click="dialogFormVisible = false">
@ -284,11 +283,11 @@
</el-form-item> </el-form-item>
<el-form-item label="驳回环节:" required> <el-form-item label="驳回环节:" required>
<el-select v-model="bohuiForm.flowstatus" placeholder="请选择"> <el-select v-model="bohuiForm.flowstatus" placeholder="请选择">
<el-option v-if="str==2" label="起草环节" value="1" /> <el-option v-if="flowstatus === 2 || flowstatus === 3" label="起草环节" value="1" />
<el-option v-if="str==3" label="审核环节" value="1" /> <el-option v-if="flowstatus === 3" label="审核环节" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="上传驳回附件:"> <!-- <el-form-item label="上传驳回附件:">
<span style="color: #dd6161">多张图片可合成一份pdf文件进行上传</span> <span style="color: #dd6161">多张图片可合成一份pdf文件进行上传</span>
<el-upload <el-upload
action="" action=""
@ -307,7 +306,7 @@
点击上传 点击上传
</el-button> </el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>-->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogBohuiVisible = false"> <el-button @click="dialogBohuiVisible = false">
@ -321,41 +320,18 @@
<!-- 驳回意见 --> <!-- 驳回意见 -->
<el-dialog :visible.sync="dialogBohuiyijianVisible" :modal-append-to-body="false" title="驳回意见" width="50%"> <el-dialog :visible.sync="dialogBohuiyijianVisible" :modal-append-to-body="false" title="驳回意见" width="50%">
<el-form>
<el-form-item>
<span class="radio-group-label">绘制文件</span>
<el-button type="primary" size="small" icon="el-icon-view" @click="rejectPicture('YSJL')">
原始记录
</el-button>
<el-button type="primary" size="small" icon="el-icon-view" @click="rejectPicture('JYBG')">
</el-button>
</el-form-item>
</el-form>
<el-table :data="infoNotes"> <el-table :data="infoNotes">
<el-table-column align="center" label="驳回人" prop="infoSend" /> <el-table-column :formatter="formatter.getChineseName" align="center" label="驳回人" prop="infoSend" />
<el-table-column align="center" label="驳回意见" prop="infoNotes" /> <el-table-column align="center" label="驳回意见" prop="infoNotes" />
<el-table-column align="center" label="驳回时间" prop="createTime" /> <el-table-column align="center" label="驳回时间" prop="createTime" />
<el-table-column align="center" label="驳回附件" width="120"> <!-- <el-table-column align="center" label="驳回附件" width="120">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" size="small" circle icon="el-icon-view" title="预览" @click="common.viewReject(row.id, row.fileName)" /> <el-button type="primary" size="small" circle icon="el-icon-view" title="预览" @click="common.viewReject(row.id, row.fileName)" />
</template> </template>
</el-table-column> </el-table-column>-->
</el-table> </el-table>
</el-dialog> </el-dialog>
<!--选择绘制PDF-->
<el-dialog :visible.sync="dialogDrawCanvasVisible" :modal-append-to-body="appendToBody" title="选择绘制驳回文件" width="16%">
<el-form style="width: 200px;">
<el-button type="primary" plain size="small" icon="el-icon-search" @click="drawCanvas('YSJL')">
原始记录
</el-button>
<el-button type="primary" plain size="small" icon="el-icon-search" @click="drawCanvas('JYBG')">
</el-button>
</el-form>
</el-dialog>
<!--选择预览记录文件制造监检压力容器--> <!--选择预览记录文件制造监检压力容器-->
<el-dialog :visible.sync="dialogZJPreviewVisible" :modal-append-to-body="appendToBody" title="选择预览记录文件" width="20%"> <el-dialog :visible.sync="dialogZJPreviewVisible" :modal-append-to-body="appendToBody" title="选择预览记录文件" width="20%">
<el-form> <el-form>
@ -447,7 +423,7 @@ export default {
modelId: '', modelId: '',
currentRenwuId: 0, currentRenwuId: 0,
jylbList: [], jylbList: [],
str: '', flowstatus: '',
statusList: [ statusList: [
{ {
value: 1, value: 1,
@ -469,7 +445,7 @@ export default {
dialogSignVisible: false, dialogSignVisible: false,
passForm: { passForm: {
password: '', password: '',
signDate: new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate() signDate: this.formatter.dateFormat('YYYY-MM-dd')
}, },
isBatchSign: false, // isBatchSign: false, //
listCopy: [], listCopy: [],
@ -620,13 +596,13 @@ export default {
}, },
delReport() { delReport() {
// //
this.ysjlId = ''
if (this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {
this.$message('请在列表选择要删除的数据。') this.$message('请在列表选择要删除的数据。')
return false return false
} }
let linkname = '' let linkname = ''
let revertRenwuByYsjlIds = '' let revertRenwuByYsjlIds = ''
const ids = []
for (let i = 0; i < this.multipleSelection.length; i++) { for (let i = 0; i < this.multipleSelection.length; i++) {
if (i === 0 && this.multipleSelection[i].flowstatus === 1) { if (i === 0 && this.multipleSelection[i].flowstatus === 1) {
linkname = this.multipleSelection[i].flowstatus linkname = this.multipleSelection[i].flowstatus
@ -638,10 +614,7 @@ export default {
if (this.multipleSelection[i].shebeileibiedaima === '2100' && this.multipleSelection[i].jianyanleibie === 'DJ') { if (this.multipleSelection[i].shebeileibiedaima === '2100' && this.multipleSelection[i].jianyanleibie === 'DJ') {
revertRenwuByYsjlIds = this.multipleSelection[i].id + ',' + revertRenwuByYsjlIds revertRenwuByYsjlIds = this.multipleSelection[i].id + ',' + revertRenwuByYsjlIds
} }
this.ysjlId = this.multipleSelection[i].id + ',' + this.ysjlId ids.push(this.multipleSelection[i].id)
if (i + 1 === this.multipleSelection.length) {
this.ysjlId = this.ysjlId.substring(0, this.ysjlId.length - 1)
}
} }
this.$confirm('确定删除当前选中报告?', '提示', { this.$confirm('确定删除当前选中报告?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -650,9 +623,12 @@ export default {
}).then(() => { }).then(() => {
this.api({ this.api({
url: '/ysjl/delReport', url: '/ysjl/delReport',
method: 'post', method: 'delete',
params: { params: {
ids: this.ysjlId ids: ids
},
paramsSerializer: function(params) {
return require('qs').stringify(params, { indices: false })
} }
}).then(() => { }).then(() => {
this.$message({ this.$message({
@ -660,10 +636,6 @@ export default {
type: 'success', type: 'success',
duration: 1000, duration: 1000,
onClose: () => { onClose: () => {
// 16
if (revertRenwuByYsjlIds) {
this.common.updRenwuState(revertRenwuByYsjlIds, 0, false)
}
this.getList() this.getList()
// //
Utils.$emit('task-list') Utils.$emit('task-list')
@ -685,23 +657,20 @@ export default {
} }
this.ysjlId = [] this.ysjlId = []
const arr = [] const arr = []
for (let i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection.length > 1) {
if (this.multipleSelection[i].flowstatus !== this.multipleSelection[i + 1].flowstatus) {
this.$message('选择的驳回数据状态请保持一致')
}
}
if (this.multipleSelection[i].flowstatus !== 1) { this.flowstatus = this.multipleSelection[0].flowstatus
arr.push(this.multipleSelection[i].id) if (this.flowstatus === 1) {
this.str = this.multipleSelection[i].flowstatus this.$message('存在未流转报告。')
} else { return false
this.$message('存在未流转报告。') }
return false for (let i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].flowstatus !== this.flowstatus) {
this.$message('选择的驳回数据环节请保持一致')
} }
arr.push(this.multipleSelection[0].id)
} }
this.ysjlId = arr this.ysjlId = arr
if (this.ysjlId !== '') { if (this.ysjlId.length) {
this.dialogBohuiVisible = true this.dialogBohuiVisible = true
} }
}, },
@ -749,15 +718,15 @@ export default {
const nblb = this.multipleSelection[0].neibuleibie const nblb = this.multipleSelection[0].neibuleibie
const sbzldm = this.multipleSelection[0].shebeizhongleidaima const sbzldm = this.multipleSelection[0].shebeizhongleidaima
const bglx = this.multipleSelection[0].bglx const bglx = this.multipleSelection[0].bglx
this.ysjlId = []
for (let i = 0; i < this.multipleSelection.length; i++) { for (let i = 0; i < this.multipleSelection.length; i++) {
this.ysjlId.push(this.multipleSelection[i].id)
if (i === 0) { if (i === 0) {
linkname = this.multipleSelection[i].flowstatus linkname = this.multipleSelection[i].flowstatus
this.ysjlId = this.multipleSelection[i].id
if (this.multipleSelection[i].bglx === 1) { if (this.multipleSelection[i].bglx === 1) {
parentIds = this.multipleSelection[i].id parentIds = this.multipleSelection[i].id
} }
} else { } else {
this.ysjlId = this.ysjlId + ',' + this.multipleSelection[i].id
if (this.multipleSelection[i].bglx === 1) { if (this.multipleSelection[i].bglx === 1) {
parentIds = parentIds + ',' + this.multipleSelection[i].id parentIds = parentIds + ',' + this.multipleSelection[i].id
} }
@ -827,12 +796,14 @@ export default {
this.batchSendTo(isQianming, linkname, idStr) this.batchSendTo(isQianming, linkname, idStr)
} }
}, },
batchSendTo(isQianming, linkname, idStr) { batchSendTo(isQianming, flowstatus, idStr) {
if (isQianming) { if (isQianming) {
this.dialogSignVisible = true this.dialogSignVisible = true
this.flowstatus = linkname this.flowstatus = flowstatus
return false return false
} }
const departmentId = this.multipleSelection[0].departmentId
const bglx = this.multipleSelection[0].bglx
// //
if (this.multipleSelection[0].flowstatus === 2 && (this.multipleSelection[0].shebeizhongleidaima === 'F000' || this.multipleSelection[0].bglx === 2)) { if (this.multipleSelection[0].flowstatus === 2 && (this.multipleSelection[0].shebeizhongleidaima === 'F000' || this.multipleSelection[0].bglx === 2)) {
this.end(this.ysjlId, this.multipleSelection, false) // this.end(this.ysjlId, this.multipleSelection, false) //
@ -842,30 +813,18 @@ export default {
return false return false
} }
this.api({ this.api({
url: '/flow/getUser', url: '/flow/getNextLinkUsers',
method: 'get', method: 'get',
params: { params: {
id: idStr, bglx: bglx,
flowstatus: linkname flowstatus: flowstatus + 1,
departmentId: departmentId
} }
}).then(data => { }).then(data => {
this.flowUserList = data this.flowUserList = data
this.dialogFormVisible = true this.dialogFormVisible = true
}).catch(() => { }).catch(() => {
this.dialogSignVisible = false this.dialogSignVisible = false
this.$confirm('列表可能长时间未刷新,是否刷新列表?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleFilter()
}).catch(() => {
this.dialogSignVisible = false
this.$message({
type: 'info',
message: '已取消刷新'
})
})
}) })
}, },
confirmSend() { confirmSend() {
@ -873,22 +832,24 @@ export default {
this.$message('只能选择单人处理下一环节。') this.$message('只能选择单人处理下一环节。')
return false return false
} }
let linkname = '' const flowstatus = this.multipleSelection[0].flowstatus
for (let i = 0; i < this.multipleSelectionLink.length; i++) { for (let i = 1; i < this.multipleSelection.length; i++) {
if (i === 0) { if (flowstatus !== this.multipleSelection[i].flowstatus) {
linkname = this.multipleSelectionLink[i].flowstatus
}
if (linkname !== this.multipleSelectionLink[i].flowstatus) {
this.$message('请选择同环节进行发送。') this.$message('请选择同环节进行发送。')
return false return false
} }
} }
this.multipleSelectionLink[0].ysjlId = this.ysjlId
const _vue = this const _vue = this
const link = this.multipleSelectionLink[0]
this.api({ this.api({
url: '/flow/send', url: '/flow/send',
method: 'post', method: 'post',
data: this.multipleSelectionLink[0] data: {
ysjlIds: this.ysjlId,
userId: link.userId,
currentLink: flowstatus,
nextValue: flowstatus + 1
}
}).then(() => { }).then(() => {
this.dialogFormVisible = false this.dialogFormVisible = false
this.$message({ this.$message({
@ -913,6 +874,9 @@ export default {
method: 'post', method: 'post',
params: { params: {
ids: ysjlId ids: ysjlId
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
} }
}).then(() => { }).then(() => {
this.$message({ this.$message({
@ -931,10 +895,21 @@ export default {
data: { data: {
ids: ysjlId, ids: ysjlId,
generateType: 'END' generateType: 'END'
},
paramsSerializer: function(data) {
return qs.stringify(data, { indices: false })
}
})
this.preview({
url: '/print/batchGeneratePdfHgz',
method: 'get',
params: {
ysjlIds: ysjlId
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
} }
}) })
//
this.cleanRed(ysjls)
} }
} }
}) })
@ -1000,59 +975,7 @@ export default {
}) })
} }
}, },
cleanRed(ysjls) {
if (ysjls != null && ysjls.length > 0) {
this.api({
url: '/template/getById',
method: 'get',
params: {
id: ysjls[0].modelId
}
}).then(data => {
if (data.cleanState) {
const cleanData = []
ysjls.forEach(ysjl => {
// 使
if (ysjl.shiyongdanwei.indexOf('测试') === -1) {
const data = {}
data.shiyongdanwei = ysjl.shiyongdanwei
data.shebeizhonglei = ysjl.shebeizhongleidaima
//
data.jianyanleibie = this.formatter.formatterCategory(null, null, ysjl.neibuleibie)
data.zhucedaima = ysjl.zhucedaima
data.shiyongdengjibianhao = ysjl.shiyongdengjibianhao
data.jianyanriqi = ysjl.jianyanjieshuriqi
data.xiacijianyanriqi = ysjl.xiacijianyanriqi
data.jianyanjielun = ysjl.jianyanjielun
data.baogaobianhao = ysjl.baogaobianhao
data.quxian = ysjl.quhuamingcheng
data.jianyanjigou = '济南市特种设备检验研究院'
data.shi = '济南市'
cleanData.push(data)
}
})
if (cleanData.length > 0) {
this.apisjse({
url: '/baseInfo/chaoqijiekoupi',
method: 'post',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
data: qs.stringify({
loginname: 'jntjysjgx',
password: '123',
jiekous: JSON.stringify(cleanData)
})
})
}
}
})
}
},
qianming() { qianming() {
//
if (this.$store.getters.departmentId === 74) {
this.sign()
return
}
this.api({ this.api({
url: '/user/validationPwd', url: '/user/validationPwd',
method: 'post', method: 'post',
@ -1072,6 +995,9 @@ export default {
ids: this.ysjlId, ids: this.ysjlId,
riqi: this.passForm.signDate, riqi: this.passForm.signDate,
flowstatus: this.flowstatus flowstatus: this.flowstatus
},
paramsSerializer: function(params) {
return require('qs').stringify(params, { indices: false })
} }
}).then(() => { }).then(() => {
this.$message({ this.$message({
@ -1079,10 +1005,11 @@ export default {
message: '签名成功!' message: '签名成功!'
}) })
this.isQm = false this.isQm = false
if (!this.isBatchSign) { if (this.isBatchSign) {
this.handleFilter()
} else {
this.batchSend() this.batchSend()
} }
this.handleFilter()
this.dialogSignVisible = false this.dialogSignVisible = false
this.isBatchSign = false this.isBatchSign = false
}).catch(() => { }).catch(() => {
@ -1193,18 +1120,17 @@ export default {
this.$message('请在列表选择要签名的数据。') this.$message('请在列表选择要签名的数据。')
return false return false
} }
let idStr = this.multipleSelection[0].id this.ysjlId = []
const linkname = this.multipleSelection[0].flowstatus const flowstatus = this.multipleSelection[0].flowstatus
for (let i = 1; i < this.multipleSelection.length; i++) { for (let i = 0; i < this.multipleSelection.length; i++) {
idStr = idStr + ',' + this.multipleSelection[i].id this.ysjlId.push(this.multipleSelection[i].id)
if (linkname !== this.multipleSelection[i].flowstatus) { if (flowstatus !== this.multipleSelection[i].flowstatus) {
this.$message('请选择同环节签名!') this.$message('请选择同环节签名!')
return false return false
} }
} }
this.ysjlId = idStr
this.isBatchSign = true this.isBatchSign = true
this.flowstatus = linkname this.flowstatus = flowstatus
this.dialogSignVisible = true this.dialogSignVisible = true
}, },
clearSignName() { clearSignName() {
@ -1328,18 +1254,17 @@ export default {
}, },
/** /**
* 根据报告ID查看驳回原因 * 根据报告ID查看驳回原因
* @param ysjlId * @param renwuId
*/ */
viewAllRejection(ysjlId) { viewAllRejection(renwuId) {
this.api({ this.api({
url: '/taskinfo/viewAllRejection', url: '/taskinfo/viewRejection',
method: 'get', method: 'get',
params: { params: {
ysjlId: ysjlId renwuId: renwuId
} }
}).then(data => { }).then(data => {
this.infoNotes = data this.infoNotes = data
this.ysjlId = ysjlId
if (!this.infoNotes.length) { if (!this.infoNotes.length) {
this.$alert('暂无驳回意见!', '驳回意见', { this.$alert('暂无驳回意见!', '驳回意见', {
confirmButtonText: '关闭' confirmButtonText: '关闭'

10
src/views/bggl/daishen_list.vue

@ -72,7 +72,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" /> <el-button type="success" size="mini" icon="el-icon-view" title="预览 原始记录" circle @click="common.viewYsjl(scope.row.id, 'YSJL')" />
<el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" /> <el-button type="primary" size="mini" icon="el-icon-view" title="预览 报告" circle @click="common.viewYsjl(scope.row.id, 'JYBG')" />
<el-button type="info" size="mini" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].id)" /> <el-button type="info" size="mini" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].renwuId)" />
<el-button type="warning" size="mini" icon="el-icon-view" title="预览交费凭据" circle @click="previewCredentials(scope.row.sfdId)" /> <el-button type="warning" size="mini" icon="el-icon-view" title="预览交费凭据" circle @click="previewCredentials(scope.row.sfdId)" />
</template> </template>
</el-table-column> </el-table-column>
@ -740,14 +740,14 @@ export default {
}, },
/** /**
* 根据报告ID查看驳回原因 * 根据报告ID查看驳回原因
* @param ysjlId * @param renwuId
*/ */
viewAllRejection(ysjlId) { viewAllRejection(renwuId) {
this.api({ this.api({
url: '/taskinfo/viewAllRejection', url: '/taskinfo/viewRejection',
method: 'get', method: 'get',
params: { params: {
ysjlId: ysjlId renwuId: renwuId
} }
}).then(data => { }).then(data => {
this.infoNotes = data this.infoNotes = data

4
src/views/bggl/eliminatingred_list.vue

@ -1,9 +1,9 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="filter-container"> <div class="filter-container">
<div v-show="hasPerm('regenerate:update')" class="sub-navbar"> <div v-if="hasPerm('ysjl:eliminatingred:update')" class="sub-navbar">
<sticky> <sticky>
<el-button v-show="hasPerm('regenerate:update')" type="warning" @click="cleanRed"> <el-button v-if="hasPerm('ysjl:eliminatingred:update')" type="warning" @click="cleanRed">
<svg-icon icon-class="clear" /> 消红 <svg-icon icon-class="clear" /> 消红
</el-button> </el-button>
</sticky> </sticky>

2
src/views/bggl/yiban_list.vue

@ -144,7 +144,7 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
this.listQuery.cjState = 'bggl' this.listQuery.cjState = 'jybg'
this.api({ this.api({
url: '/ysjl/getListDoneJybg', url: '/ysjl/getListDoneJybg',
method: 'get', method: 'get',

53
src/views/bjd/dj_input.vue

@ -30,7 +30,7 @@
审核通过 审核通过
</el-button> </el-button>
</template> </template>
<template v-if="bjd.shebeizhongleidaima === 'F000'"> <!-- <template v-if="bjd.shebeizhongleidaima === 'F000'">
<el-upload <el-upload
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@ -41,19 +41,19 @@
导入数据 导入数据
</el-button> </el-button>
</el-upload> </el-upload>
</template> </template>-->
</template> </template>
<template v-else> <template v-else>
<el-button <el-button
type="success" type="success"
icon="el-icon-printer" icon="el-icon-view"
size="medium" size="medium"
@click="viewHzd" @click="bjdService.viewHzd(bjd.id)"
> >
打印回执单 预览回执单
</el-button> </el-button>
<el-button <el-button
v-if="form==1" v-if="form === 1"
type="success" type="success"
icon="el-icon-printer" icon="el-icon-printer"
size="medium" size="medium"
@ -63,7 +63,7 @@
</el-button> </el-button>
</template> </template>
<el-button <!-- <el-button
type="success" type="success"
icon="el-icon-download" icon="el-icon-download"
size="medium" size="medium"
@ -71,7 +71,7 @@
@click="common.downloadTemplate(templateName)" @click="common.downloadTemplate(templateName)"
> >
下载导入模板 下载导入模板
</el-button> </el-button>-->
</div> </div>
</sticky> </sticky>
<el-tabs v-model="checkedTab" type="border-card"> <el-tabs v-model="checkedTab" type="border-card">
@ -333,12 +333,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="9"> <el-col :span="9">
<el-form-item label="受理人:" prop="shouliren"> <el-form-item label="受理人:" prop="shouliren">
<el-input :model="formatter.getChineseName(null, null, bjd.shouliren)" type="text" disabled /> <el-input v-model="bjd.shouliren" type="text" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="最后修改人:" prop="updateBy"> <el-form-item label="最后修改人:" prop="updateBy">
<el-input :model="formatter.getChineseName(null, null, bjd.updateBy)" type="text" disabled /> <el-input v-model="bjd.updateBy" type="text" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -1512,7 +1512,6 @@ import Sticky from '@/components/Sticky'
import Utils from '../../utils/contact.js' import Utils from '../../utils/contact.js'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import { deleteRenwuFn } from '@/api/common' import { deleteRenwuFn } from '@/api/common'
import qs from 'qs'
// import XLSX from 'xlsx' // import XLSX from 'xlsx'
export default { export default {
@ -1688,6 +1687,10 @@ export default {
this.bjd.baojiandianhua = this.bjd.weibaodanweiDianhua this.bjd.baojiandianhua = this.bjd.weibaodanweiDianhua
} }
this.loadQuhua() this.loadQuhua()
if (this.formState === 'finish') {
this.bjd.shouliren = this.formatter.getChineseName(null, null, this.bjd.shouliren)
this.bjd.updateBy = this.formatter.getChineseName(null, null, this.bjd.updateBy)
}
}) })
}, },
loadQuhua() { loadQuhua() {
@ -2531,34 +2534,6 @@ export default {
$router: this.$router $router: this.$router
}) })
}, },
viewHzd() {
const arr = [this.bjd.id]
this.preview({
url: '/print/batchGeneratePdfHzd',
method: 'get',
params: {
bjdIds: arr
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
}
}).then((data) => {
this.preview({
url: '/print/createXmlOther',
method: 'post',
params: {
ids: arr,
type: 'HZD'
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
}
}).then((data) => {
data = data.replace(/\\/g, '/')
window.open(data)
})
})
},
editFixedHidden() { editFixedHidden() {
const els = document.getElementsByClassName('el-table__fixed-right') const els = document.getElementsByClassName('el-table__fixed-right')
if (els.length > 0) { if (els.length > 0) {

28
src/views/bjd/dj_list.vue

@ -279,7 +279,7 @@
circle circle
icon="el-icon-view" icon="el-icon-view"
title="预览回执单" title="预览回执单"
@click="viewHzd(scope.row.id)" @click="bjdService.viewHzd(scope.row.id)"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -549,32 +549,6 @@ export default {
}) })
}) })
}, },
viewHzd(bjdId) {
this.preview({
url: '/print/generatePdfHzd',
method: 'get',
params: {
bjdId: bjdId
}
}).then((data) => {
data = data.replace(/\\/g, '/')
if (data) {
this.$router.push({
path:
'/preview/hzd?src=' +
this.$store.getters.prodName +
'/static/web/viewer.html?file=' +
encodeURIComponent(data)
})
} else {
this.$message({
message: 'PDF预览错误!',
type: 'error',
duration: 3 * 1000
})
}
})
},
errorBjd() { errorBjd() {
// //
this.$confirm('报检项目将进行异常收回,是否继续?', '提示', { this.$confirm('报检项目将进行异常收回,是否继续?', '提示', {

16
src/views/bjd/jj_input.vue

@ -14,7 +14,7 @@
审核通过 审核通过
</el-button> </el-button>
</template> </template>
<template v-if="bjd.bjType === 'cyqp'"> <!-- <template v-if="bjd.bjType === 'cyqp'">
<el-upload <el-upload
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@ -25,16 +25,16 @@
导入数据 导入数据
</el-button> </el-button>
</el-upload> </el-upload>
</template> </template>-->
</template> </template>
<template v-else> <template v-else>
<el-button type="success" icon="el-icon-printer" @click="viewHzd"> <el-button type="success" icon="el-icon-view" @click="bjdService.viewHzd(bjd.id)">
打印回执单 预览回执单
</el-button> </el-button>
</template> </template>
<el-button type="success" icon="el-icon-download" size="medium" @click="common.downloadTemplate(templateName)"> <!-- <el-button type="success" icon="el-icon-download" size="medium" @click="common.downloadTemplate(templateName)">
下载导入模板 下载导入模板
</el-button> </el-button>-->
</div> </div>
</sticky> </sticky>
<el-tabs v-model="checkedTab" type="border-card"> <el-tabs v-model="checkedTab" type="border-card">
@ -841,6 +841,10 @@ export default {
this.getSblb() this.getSblb()
// //
this.getParamById() this.getParamById()
if (this.formState === 'finish') {
this.bjd.shouliren = this.formatter.getChineseName(null, null, this.bjd.shouliren)
this.bjd.updateBy = this.formatter.getChineseName(null, null, this.bjd.updateBy)
}
}) })
}, },
getParamById() { getParamById() {

25
src/views/bjd/jj_list.vue

@ -166,7 +166,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editBjd(scope.$index)" /> <el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editBjd(scope.$index)" />
<el-button v-show="scope.row.bjState === 3 || scope.row.bjState === 4" size="mini" type="info" icon="el-icon-message" title="查看原因" circle @click="viewInfo(scope.row.bjdBeizhu)" /> <el-button v-show="scope.row.bjState === 3 || scope.row.bjState === 4" size="mini" type="info" icon="el-icon-message" title="查看原因" circle @click="viewInfo(scope.row.bjdBeizhu)" />
<el-button v-show="scope.row.bjState === 2 || scope.row.bjState === 5 || scope.row.bjState === 6" type="success" size="mini" circle icon="el-icon-view" title="预览回执单" @click="viewHzd(scope.row.id)" /> <el-button v-show="scope.row.bjState === 2 || scope.row.bjState === 5 || scope.row.bjState === 6" type="success" size="mini" circle icon="el-icon-view" title="预览回执单" @click="bjdService.viewHzd(scope.row.id)" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -438,29 +438,6 @@ export default {
viewInfo(reason) { viewInfo(reason) {
this.$message({ message: reason, type: 'info' }) this.$message({ message: reason, type: 'info' })
}, },
viewHzd(bjdid) {
this.apibjd({
url: '/bjd/printHzd',
method: 'get',
params: {
bjdIds: bjdid
}
}).then(data => {
this.preview({
url: '/print/generatePdfListing',
method: 'post',
data: {
info: data.bjd,
paramList: data.renwu,
viewType: 'HZD'
}
}).then(data => {
data = data.replace(/\\/g, '/')
// router.push({ path: '/preview/1/1/urlPath?src=' + store.getters.prodName + '/static/web/viewer.html?file=' + encodeURIComponent(data) + '&v=' + Math.random() })
window.open(data)
})
})
},
errorBjd() { errorBjd() {
// //
this.$confirm('报检项目将进行异常收回,是否继续?', '提示', { this.$confirm('报检项目将进行异常收回,是否继续?', '提示', {

25
src/views/bjd/qy_list.vue

@ -119,7 +119,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editBjd(scope.$index)" /> <el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editBjd(scope.$index)" />
<el-button v-show="scope.row.bjState === 3 || scope.row.bjState === 4" size="mini" type="info" icon="el-icon-message" title="查看原因" circle @click="viewInfo(scope.row.bjdBeizhu)" /> <el-button v-show="scope.row.bjState === 3 || scope.row.bjState === 4" size="mini" type="info" icon="el-icon-message" title="查看原因" circle @click="viewInfo(scope.row.bjdBeizhu)" />
<el-button v-show="scope.row.bjState === 2 || scope.row.bjState === 5 || scope.row.bjState === 6" type="success" size="mini" circle icon="el-icon-view" title="预览回执单" @click="viewHzd(scope.row.id)" /> <el-button v-show="scope.row.bjState === 2 || scope.row.bjState === 5 || scope.row.bjState === 6" type="success" size="mini" circle icon="el-icon-view" title="预览回执单" @click="bjdService.viewHzd(scope.row.id)" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -342,29 +342,6 @@ export default {
viewInfo(reason) { viewInfo(reason) {
this.$message({ message: reason, type: 'info' }) this.$message({ message: reason, type: 'info' })
}, },
viewHzd(bjdid) {
this.apibjd({
url: '/bjd/printHzd',
method: 'get',
params: {
bjdIds: bjdid
}
}).then(data => {
this.preview({
url: '/print/generatePdfListing',
method: 'post',
data: {
info: data.bjd,
paramList: data.renwu,
viewType: 'HZD'
}
}).then(data => {
data = data.replace(/\\/g, '/')
// router.push({ path: '/preview/1/1/urlPath?src=' + store.getters.prodName + '/static/web/viewer.html?file=' + encodeURIComponent(data) + '&v=' + Math.random() })
window.open(data)
})
})
},
errorBjd() { errorBjd() {
// //
this.$confirm('报检项目将进行异常收回,是否继续?', '提示', { this.$confirm('报检项目将进行异常收回,是否继续?', '提示', {

132
src/views/bjd/sjse/upload_list.vue

@ -1,132 +0,0 @@
<template>
<center>
<div style="width: 60%;text-align: left;margin-top: 20px;">
<span style="font-size: 20px;font-weight: bold;">通用材料清单</span><span>(支持上传PDF以及Jpeg\Png图片格式)</span>
<div slot="tip" class="el-upload__tip" style="font-size: 14px">
默认图片大小不超过2M,PDF文件不超过8M超过大小请访问<a href="https://docsmall.com/" target="_blank"><span style="color: #00afff">https://docsmall.com/</span></a>
<br>
<span style="color: red;">图片上传前如存在颠倒方向请纠正后在上传PDF压缩后请保证文件内容清晰度建议强力压缩</span>
</div>
<fieldset v-for="list in listDicData" :key="list.title">
<legend>{{ list.title }}</legend>
<el-upload
:action="url"
:headers="headers"
accept="image/jpeg,image/png,.pdf"
multiple
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="getListDic"
:file-list="list.picList"
:limit="list.counts"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:data="{filesId: list.id, zhonglei: list.zhonglei, bjdId: bjdId}"
>
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</fieldset>
</div>
</center>
</template>
<script>
export default {
name: 'UploadSjse',
data() {
return {
url: process.env.VUE_APP_BJD_API + 'bjdfiles/upload',
dialogImageUrl: '',
dialogVisible: false,
disabled: false,
zhonglei: '',
bjdId: '',
listDicData: [],
headers: {
'Authorization': this.$route.query.tkey
}
}
},
created() {
this.zhonglei = this.$route.params.sbzl
this.bjdId = window.atob(this.$route.params.bjid)
localStorage.setItem('token', this.$route.query.tkey)
},
mounted() {
this.getListDic()
},
methods: {
getListDic() {
this.apibjd({
url: '/bjdfilesdic/getListDic',
method: 'get',
params: {
id: this.zhonglei === '4000' ? '48' : '1',
zllx: this.zhonglei,
bjdid: this.bjdId
}
}).then(data => {
this.listDicData = data
this.listDicData.forEach(list => {
list.picList.forEach(pic => {
pic.url = process.env.VUE_APP_IMG_URL + pic.url
})
})
})
},
handleRemove(file) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apibjd({
url: '/bjdfiles/delFiles',
method: 'delete',
params: {
id: file.id,
name: file.name
}
}).then(data => {
if (data.returnCode === '100') {
this.$message({ message: '删除成功!!', type: 'success' })
} else {
this.$message({ message: '删除失败!!', type: 'error' })
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
this.getListDic()
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
handleDownload(file) {
console.log(file)
},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 8
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 8MB!')
}
return isLt2M
},
handleExceed(files, fileList) {
this.$message.error('上传文件数超出限制,请控制在' + fileList.length + '个以内。')
}
}
}
</script>
<style scoped>
</style>

188
src/views/bjd/sjse/upload_list_20200721.vue

@ -1,188 +0,0 @@
<template>
<center>
<div style="width: 60%;text-align: left;margin-top: 20px;">
<span style="font-size: 20px;font-weight: bold;">{{ uploadType }}</span><span>(支持上传PDF以及Jpeg\Png图片格式)</span>
<div slot="tip" class="el-upload__tip" style="font-size: 14px">
默认图片大小不超过2M,PDF文件不超过8M超过大小请访问<a href="https://docsmall.com/" target="_blank"><span style="color: #00afff">https://docsmall.com/</span></a>
<br>
<span style="color: red;">图片上传前如存在颠倒方向请纠正后在上传PDF压缩后请保证文件内容清晰度建议强力压缩</span>
</div>
<fieldset v-for="list in listDicData" :key="list.title">
<legend>{{ list.title }}</legend>
<el-upload
:action="url"
:headers="headers"
accept="image/jpeg,image/png,.pdf"
multiple
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="getListDic"
:file-list="list.picList"
:limit="list.counts"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:data="{filesId: list.id, zhonglei: list.zhonglei, bjdId: bjdId, bjdParamId: bjdParamId}"
>
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</fieldset>
</div>
<el-dialog :visible.sync="dialogSblbVisible" title="请按项目及电梯型号分类上传">
<!-- 相应的字典数据都存在字典表中 暂时无通过程序引用 -->
<el-button @click="checkSbzl('30001')">
曳引驱动乘客电梯
</el-button>
<el-button @click="checkSbzl('30002')">
曳引驱动载货电梯
</el-button>
<el-button @click="checkSbzl('30003')">
既有住宅增设电梯
</el-button>
<el-button @click="checkSbzl('30004')">
自动扶梯与自动人行道
</el-button>
<el-button @click="checkSbzl('30005')">
液压电梯
</el-button>
<el-button @click="checkSbzl('30006')">
杂物电梯
</el-button>
<el-button @click="checkSbzl('30007')">
消防员电梯
</el-button>
<el-button @click="checkSbzl('30008')">
防爆电梯
</el-button>
<el-button @click="checkSbzl('30009')">
改造和重大修理
</el-button>
</el-dialog>
</center>
</template>
<script>
export default {
name: 'WenjianSjse',
data() {
return {
url: process.env.VUE_APP_BJD_API + 'bjdfiles/upload',
dialogImageUrl: '',
dialogVisible: false,
disabled: false,
dialogSblbVisible: false,
parentId: '40000',
zhonglei: this.$route.params.sbzl,
uploadType: '通用资料',
bjdId: window.atob(this.$route.params.bjid),
bjdParamId: this.$route.params.bjparamid,
listDicData: [],
headers: {
'Authorization': this.$route.query.tkey
}
}
},
created() {
switch (this.$route.params.zlzl) {
case 'tyzl' :
this.uploadType = '通用资料'
break
case 'xssy' :
this.uploadType = '型式试验合格证'
break
case 'ztzl' :
this.uploadType = '逐台资料'
break
}
localStorage.setItem('token', this.$route.query.tkey)
},
mounted() {
if (this.bjdParamId === undefined) {
this.bjdParamId = 0
}
if (this.zhonglei === '3000') {
this.dialogSblbVisible = true
} else {
this.getListDic()
}
},
methods: {
checkSbzl(val) {
this.dialogSblbVisible = false
this.parentId = val
this.getListDic()
},
getListDic() {
this.apibjd({
url: '/bjdfilesdic/getListDic',
method: 'get',
params: {
id: this.parentId,
zllx: this.uploadType,
bjdid: this.bjdId,
paramId: this.bjdParamId
}
}).then(data => {
this.listDicData = data
this.listDicData.forEach(list => {
list.picList.forEach(pic => {
pic.url = process.env.VUE_APP_IMG_URL + pic.url
})
})
})
},
handleRemove(file) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apibjd({
url: '/bjdfiles/delFiles',
method: 'delete',
params: {
id: file.id,
name: file.name
}
}).then(data => {
if (data.returnCode === '100') {
this.$message({ message: '删除成功!!', type: 'success' })
} else {
this.$message({ message: '删除失败!!', type: 'error' })
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
this.getListDic()
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
handleDownload(file) {
console.log(file)
},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 8
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 8MB!')
}
return isLt2M
},
handleExceed(files, fileList) {
this.$message.error('上传文件数超出限制,请控制在' + fileList.length + '个以内。')
}
}
}
</script>
<style scoped>
</style>

134
src/views/bjd/sjse/upload_list_param.vue

@ -1,134 +0,0 @@
<template>
<center>
<div style="width: 60%;text-align: left;margin-top: 20px;">
<span style="font-size: 20px;font-weight: bold;">一对一逐台资料清单</span><span>(支持上传PDF以及Jpeg\Png图片格式)</span>
<div slot="tip" class="el-upload__tip" style="font-size: 14px">
默认图片大小不超过2M,PDF文件不超过8M超过大小请访问<a href="https://docsmall.com/" target="_blank"><span style="color: #00afff">https://docsmall.com/</span></a>
<br>
<span style="color: red;">图片上传前如存在颠倒方向请纠正后在上传PDF压缩后请保证文件内容清晰度建议强力压缩</span>
</div>
<fieldset v-for="list in listDicData" :key="list.title">
<legend>{{ list.title }}</legend>
<el-upload
:action="url"
:headers="headers"
accept="image/jpeg,image/png,.pdf"
list-type="picture-card"
multiple
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="getListDic"
:file-list="list.picList"
:limit="list.counts"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:data="{filesId: list.id, zhonglei: list.zhonglei, bjdId: bjdId, bjdParamId: bjdParamId}"
>
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</fieldset>
</div>
</center>
</template>
<script>
export default {
name: 'UploadSjseParam',
data() {
return {
url: process.env.VUE_APP_BJD_API + 'bjdfiles/upload',
dialogImageUrl: '',
dialogVisible: false,
disabled: false,
zhonglei: '',
bjdId: '',
bjdParamId: 0,
listDicData: [],
headers: {
'Authorization': this.$route.query.tkey
}
}
},
created() {
this.zhonglei = this.$route.params.sbzl
this.bjdId = window.atob(this.$route.params.bjid)
this.bjdParamId = this.$route.params.bjparamid
localStorage.setItem('token', this.$route.query.tkey)
},
mounted() {
this.getListDic()
},
methods: {
getListDic() {
this.apibjd({
url: '/bjdfilesdic/getListDic',
method: 'get',
params: {
id: '2',
zllx: this.zhonglei,
bjdid: this.bjdId,
paramId: this.bjdParamId
}
}).then(data => {
this.listDicData = data
this.listDicData.forEach(list => {
list.picList.forEach(pic => {
if (parseInt(pic.paramId) === parseInt(this.bjdParamId)) {
pic.url = process.env.VUE_APP_IMG_URL + pic.url
}
})
})
})
},
handleRemove(file) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apibjd({
url: '/bjdfiles/delFiles',
method: 'delete',
params: {
id: file.id,
name: file.name
}
}).then(data => {
if (data.returnCode === '100') {
this.$message({ message: '删除成功!!', type: 'success' })
} else {
this.$message({ message: '删除失败!!', type: 'error' })
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
this.getListDic()
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 8
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 8MB!')
}
return isLt2M
},
handleExceed(files, fileList) {
this.$message.error('上传文件数超出限制,请控制在' + fileList.length + '个以内。')
}
}
}
</script>
<style scoped>
</style>

173
src/views/bjd/sjse/upload_list_xingshi.vue

@ -1,173 +0,0 @@
<template>
<center>
<div style="width: 60%;text-align: left;margin-top: 20px;">
<span style="font-size: 20px;font-weight: bold;">型式试验材料清单按项目及电梯型号分类上传</span><span>(支持上传PDF以及Jpeg\Png图片格式)</span>
<div slot="tip" class="el-upload__tip" style="font-size: 14px">
默认图片大小不超过2M,PDF文件不超过8M超过大小请访问<a href="https://docsmall.com/" target="_blank"><span style="color: #00afff">https://docsmall.com/</span></a>
<br>
<span style="color: red;">图片上传前如存在颠倒方向请纠正后在上传PDF压缩后请保证文件内容清晰度建议强力压缩</span>
</div>
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane v-for="listzl in listZlData" :key="listzl.id" :label="listzl.title" :name="listzl.title">
<div v-for="list in listDicData" :key="list.id">
<fieldset v-if="listzl.id === list.parentId">
<legend>{{ list.title }}</legend>
<el-upload
:action="url"
:headers="headers"
accept="image/jpeg,image/png,.pdf"
list-type="picture-card"
multiple
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:file-list="list.picList"
:limit="list.counts"
:data="{filesId: list.id, zhonglei: list.zhonglei, bjdId: bjdId, xingshiId: listzl.id}"
>
<i class="el-icon-plus" />
</el-upload>
</fieldset>
</div>
</el-tab-pane>
</el-tabs>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
<el-dialog :visible.sync="dialogSblbVisible" title="请按项目及电梯型号分类上传">
<el-button @click="checkSbzl('曳引与强制驱动电梯')">
曳引与强制驱动电梯
</el-button>
<el-button @click="checkSbzl('液压驱动电梯')">
液压驱动电梯
</el-button>
<el-button @click="checkSbzl('自动扶梯与自动人行道')">
自动扶梯与自动人行道
</el-button>
<el-button @click="checkSbzl('杂物电梯')">
杂物电梯
</el-button>
<el-button @click="checkSbzl('消防员电梯')">
消防员电梯
</el-button>
<el-button @click="checkSbzl('防爆电梯')">
防爆电梯
</el-button>
</el-dialog>
</center>
</template>
<script>
export default {
name: 'UploadSjseXSSY',
data() {
return {
url: process.env.VUE_APP_BJD_API + 'bjdfiles/upload',
dialogImageUrl: '',
dialogVisible: false,
dialogSblbVisible: true,
activeName: '曳引式强制驱动电梯',
zhonglei: '',
bjdId: '',
listDicData: [],
listZlData: [],
headers: {
'Authorization': this.$route.query.tkey
}
}
},
created() {
this.zhonglei = this.$route.params.sbzl
this.bjdId = window.atob(this.$route.params.bjid)
localStorage.setItem('token', this.$route.query.tkey)
},
mounted() {
this.getList()
this.getListDic()
},
methods: {
checkSbzl(val) {
console.log(val)
this.activeName = val
this.dialogSblbVisible = false
},
getList() {
this.apibjd({
url: '/bjdfilesdic/getListDic',
method: 'get',
params: {
id: '3',
zllx: this.zhonglei,
bjdid: 0
}
}).then(data => {
this.listZlData = data
})
},
getListDic() {
this.apibjd({
url: '/bjdfilesdic/getListDicXingshi',
method: 'get',
params: {
id: '3',
sbzl: this.zhonglei,
bjdid: this.bjdId
}
}).then(data => {
this.listDicData = data
this.listDicData.forEach(list => {
list.picList.forEach(pic => {
pic.url = process.env.VUE_APP_IMG_URL + pic.url
})
})
})
},
handleRemove(file, fileList) {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apibjd({
url: '/bjdfiles/delFiles',
method: 'delete',
params: {
id: file.id,
name: file.name
}
}).then(data => {
if (data.returnCode === '100') {
this.$message({ message: '删除成功!!', type: 'success' })
} else {
this.$message({ message: '删除失败!!', type: 'error' })
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
this.getListDic()
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 8
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 8MB!')
}
return isLt2M
},
handleExceed(files, fileList) {
this.$message.error('上传文件数超出限制,请控制在' + fileList.length + '个以内。')
}
}
}
</script>
<style scoped>
</style>

18
src/views/bjd/zj_input.vue

@ -86,7 +86,7 @@
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()"> <el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除 删除
</el-button> </el-button>
<template v-if="sbzldm === '1000' || sbzldm === '2000'"> <!-- <template v-if="sbzldm === '1000' || sbzldm === '2000'">
<el-button type="success" icon="el-icon-download" size="mini" @click="common.downloadTemplate(templateName)"> <el-button type="success" icon="el-icon-download" size="mini" @click="common.downloadTemplate(templateName)">
下载导入模板 下载导入模板
</el-button> </el-button>
@ -100,7 +100,7 @@
导入数据 导入数据
</el-button> </el-button>
</el-upload> </el-upload>
</template> </template>-->
<span style="margin-left: 20px;color: red;font-size: 13px;">如若设备类别相同只编辑填写第一条即可</span> <span style="margin-left: 20px;color: red;font-size: 13px;">如若设备类别相同只编辑填写第一条即可</span>
</template> </template>
<el-switch v-model="fixedFlag" active-color="#13ce66" inactive-color="#ff4949" @change="editFixedHidden()" /> <el-switch v-model="fixedFlag" active-color="#13ce66" inactive-color="#ff4949" @change="editFixedHidden()" />
@ -213,20 +213,6 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="s107" width="220" label="生产形式">
<template slot-scope="scope">
<el-select v-model="scope.row.s107" @focus="focusGetCategory(scope.row.sblbpz)">
<div v-for="(item,index) in ((scope.row.shebeileibiedaima && (scope.row.shebeileibiedaima === '2200' || scope.row.shebeileibiedaima === '2300')) ? productionsOnly3 : productions)" :key="index">
<el-popover placement="right" width="180" trigger="hover">
<el-button type="warning" round plain @click="downloadTemplate(scope.row, item.value)">
下载数据模板文件
</el-button>
<el-option :key="index" slot="reference" :label="item.name" :value="item.value" />
</el-popover>
</div>
</el-select>
</template>
</el-table-column>
</template> </template>
<template v-else-if="sbzldm === '7000'"> <template v-else-if="sbzldm === '7000'">
<el-table-column align="center" prop="sblbpz" min-width="280" label="设备类别/品种"> <el-table-column align="center" prop="sblbpz" min-width="280" label="设备类别/品种">

19
src/views/borrow/borrow-history.vue

@ -7,6 +7,7 @@
v-model="query.jieyueTime" v-model="query.jieyueTime"
type="date" type="date"
placeholder="选择借阅日期" placeholder="选择借阅日期"
value-format="yyyy-MM-dd"
@change="crud.toQuery" @change="crud.toQuery"
/> />
<el-select <el-select
@ -62,7 +63,7 @@ const defaultCrud = presenter(
url: '/borrowing/list', url: '/borrowing/list',
orderBy: ['id asc'], orderBy: ['id asc'],
query: { query: {
state: false state: true
} }
}) })
) )
@ -114,19 +115,13 @@ export default {
return { return {
colConfigs: [ colConfigs: [
{ prop: 'baogaobianhao', label: '报告编号', align: 'center' }, { prop: 'baogaobianhao', label: '报告编号', align: 'center' },
{ prop: 'jieyueren', label: '借阅人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'jieyueTime', label: '借阅时间', align: 'center' },
{ prop: 'guihuanTime', label: '归还时间', align: 'center' },
{ prop: 'createBy', label: '创建人', align: 'center', formatter: this.formatter.getChineseName }, { prop: 'createBy', label: '创建人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'createTime', label: '创建时间', align: 'center' }, { prop: 'createTime', label: '创建时间', align: 'center' },
{ prop: 'guihuanTime', label: '归还时间', align: 'center' }, { prop: 'updateBy', label: '更新人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'jieyueTime', label: '借阅时间', align: 'center' }, { prop: 'updateTime', label: '更新时间', align: 'center' }
{ prop: 'jieyueren', label: '借阅人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'state', label: '借阅状态', align: 'center' },
{ prop: 'updateBy', label: '修改人', align: 'center' },
{
prop: 'updateTime',
label: '更新时间',
align: 'center',
formatter: this.formatter.formatterDepartmentName
}
], ],
permission: { permission: {
add: ['instrument:add'], add: ['instrument:add'],

6
src/views/borrow/borrow.vue

@ -53,13 +53,13 @@
<el-table-column slot="operation" align="center" width="100" label="操作"> <el-table-column slot="operation" align="center" width="100" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-permission="permission.edit" type="text" icon="edit" @click="editFn(scope.row)"> <el-button v-permission="permission.edit" type="text" icon="edit" @click="editFn(scope.row)">
修改 借阅
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</CustomTable> </CustomTable>
<pagination /> <pagination />
<el-dialog :before-close="crud.cancelCU" :visible="visible" :title="crud.status.title"> <el-dialog :visible.sync="visible" :title="crud.status.title">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" inline> <el-form ref="form" :model="form" :rules="rules" label-width="120px" inline>
<el-form-item label="报告编号:" prop="baogaobianhao"> <el-form-item label="报告编号:" prop="baogaobianhao">
<el-input v-model="form.baogaobianhao" placeholder="请输入报告编号" clearable type="text" /> <el-input v-model="form.baogaobianhao" placeholder="请输入报告编号" clearable type="text" />
@ -134,7 +134,7 @@ export default {
], ],
permission: { permission: {
add: ['instrument:add'], add: ['instrument:add'],
edit: ['instrument:update'], edit: ['borrow:jybg-list:update'],
del: ['instrument:delete'] del: ['instrument:delete']
}, },
options: [], options: [],

26
src/views/borrow/returned.vue

@ -43,22 +43,13 @@ const defaultCrud = presenter(CRUD({
url: '/borrowing/list', url: '/borrowing/list',
orderBy: ['id asc'], orderBy: ['id asc'],
query: { query: {
state: true state: false
} }
})) }))
// form // form
const defaultForm = form({ const defaultForm = form({
}) })
//
const PrefixPlusText = {
props: ['value', 'functions'],
template: `
<el-tag v-if="functions(value) === '未归还'" type="danger" effect="dark"><span v-html="functions(value)"></span></el-tag>
<el-tag v-else type="success" effect="dark"><span v-html="functions(value)"></span></el-tag>
`
}
export default { export default {
name: 'InstrumentList', name: 'InstrumentList',
components: { Pagination, CustomTable }, components: { Pagination, CustomTable },
@ -67,19 +58,12 @@ export default {
return { return {
colConfigs: [ colConfigs: [
{ prop: 'baogaobianhao', label: '报告编号', align: 'center' }, { prop: 'baogaobianhao', label: '报告编号', align: 'center' },
{ prop: 'jieyueren', label: '借阅人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'jieyueTime', label: '借阅时间', align: 'center' },
{ prop: 'createBy', label: '创建人', align: 'center', formatter: this.formatter.getChineseName }, { prop: 'createBy', label: '创建人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'createTime', label: '创建时间', align: 'center' }, { prop: 'createTime', label: '创建时间', align: 'center' },
{ prop: 'guihuanTime', label: '归还时间', align: 'center' }, { prop: 'updateBy', label: '更新人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'jieyueTime', label: '借阅时间', align: 'center' }, { prop: 'updateTime', label: '更新时间', align: 'center' },
{ prop: 'jieyueren', label: '借阅人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'state', label: '借阅状态', align: 'center', component: PrefixPlusText },
{ prop: 'updateBy', label: '修改人', align: 'center' },
{
prop: 'updateTime',
label: '更新时间',
align: 'center',
formatter: this.formatter.formatterDepartmentName
},
{ slot: 'operation' } { slot: 'operation' }
], ],
permission: { permission: {

6
src/views/certificate/index.vue

@ -156,9 +156,9 @@ export default {
{ slot: 'operation' } { slot: 'operation' }
], ],
permission: { permission: {
add: ['certificate-list:add'], add: ['certificate:list:add'],
edit: ['certificate-list:update'], edit: ['certificate:list:update'],
del: ['certificate-list:delete'] del: ['certificate:list:delete']
}, },
rules: { rules: {
username: [{ required: true, message: '请输入姓名', trigger: 'blur' }], username: [{ required: true, message: '请输入姓名', trigger: 'blur' }],

18
src/views/device_management/index.vue

@ -327,13 +327,13 @@ export default {
{ prop: 'totalPrice', label: '总价', align: 'center' }, { prop: 'totalPrice', label: '总价', align: 'center' },
{ prop: 'departmentId', label: '使用部门', align: 'center', formatter: this.formatter.formatterDepartmentName }, { prop: 'departmentId', label: '使用部门', align: 'center', formatter: this.formatter.formatterDepartmentName },
{ prop: 'principal', label: '使用人', align: 'center', formatter: this.formatter.formatterNickName }, { prop: 'principal', label: '使用人', align: 'center', formatter: this.formatter.formatterNickName },
{ prop: 'useState', label: '使用状况', align: 'center', component: PrefixPlusText, componentFunction: this.formatter.formatterDicData }, { prop: 'useState', label: '使用状况', align: 'center', component: PrefixPlusText, componentFunction: this.formatterDicData },
{ slot: 'operation' } { slot: 'operation' }
], ],
permission: { permission: {
add: ['device-list:add'], add: ['instrument:add'],
edit: ['device-list:update'], edit: ['instrument:update'],
del: ['device-list:delete'] del: ['instrument:delete']
}, },
dicAssetTree: [], dicAssetTree: [],
parentId: [], parentId: [],
@ -546,6 +546,16 @@ export default {
CrudInstrument.exportExcel(this.crud.query).then(data => { CrudInstrument.exportExcel(this.crud.query).then(data => {
downloadFile(data, parseTime(new Date()) + '-' + this.crud.title + '数据', 'xlsx') downloadFile(data, parseTime(new Date()) + '-' + this.crud.title + '数据', 'xlsx')
}) })
},
formatterDicData(cellValue) {
if (cellValue != null) {
let label = ''
this.useStateList.filter(dicData => dicData.id === cellValue).forEach(dicData => {
label = dicData.label
})
return label
}
return null
} }
} }
} }

74
src/views/document/index.vue

@ -34,12 +34,17 @@
:columns="columns" :columns="columns"
:crud="crud" :crud="crud"
> >
<el-table-column slot="operation" align="center" width="200" label="操作"> <el-table-column
slot="operation"
align="center"
width="200"
label="操作"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-permission="['document-list:view']" type="text" @click="downLoad(scope.row)"> <el-button type="text" @click="downLoad(scope.row)">
预览 预览
</el-button> </el-button>
<el-button v-permission="['document-list:download']" type="text" @click="downLoadFn(scope.row)"> <el-button type="text" @click="downLoadFn(scope.row)">
下载 下载
</el-button> </el-button>
<el-button type="text" @click="checkHistory(scope.row)"> <el-button type="text" @click="checkHistory(scope.row)">
@ -51,27 +56,13 @@
<pagination /> <pagination />
<el-dialog title="查看历史版本" :visible.sync="dialogTableVisible"> <el-dialog title="查看历史版本" :visible.sync="dialogTableVisible">
<el-table :data="gridData"> <el-table :data="gridData">
<el-table-column <el-table-column :formatter="formatterFlowName" property="flowName" label="操作环节" width="80" />
:formatter="formatterFlowName"
property="flowName"
label="操作环节"
width="80"
/>
<el-table-column property="filename" label="文件名称" /> <el-table-column property="filename" label="文件名称" />
<el-table-column <el-table-column :formatter="formatter.getChineseName" property="createBy" label="创建人" width="100" />
:formatter="formatter.getChineseName"
property="createBy"
label="创建人"
width="100"
/>
<el-table-column property="createTime" label="创建时间" width="150" /> <el-table-column property="createTime" label="创建时间" width="150" />
<el-table-column label="操作" width="80"> <el-table-column label="操作" width="80">
<template v-slot="scope"> <template v-slot="scope">
<el-button <el-button v-if="scope.row.flowName !== 0" type="text" @click="viewHistoryFile(scope.row)">
v-if="scope.row.flowName !== 0"
type="text"
@click="viewHistoryFile(scope.row)"
>
预览 预览
</el-button> </el-button>
</template> </template>
@ -119,19 +110,9 @@ export default {
fileList: [], fileList: [],
colConfigs: [ colConfigs: [
{ prop: 'filename', label: '文件名', align: 'center' }, { prop: 'filename', label: '文件名', align: 'center' },
{ { prop: 'createBy', label: '创建人', align: 'center', formatter: this.formatter.getChineseName },
prop: 'createBy',
label: '创建人',
align: 'center',
formatter: this.formatter.getChineseName
},
{ prop: 'createTime', label: '创建时间', align: 'center' }, { prop: 'createTime', label: '创建时间', align: 'center' },
{ { prop: 'updateBy', label: '更新人', align: 'center', formatter: this.formatter.getChineseName },
prop: 'updateBy',
label: '更新人',
align: 'center',
formatter: this.formatter.getChineseName
},
{ {
prop: 'updateTime', prop: 'updateTime',
label: '更新时间', label: '更新时间',
@ -153,14 +134,10 @@ export default {
}, },
gridData: [], gridData: [],
subTotal: 0, subTotal: 0,
url: url: process.env.VUE_APP_PREVIEW_API + process.env.VUE_APP_PROJECT_NAME + '/inspectionSystemFile'
process.env.VUE_APP_PREVIEW_API +
process.env.VUE_APP_PROJECT_NAME +
'/inspectionSystemFile'
} }
}, },
mounted() { mounted() {
console.log(this.$store.getters.permissions)
}, },
methods: { methods: {
handleRemove(file, fileList) { handleRemove(file, fileList) {
@ -179,7 +156,7 @@ export default {
url: '/inspectionSystemFileLog/list', url: '/inspectionSystemFileLog/list',
method: 'get', method: 'get',
params: this.params params: this.params
}).then((res) => { }).then(res => {
this.gridData = res.list this.gridData = res.list
this.subTotal = res.total this.subTotal = res.total
}) })
@ -220,24 +197,11 @@ export default {
downLoad(item) { downLoad(item) {
const data = this.url + '/' + item.id + item.suffix const data = this.url + '/' + item.id + item.suffix
this.$router.push({ this.$router.push({
path: path: '/preview/document?src=' + this.$store.getters.prodName + '/static/web/viewer.html?file=' + encodeURIComponent(data)
'/preview/document?src=' +
this.$store.getters.prodName +
'/static/web/viewer.html?file=' +
encodeURIComponent(data)
}) })
}, },
viewHistoryFile(item) { viewHistoryFile(item) {
downloadFileUrl( downloadFileUrl(this.url + '/' + item.inspectionSystemFileId + '_' + item.id + item.suffix, item.filename, item.suffix)
this.url +
'/' +
item.inspectionSystemFileId +
'_' +
item.id +
item.suffix,
item.filename,
item.suffix
)
}, },
downLoadFn(item) { downLoadFn(item) {
const data = this.url + '/' + item.id + item.suffix const data = this.url + '/' + item.id + item.suffix
@ -265,11 +229,11 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.searchBox { .searchBox{
margin-bottom: 20px; margin-bottom: 20px;
display: flex; display: flex;
} }
.upload-demo { .upload-demo{
margin-left: 20px; margin-left: 20px;
width: 200px; width: 200px;
} }

196
src/views/flow/definition.vue

@ -30,12 +30,12 @@
</el-select> </el-select>
<el-select <el-select
v-model="listQuery.bglx" v-model="listQuery.bglx"
placeholder="请选择报告类型" placeholder="请选择流程模式"
style="width: 200px" style="width: 200px"
clearable clearable
> >
<el-option <el-option
v-for="item in bglxList" v-for="item in modeList"
:key="item.value" :key="item.value"
:label="item.name" :label="item.name"
:value="item.value" :value="item.value"
@ -64,10 +64,10 @@
<el-table-column type="selection" width="50" /> <el-table-column type="selection" width="50" />
<el-table-column type="index" align="center" label="序号" width="50" /> <el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column <el-table-column
:formatter="formatterBglx" :formatter="formatterMode"
align="center" align="center"
label="报告类型" label="流程模式"
prop="bglx" prop="mode"
width="100" width="100"
/> />
<el-table-column align="center" label="归属部门" prop="departmentName" /> <el-table-column align="center" label="归属部门" prop="departmentName" />
@ -93,7 +93,7 @@
<el-table-column align="center" label="环节处理人" prop="nickname" /> <el-table-column align="center" label="环节处理人" prop="nickname" />
<el-table-column align="center" fixed="right" label="管理" width="150px"> <el-table-column align="center" fixed="right" label="管理" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-dropdown trigger="click"> <el-dropdown trigger="hover">
<el-button <el-button
type="text" type="text"
round round
@ -109,12 +109,12 @@
修改 修改
</el-button> </el-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-for="link in linkList" :key="link.value"> <el-dropdown-item v-for="link in linkList" v-show="link.mode === scope.row.mode" :key="link.id">
<el-button <el-button
type="text" type="text"
@click="showUpdateMember(scope.$index, link.value, scope.row)" @click="showUpdateMember(scope.$index, link.id)"
> >
{{ link.name }} {{ getLinkName(link) }}
</el-button> </el-button>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@ -202,10 +202,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报告类型" required> <el-form-item label="流程模式" required>
<el-select v-model="formDefinition.bglx" clearable> <el-select v-model="formDefinition.mode" clearable>
<el-option <el-option
v-for="item in bglxList" v-for="item in modeList"
:key="item.value" :key="item.value"
:label="item.name" :label="item.name"
:value="item.value" :value="item.value"
@ -231,31 +231,32 @@
</el-dialog> </el-dialog>
<!-- 添加人员 --> <!-- 添加人员 -->
<el-dialog <el-dialog
:title="textMapMember[dialogStatus]" :title="memerTitle"
:visible.sync="dialogFormMemberVisible" :visible.sync="dialogFormMemberVisible"
> >
<!-- <el-row> <el-row :gutter="20">
<el-col :span="3"> <el-col :span="3">
<el-button type="primary" icon="el-icon-plus"> <el-button type="primary" icon="el-icon-plus" @click="tableJs.addRow($refs.tableData, { definitionId: definitionId, linkId: linkId })">
新建 新建
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="3"> <el-col :offset="1" :span="3">
<el-button type="danger" icon="el-icon-delete"> <el-button type="danger" icon="el-icon-delete" @click="deleteLink">
删除 删除
</el-button> </el-button>
</el-col> </el-col>
</el-row> --> </el-row>
<el-table <el-table
ref="tableData"
:data="tableData" :data="tableData"
border
style="width: 100%" style="width: 100%"
@selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column align="center" type="selection" width="55" />
<el-table-column type="index" label="序号" width="50" /> <el-table-column align="center" type="index" label="序号" width="50" />
<el-table-column prop="userId" label="环节人员" width="180"> <el-table-column align="center" prop="nickname" label="环节人员" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.nickname" placeholder="请选择"> <el-select v-model="scope.row.userId" filterable clearable placeholder="请选择">
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.id" :key="item.id"
@ -265,13 +266,12 @@
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="sort" label="排序"> <el-table-column align="center" prop="sort" label="排序">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number <el-input-number
v-model="scope.row.sort" v-model="scope.row.sort"
:min="1" :min="1"
:max="100" :max="100"
@change="handleChange"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -311,7 +311,7 @@ export default {
create: '添加人员', create: '添加人员',
update: '编辑人员' update: '编辑人员'
}, },
bglx: 1, mode: 1,
sbzlList: [], sbzlList: [],
listDepartment: [], listDepartment: [],
listLink: [], listLink: [],
@ -323,16 +323,8 @@ export default {
formMember: {}, formMember: {},
jylbList: [], jylbList: [],
nblbList: [], nblbList: [],
bglxList: [], modeList: [],
linkList: [ linkList: [],
{ name: '审核', value: 2 },
{ name: '审批', value: 3 },
{ name: '重启质检', value: 5 },
{ name: '重启技检', value: 6 },
{ name: '重启审批', value: 7 },
{ name: '收费审核', value: 8 },
{ name: '收费审批', value: 9 }
],
multipleSelection: [], multipleSelection: [],
dialogFormVisible: false, dialogFormVisible: false,
dialogFormMemberVisible: false, dialogFormMemberVisible: false,
@ -340,18 +332,61 @@ export default {
neibuleibie: [], neibuleibie: [],
spanArr: [], spanArr: [],
tableData: [], tableData: [],
options: [] options: [],
memerTitle: '',
definitionId: 0,
linkId: 0,
linkLabelList: []
} }
}, },
created() { created() {
this.getList() this.getList()
this.getAllDepartment() this.getAllDepartment()
this.getSbList() this.getSbList()
this.getBglxList() this.getDicDataList('REPORT_CLASS')
this.getDicDataList('FLOW_LINK')
this.getJylbList() this.getJylbList()
this.getUserList() this.getUserList()
this.getLinkListAll()
}, },
methods: { methods: {
deleteLink() {
const linkIds = []
console.log(this.$refs.tableData.selection)
this.$refs.tableData.selection.forEach(row => {
if (row.id) {
linkIds.push(row.id)
}
})
this.api({
url: '/definition',
method: 'delete',
params: {
ids: linkIds
}
}).then(data => {
this.$notify.sucess('操作成功')
this.$refs.tableData.selection.forEach(row => this.tableData.splice(this.tableData.indexOf(row), 1))
})
},
getLinkName(link) {
if (!this.linkLabelList.length) {
return
}
const linkLabel = this.linkLabelList.filter(row => row.value === link.nextName)[0]
if (!linkLabel) {
return
}
return linkLabel.name
},
getLinkListAll() {
this.api({
url: '/link/all',
method: 'get'
}).then(data => {
this.linkList = data
})
},
// //
getUserList() { getUserList() {
this.api({ this.api({
@ -374,9 +409,6 @@ export default {
this.getSpanArr(this.list) this.getSpanArr(this.list)
}) })
}, },
handleChange(value) {
console.log(value)
},
getAllDepartment() { getAllDepartment() {
this.api({ this.api({
url: '/department/all', url: '/department/all',
@ -398,15 +430,24 @@ export default {
this.sbzlList = data this.sbzlList = data
}) })
}, },
getBglxList() { getDicDataList(typeCode) {
this.api({ this.api({
url: '/dicData/getDicDataByTypeCode', url: '/dicData/getDicDataByTypeCode',
method: 'get', method: 'get',
params: { params: {
typeCode: 'REPORT_CLASS' typeCode: typeCode
} }
}).then((data) => { }).then((data) => {
this.bglxList = data switch (typeCode) {
case 'REPORT_CLASS':
this.modeList = data
break
case 'FLOW_LINK':
this.linkLabelList = data
break
default:
break
}
}) })
}, },
getJylbList() { getJylbList() {
@ -445,7 +486,7 @@ export default {
}) })
}, },
showCreate() { showCreate() {
this.$set(this.formDefinition, 'bglx', 1) this.$set(this.formDefinition, 'mode', 1)
this.dialogStatus = 'create' this.dialogStatus = 'create'
this.dialogFormVisible = true this.dialogFormVisible = true
}, },
@ -460,40 +501,23 @@ export default {
this.dialogStatus = 'update' this.dialogStatus = 'update'
this.dialogFormVisible = true this.dialogFormVisible = true
}, },
showUpdateMember($index, $link, row) { showUpdateMember($index, linkId) {
this.listLink = [] this.tableData = []
this.bglx = this.list[$index].bglx const row = this.list[$index]
this.formMember.definitionId = this.list[$index].id this.memerTitle = row.name
this.formMember.linkId = $link - 1 this.definitionId = row.id
let userIdArray = [] this.linkId = linkId
try { this.api({
if ($link === '2') { url: '/member/all',
userIdArray = this.list[$index].userId.split(',') method: 'get',
} else { params: {
if (this.list[$index].id === this.list[$index + 1].id) { definitionId: row.id,
userIdArray = this.list[$index + 1].userId.split(',') linkId: linkId
}
} }
} catch (e) { }).then(data => {
// this.tableData = data
} this.dialogFormMemberVisible = true
const userId = []
for (let i = 0; i < userIdArray.length; i++) {
userId.push(parseInt(userIdArray[i]))
}
this.listMemberUser = userId
this.dialogStatus = 'update'
console.log(row)
const arr = []
arr.push(row)
this.tableData = arr
this.tableData.map((item) => {
item.nickname = item.nickname.split(',')
item.userId = item.userId.split(',')
}) })
console.log(this.tableData[0].userId, arr)
this.dialogFormMemberVisible = true
}, },
handleFilter() { handleFilter() {
// //
@ -555,12 +579,14 @@ export default {
}) })
}, },
updateLink() { updateLink() {
this.formMember.userIds = this.listMemberUser console.log(this.tableData)
const _vue = this const _vue = this
this.api({ this.api({
url: '/definition/updateGroupMember', url: '/member/updateGroupMembers',
method: 'post', method: 'post',
data: this.formMember data: {
groupMembers: this.tableData
}
}).then(() => { }).then(() => {
this.dialogFormMemberVisible = false this.dialogFormMemberVisible = false
this.$message({ this.$message({
@ -614,10 +640,10 @@ export default {
this.formDefinition = {} this.formDefinition = {}
this.neibuleibie = [] this.neibuleibie = []
}, },
formatterBglx(row) { formatterMode(row) {
const bglx = this.bglxList.filter((bglx) => bglx.value === row.bglx) const mode = this.modeList.filter((mode) => mode.value === row.mode)
if (bglx && bglx.length) { if (mode && mode.length) {
return bglx[0].name return mode[0].name
} else { } else {
return '未知' return '未知'
} }
@ -657,7 +683,7 @@ export default {
// //
if ( if (
data[i].departmentId === data[i - 1].departmentId && data[i].departmentId === data[i - 1].departmentId &&
data[i].bglx === data[i - 1].bglx && data[i].mode === data[i - 1].mode &&
data[i].shebeizhongleidaima === data[i - 1].shebeizhongleidaima && data[i].shebeizhongleidaima === data[i - 1].shebeizhongleidaima &&
data[i].neibuleibie === data[i - 1].neibuleibie data[i].neibuleibie === data[i - 1].neibuleibie
) { ) {

13
src/views/flow/template.vue

@ -290,15 +290,15 @@ export default {
}, { }, {
value: 'JYBG', value: 'JYBG',
label: '检验报告' label: '检验报告'
}, {
value: 'OTHER',
label: '其他'
}, { }, {
value: 'HZD', value: 'HZD',
label: '回执单' label: '回执单'
}, { }, {
value: 'RWD', value: 'RWD',
label: '任务单' label: '任务单'
}, {
value: 'HGZ',
label: '合格证'
} }
], ],
formTemplate: {}, formTemplate: {},
@ -407,11 +407,8 @@ export default {
}, },
getParentList() { getParentList() {
this.api({ this.api({
url: '/template/getTemplateListByBglx', url: '/template/all',
method: 'get', method: 'get'
params: {
bglx: 1
}
}).then((data) => { }).then((data) => {
this.parentList = data this.parentList = data
}) })

10
src/views/print/1000/grant_create.vue

@ -92,16 +92,6 @@
<el-table-column align="center" label="检验日期" prop="jianyanjieshuriqi" width="110" sortable="custom" /> <el-table-column align="center" label="检验日期" prop="jianyanjieshuriqi" width="110" sortable="custom" />
<el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" /> <el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" /> <el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" />
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="收费单状态" prop="sfdId" width="90" fixed="right"> <el-table-column align="center" label="收费单状态" prop="sfdId" width="90" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.sfdId !== null" type="success"> <el-tag v-if="scope.row.sfdId !== null" type="success">

26
src/views/print/1000/print_list.vue

@ -3,9 +3,6 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button v-show="hasPerm('print:SFD')" type="success" icon="el-icon-printer" @click="printSfd">
收费通知单
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')">
原始记录 原始记录
</el-button> </el-button>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证 合格证
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -59,15 +52,6 @@
<el-option v-for="item in jylbList" v-show="item.parentId" :key="item.code" :label="item.name" :value="item.code" /> <el-option v-for="item in jylbList" v-show="item.parentId" :key="item.code" :label="item.name" :value="item.code" />
</el-select> </el-select>
<el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" /> <el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" />
<span class="radio-group-label">发放状态</span>
<el-radio-group v-model="listQuery.fafangState" @change="handleFilter">
<el-radio :label="0">
未发放
</el-radio>
<el-radio :label="1">
已发放
</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -120,16 +104,6 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="60"> <el-table-column fixed="right" align="center" label="操作" prop="" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />

26
src/views/print/2000/print_list.vue

@ -3,9 +3,6 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button v-show="hasPerm('print:SFD')" type="success" icon="el-icon-printer" @click="printSfd">
收费通知单
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')">
原始记录 原始记录
</el-button> </el-button>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证 合格证
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -56,15 +49,6 @@
<el-input v-model="listQuery.shiyongdengjibianhao" placeholder="请输入使用登记证编号" clearable style="width: 200px" @keyup.enter.native="handleFilter" /> <el-input v-model="listQuery.shiyongdengjibianhao" placeholder="请输入使用登记证编号" clearable style="width: 200px" @keyup.enter.native="handleFilter" />
<el-input v-model="listQuery.chanpinbianhao" placeholder="请输入产品编号" clearable style="width: 185px" @keyup.enter.native="handleFilter" /> <el-input v-model="listQuery.chanpinbianhao" placeholder="请输入产品编号" clearable style="width: 185px" @keyup.enter.native="handleFilter" />
<el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" /> <el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" />
<span class="radio-group-label">发放状态</span>
<el-radio-group v-model="listQuery.fafangState" @change="handleFilter">
<el-radio :label="0">
未发放
</el-radio>
<el-radio :label="1">
已发放
</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -117,16 +101,6 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="60"> <el-table-column fixed="right" align="center" label="操作" prop="" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />

105
src/views/print/3000/print_list.vue

@ -3,9 +3,6 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button v-show="hasPerm('print:SFD')" type="success" icon="el-icon-printer" @click="printSfd">
收费通知单
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')">
原始记录 原始记录
</el-button> </el-button>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证 合格证
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -35,12 +28,6 @@
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-button v-if="hasRole('ADMIN')" type="primary" @click="sign">
签章
</el-button>
<el-button v-if="hasRole('ADMIN')" type="primary" @click="removeSign">
移除签章
</el-button>
</div> </div>
</sticky> </sticky>
<el-form ref="testrefprint"> <el-form ref="testrefprint">
@ -63,15 +50,6 @@
<el-option v-for="item in jylbList" :key="item.code" :label="item.name" :value="item.code" /> <el-option v-for="item in jylbList" :key="item.code" :label="item.name" :value="item.code" />
</el-select> </el-select>
<el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" /> <el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" />
<span class="radio-group-label">打印状态</span>
<el-radio-group v-model="listQuery.printState" @change="handleFilter">
<el-radio :label="0">
未打印
</el-radio>
<el-radio :label="1">
已打印
</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -108,16 +86,6 @@
<el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" /> <el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" />
<el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" /> <el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" /> <el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" />
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="100"> <el-table-column fixed="right" align="center" label="操作" prop="" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />
@ -237,37 +205,58 @@ export default {
this.$message('请选择单条进行打印。') this.$message('请选择单条进行打印。')
return false return false
} }
// if (!this.multipleSelection.jfState) { if (type === 'HGZ') {
// this.$message.error('') this.generatePdfHgz()
// return false return
// } }
const id = this.multipleSelection[0].id const id = this.multipleSelection[0].id
const version = this.multipleSelection[0].reportVersion
if (version === '16') { this.preview({
const data = `${process.env.VUE_APP_OLD_API}` + 'report/docKuroPreView/' + id + '/' + type + ''.replace(/\\/g, '/') url: '/print/generatePdf',
method: 'post',
data: {
ysjlId: id,
viewType: type,
generateType: false
}
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data) window.open(data)
} else { this.api({ //
this.preview({ url: '/ysjl/batchRecordPrintState',
url: '/print/generatePdf', method: 'get',
method: 'post', params: {
data: { id: id,
ysjlId: id, type: type
viewType: type,
generateType: false
} }
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data)
this.api({ //
url: '/ysjl/batchRecordPrintState',
method: 'get',
params: {
id: id,
type: type
}
})
}) })
})
},
generatePdfHgz() {
if (this.multipleSelection.length !== 1) {
this.$message('请选择单条进行打印。')
return false
} }
const id = this.$refs.list.selection[0].id
this.preview({
url: '/print/generatePdfHgz',
method: 'get',
params: {
ysjlId: id,
viewType: 'HGZ'
}
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data)
this.api({ //
url: '/ysjl/batchRecordPrintState',
method: 'get',
params: {
id: id,
type: 'HGZ'
}
})
})
}, },
batchToPrint(type) { batchToPrint(type) {
if (this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {

35
src/views/print/4000/print_list.vue

@ -3,28 +3,15 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button v-show="hasPerm('print:SFD')" type="success" icon="el-icon-printer" @click="printSfd">
收费通知单
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')">
原始记录 原始记录
</el-button> </el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('XMB')">
项目表
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('JYBG')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('JYBG')">
检验报告 检验报告
</el-button> </el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('QZJZS')">
监检证书
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证 合格证
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -33,26 +20,14 @@
<el-dropdown-item command="YSJL"> <el-dropdown-item command="YSJL">
原始记录 原始记录
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item command="XMB">
项目表
</el-dropdown-item>
<el-dropdown-item command="JYBG"> <el-dropdown-item command="JYBG">
检验报告 检验报告
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item command="QZJZS">
监检证书
</el-dropdown-item>
<el-dropdown-item command="HGZ"> <el-dropdown-item command="HGZ">
合格证 合格证
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-button v-if="hasRole('ADMIN')" type="primary" @click="sign">
签章
</el-button>
<el-button v-if="hasRole('ADMIN')" type="primary" @click="removeSign">
移除签章
</el-button>
<!-- <el-button type="success" icon="el-icon-edit" @click="editPrintState">--> <!-- <el-button type="success" icon="el-icon-edit" @click="editPrintState">-->
<!-- 标记为已打印--> <!-- 标记为已打印-->
<!-- </el-button>--> <!-- </el-button>-->
@ -123,16 +98,6 @@
<el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" /> <el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" />
<el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" /> <el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" /> <el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" />
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="100"> <el-table-column fixed="right" align="center" label="操作" prop="" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />

17
src/views/print/5000/print_list.vue

@ -3,9 +3,6 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button v-show="hasPerm('print:SFD')" type="success" icon="el-icon-printer" @click="printSfd">
收费通知单
</el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('YSJL')">
原始记录 原始记录
</el-button> </el-button>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证 合格证
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -103,16 +96,6 @@
<el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" /> <el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" />
<el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" /> <el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" /> <el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" />
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="100"> <el-table-column fixed="right" align="center" label="操作" prop="" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />

23
src/views/print/8000/print_list.vue

@ -9,10 +9,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('JYBG')"> <el-button type="primary" icon="el-icon-printer" @click="batchToPrint('JYBG')">
检验报告 检验报告
</el-button> </el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline"> <el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view"> <el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" /> 预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -50,15 +46,6 @@
<el-option v-for="item in jylbList" v-show="item.parentId" :key="item.code" :label="item.name" :value="item.code" /> <el-option v-for="item in jylbList" v-show="item.parentId" :key="item.code" :label="item.name" :value="item.code" />
</el-select> </el-select>
<el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" /> <el-date-picker v-model="listQuery.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="请选择下次检验日期" style="width:145px" />
<span class="radio-group-label">发放状态</span>
<el-radio-group v-model="listQuery.fafangState" @change="handleFilter">
<el-radio :label="0">
未发放
</el-radio>
<el-radio :label="1">
已发放
</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -111,16 +98,6 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="交费状态" prop="jfState" width="90" fixed="right">
<template slot-scope="scope">
<el-tag v-if="scope.row.jfState" type="success">
已交费
</el-tag>
<el-tag v-else type="danger">
未交费
</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" align="center" label="操作" prop="" width="60"> <el-table-column fixed="right" align="center" label="操作" prop="" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" /> <el-button size="mini" type="primary" icon="el-icon-view" title="预览" circle @click="viewBaogao(scope.row.id, scope.row.reportVersion)" />

1
src/views/print/grant_list.vue

@ -54,7 +54,6 @@
<el-table-column align="center" label="发票号码" prop="lingqurenDianhua" /> <el-table-column align="center" label="发票号码" prop="lingqurenDianhua" />
<el-table-column align="center" label="发放日期" prop="createTime" /> <el-table-column align="center" label="发放日期" prop="createTime" />
<el-table-column align="center" label="台数" prop="taishu" /> <el-table-column align="center" label="台数" prop="taishu" />
<el-table-column align="center" label="交费金额(元)" prop="hejijine" />
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" />
</div> </div>

178
src/views/task/qiye_list.vue

@ -1,178 +0,0 @@
<template>
<div class="app-container">
<div class="filter-container">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button type="primary" icon="el-icon-edit" @click="openBaseZhongjian">
标注部分设备现场检验
</el-button>
</div>
</sticky>
<el-form :inline="true" :model="searchRw" class="demo-form-inline">
<el-form-item label="设备种类">
<el-input v-model="searchRw.shebeizhonglei" style="width: 100px" />
</el-form-item>
<el-form-item label="报检单号">
<el-input v-model="searchRw.serialNumber" />
</el-form-item>
<el-form-item label="报检日期">
<el-date-picker v-model="searchRw.createTime" type="date" style="width: 100%;" />
</el-form-item>
<el-form-item label="使用单位">
<el-input v-model="searchRw.shiyongdanwei" style="width: 300px" />
</el-form-item>
<el-form-item label="使用单位地址">
<el-input v-model="searchRw.shiyongdanweiDizhi" style="width: 300px" />
</el-form-item>
<el-form-item label="施工单位">
<el-input v-model="searchRw.shigongdanwei" style="width: 300px" />
</el-form-item>
<el-form-item label="制造单位">
<el-input v-model="searchRw.zhizaodanwei" style="width: 300px" />
</el-form-item>
<el-form-item label="说明:">
<span style="color: red">列表默认是黑色如已经正确标记颜色会变更</span>
</el-form-item>
</el-form>
</div>
<el-table
ref="list"
v-adaptive="{bottomOffset: 50}"
height="0"
:data="list"
width="100%"
size="small"
border
fit
highlight-current-row
stripe
:row-class-name="tableRowBfZhongjian"
@row-click="onRowClick"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="40" />
<el-table-column align="center" label="序号" width="60" fixed="left">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)" />
</template>
</el-table-column>
<el-table-column align="center" label="设备类别" prop="shebeileibie" width="150" />
<el-table-column align="center" label="设备品种" prop="shebeipinzhong" width="150" />
<el-table-column align="center" label="设备代码" prop="shebeidaima" width="180" />
<el-table-column align="center" label="产品编号/出厂编号" prop="chanpinbianhao" width="220" />
<el-table-column align="center" label="规格型号" prop="guigexinghao" width="220" />
<el-table-column align="center" label="区划名称" prop="quhuamingcheng" width="150" />
<el-table-column align="center" label="申请现场检验日期" prop="shenqingxianchangriqi" />
<el-table-column align="center" label="层" prop="s1" />
<el-table-column align="center" label="区段长度" prop="s14" />
<el-table-column align="center" label="提升高度" prop="s16" />
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
export default {
name: 'MyTask',
components: { Sticky },
data() {
return {
list: [],
searchRw: {},
bjdId: '',
multipleSelection: [],
selection: {},
bjdZhongjian: {
bjdid: '',
xianchangriqi: '',
xianchangbeizhu: '',
renwuIds: '',
zhongjianstate: '1'
}
}
},
created() {
localStorage.setItem('token', this.$route.query.tkey)
this.getList()
},
mounted() {
},
methods: {
getList() {
const qyid = window.atob(this.$route.params.qyid)
this.apibjd({
url: '/bjd/getByQyId',
method: 'get',
params: {
qyid: qyid
}
}).then(data => {
this.bjdId = data
this.apibjd({
url: '/renwu/getAllotBaseList',
method: 'post',
data: {
bjdIds: this.bjdId
}
}).then(data => {
this.searchRw = data.list[0]
this.list = data.list
})
})
},
getIndex($index) {
//
return $index + 1
},
handleFilter() {
//
this.getList()
},
onRowClick(row) {
this.selection = row
this.$refs.list.toggleRowSelection(row)
},
handleSelectionChange: function(val) {
this.multipleSelection = val
},
openBaseZhongjian() {
if (this.multipleSelection.length === 0) {
this.$message({ message: '请在列表选择要操作的数据。', type: 'warning' })
return false
}
for (let i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].shenqingxianchangriqi !== '' && this.multipleSelection[i].shenqingxianchangriqi !== null && this.multipleSelection[i].shenqingxianchangriqi !== undefined) {
this.$message({ message: '请勿重复执行标注操作。', type: 'warning' })
return false
}
}
this.bjdZhongjian.bjdid = this.bjdId
this.bjdZhongjian.renwuIds = this.multipleSelection.map(rw => {
return rw.id
}).join(',')
this.bjdZhongjian.xianchangriqi = new Date()
this.apibjd({
url: '/renwu/updBjdEndState',
method: 'post',
data: this.bjdZhongjian
}).then(data => {
this.$message.success('标记成功。')
this.getList()
})
},
tableRowBfZhongjian({ row, rowIndex }) {
if (row.shenqingxianchangriqi !== null) {
return 'xianchangriqi-row'
}
return ''
}
}
}
</script>
<style>
/** 允许终检 */
.el-table .xianchangriqi-row {
color: #0831e4;
}
</style>

144
src/views/user/department.vue

@ -45,50 +45,106 @@
</el-table> </el-table>
<pagination v-show="total>0" :total="total" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" /> <pagination v-show="total>0" :total="total" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" />
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" @close="closeDialog"> <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" @close="closeDialog">
<el-form ref="tempDepartment" :model="tempDepartment" class="small-space" label-width="80px"> <el-form ref="tempDepartment" :model="tempDepartment" label-width="130px">
<el-form-item label="部门名称" required> <el-row :gutter="20">
<el-input v-model="tempDepartment.name" type="text" size="small" style="width:200px" /> <el-col :span="9">
</el-form-item> <el-form-item label="部门名称" required>
<el-form-item label="负责人" size="small" required> <el-input v-model="tempDepartment.name" type="text" />
<el-select v-model="tempDepartment.leader" filterable placeholder="请选择" clearable> </el-form-item>
<el-option v-for="item in leaders" :key="item.id" :label="item.nickname" :value="item.id" /> </el-col>
</el-select> <el-col :span="9">
</el-form-item> <el-form-item label="负责人" size="small" required>
<el-form-item label="检验类别" prop="jianyanleibie"> <el-select v-model="tempDepartment.leader" filterable placeholder="请选择" clearable>
<el-select v-model="tempDepartment.jianyanleibie" multiple placeholder="请选择检验类别"> <el-option v-for="item in leaders" :key="item.id" :label="item.nickname" :value="item.id" />
<el-option value="DJ" label="定期检验" /> </el-select>
<el-option value="JJ" label="监督检验" /> </el-form-item>
<el-option value="ZZ" label="制造监检" /> </el-col>
</el-select> <el-col :span="9">
</el-form-item> <el-form-item label="检验类别" prop="jianyanleibie">
<el-form-item label="设备种类" prop="shebeizhongleidaima"> <el-select v-model="tempDepartment.jianyanleibie" multiple collapse-tags placeholder="请选择检验类别">
<el-select v-model="tempDepartment.shebeizhongleidaima" multiple placeholder="请选择设备种类"> <el-option value="DJ" label="定期检验" />
<el-option <el-option value="JJ" label="监督检验" />
v-for="item in sbzlList" <el-option value="ZZ" label="制造监检" />
:key="item.value" </el-select>
:label="item.label" </el-form-item>
:value="item.value" </el-col>
/> <el-col :span="9">
</el-select> <el-form-item label="设备种类" prop="shebeizhongleidaima">
</el-form-item> <el-select v-model="tempDepartment.shebeizhongleidaima" multiple collapse-tags placeholder="请选择设备种类">
<el-form-item label="所属区划" prop="quhuadaima"> <el-option
<el-select v-model="tempDepartment.quhuadaima" multiple placeholder="请选择所属区划"> v-for="item in sbzlList"
<el-option :key="item.value"
v-for="item in areas" :label="item.label"
:key="item.value" :value="item.value"
:label="item.label" />
:value="item.value" </el-select>
/> </el-form-item>
</el-select> </el-col>
</el-form-item> <el-col :span="9">
<el-form-item label="部门代码(选填)"> <el-form-item label="所属区划" prop="quhuadaima">
<el-input v-model="tempDepartment.code" type="text" size="small" style="width: 200px" /> <el-select v-model="tempDepartment.quhuadaima" multiple collapse-tags placeholder="请选择所属区划">
</el-form-item> <el-option
<el-form-item label="上级科室"> v-for="item in areas"
<el-select v-model="tempDepartment.parentId" filterable clearable> :key="item.value"
<el-option v-for="dept in departments" :key="dept.id" :value="dept.id" :label="dept.name" /> :label="item.label"
</el-select> :value="item.value"
</el-form-item> />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="上级科室">
<el-select v-model="tempDepartment.parentId" filterable clearable>
<el-option v-for="dept in departments" :key="dept.id" :value="dept.id" :label="dept.name" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="联系人">
<el-input v-model="tempDepartment.lianxiren" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="联系人电话">
<el-input v-model="tempDepartment.lianxirenDianhua" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="机构核准证号">
<el-input v-model="tempDepartment.hezhunzhenghao" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="地址">
<el-input v-model="tempDepartment.dizhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="邮编">
<el-input v-model="tempDepartment.youbian" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="电话">
<el-input v-model="tempDepartment.tel" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="网址">
<el-input v-model="tempDepartment.website" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="邮箱">
<el-input v-model="tempDepartment.email" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="启用">
<el-switch v-model="tempDepartment.state" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="成员"> <el-form-item label="成员">
<template> <template>
<el-transfer v-model="departmentUserList" :props="{key: 'id', label: 'nickname'}" :button-texts="['移除', '添加']" :titles="['未分配员工', '部门成员']" :data="unAllotUserList" /> <el-transfer v-model="departmentUserList" :props="{key: 'id', label: 'nickname'}" :button-texts="['移除', '添加']" :titles="['未分配员工', '部门成员']" :data="unAllotUserList" />

2
src/views/user/role.vue

@ -56,7 +56,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="功能选项"> <el-table-column label="功能选项">
<template v-if="scope.row.children.length === 0" slot-scope="scope"> <template slot-scope="scope">
<el-checkbox <el-checkbox
v-for="options in scope.row.resourcePermissions" v-for="options in scope.row.resourcePermissions"
:key="options.id" :key="options.id"

74
src/views/user/user.vue

@ -34,12 +34,20 @@
添加 添加
</el-button> </el-button>
<el-button <el-button
v-if="hasPerm('user:delete')"
type="danger"
icon="el-icon-edit"
@click="delUser"
>
冻结
</el-button>
<!-- <el-button
icon="el-icon-document" icon="el-icon-document"
type="primary" type="primary"
@click="handleDownload" @click="handleDownload"
> >
导出Excel 导出Excel
</el-button> </el-button>-->
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -62,7 +70,6 @@
<el-table-column slot="operation" align="center" width="100" label="操作"> <el-table-column slot="operation" align="center" width="100" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<Edit :permission="permission" :data="scope.row" :disabled-edit="false" /> <Edit :permission="permission" :data="scope.row" :disabled-edit="false" />
<Delete :permission="permission" :data="scope.row" style="margin-left: 5px" />
</template> </template>
</el-table-column> </el-table-column>
</CustomTable> </CustomTable>
@ -151,7 +158,7 @@
:on-remove="handleRemove" :on-remove="handleRemove"
:file-list="fileList" :file-list="fileList"
:limit="1" :limit="1"
action="123" action=""
list-type="picture" list-type="picture"
> >
<el-button size="small" type="primary"> <el-button size="small" type="primary">
@ -185,10 +192,9 @@ import CRUD, { form, header, presenter } from '@/components/Crud/crud'
// import Crud from '@/components/Crud' // import Crud from '@/components/Crud'
// import Query from '@/components/Crud/Query' // import Query from '@/components/Crud/Query'
import Edit from '@/components/Crud/Edit' import Edit from '@/components/Crud/Edit'
import Delete from '@/components/Crud/Delete'
import CustomTable from '@/components/Crud/Table' import CustomTable from '@/components/Crud/Table'
import Pagination from '@/components/Crud/Pagination' import Pagination from '@/components/Crud/Pagination'
import CrudRole from '@/api/role' import CrudUser from '@/api/user'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { parseTime } from '../../utils' import { parseTime } from '../../utils'
// import Pagination from '@/components/Pagination' // import Pagination from '@/components/Pagination'
@ -198,7 +204,7 @@ const defaultCrud = presenter(CRUD({
url: '/user/list', url: '/user/list',
orderBy: ['id asc'], orderBy: ['id asc'],
param: {}, param: {},
crudMethod: { ...CrudRole } crudMethod: { ...CrudUser }
})) }))
// form // form
@ -210,49 +216,9 @@ const defaultForm = form({
}) })
export default { export default {
name: 'UserList', name: 'UserList',
components: { Pagination, CustomTable, Edit, Delete }, components: { Pagination, CustomTable, Edit },
mixins: [defaultCrud, defaultForm, header()], mixins: [defaultCrud, defaultForm, header()],
data() { data() {
const idCardValidity = (rule, code, callback) => {
var city = { 11: '北京', 12: '天津', 13: '河北', 14: '山西', 15: '内蒙古', 21: '辽宁', 22: '吉林', 23: '黑龙江 ', 31: '上海', 32: '江苏', 33: '浙江', 34: '安徽', 35: '福建', 36: '江西', 37: '山东', 41: '河南', 42: '湖北 ', 43: '湖南', 44: '广东', 45: '广西', 46: '海南', 50: '重庆', 51: '四川', 52: '贵州', 53: '云南', 54: '西藏 ', 61: '陕西', 62: '甘肃', 63: '青海', 64: '宁夏', 65: '新疆', 71: '台湾', 81: '香港', 82: '澳门', 91: '国外 ' }
var tip = ''
var pass = true
if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)) {
tip = '身份证号格式错误'
pass = false
} else if (!city[code.substr(0, 2)]) {
tip = '地址编码错误'
pass = false
} else {
// 18
if (code.length === 18) {
code = code.split('')
// (ai×Wi)(mod 11)
//
var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
//
var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]
var sum = 0
var ai = 0
var wi = 0
for (var i = 0; i < 17; i++) {
ai = code[i]
wi = factor[i]
sum += ai * wi
}
if (parity[sum % 11] !== code[17]) {
tip = '校验位错误'
pass = false
}
}
}
if (!pass) {
callback(new Error(tip))
} else {
callback()
}
}
return { return {
defaultProps: { defaultProps: {
children: 'children', children: 'children',
@ -289,9 +255,7 @@ export default {
{ required: true, message: '请填写用户名', trigger: 'blur' } { required: true, message: '请填写用户名', trigger: 'blur' }
], ],
password: [{ required: true, message: '请填写密码', trigger: 'blur' }], password: [{ required: true, message: '请填写密码', trigger: 'blur' }],
nickname: [{ required: true, message: '请填写昵称', trigger: 'blur' }], nickname: [{ required: true, message: '请填写昵称', trigger: 'blur' }]
identificationNum: [{ required: true, message: '请填写身份证号码', trigger: 'blur' },
{ validator: idCardValidity, trigger: 'blur' }]
}, },
fileList: [], fileList: [],
depts: [], depts: [],
@ -405,8 +369,7 @@ export default {
}).then((data) => { }).then((data) => {
this.tempUser.signImg = data this.tempUser.signImg = data
this.fileList = JSON.parse(data) this.fileList = JSON.parse(data)
this.fileList[0].url = this.fileList[0].url = process.env.VUE_APP_IMG_URL + 'signImage/' + this.fileList[0].name
process.env.VUE_APP_IMG_URL + 'signImage/' + this.fileList[0].name
}) })
return true return true
}, },
@ -594,6 +557,13 @@ export default {
} else { } else {
return null return null
} }
},
delUser() {
CrudUser.del({
ids: this.$refs.customTable.$refs.table.selection.map(row => row.id)
}).then(() => {
this.crud.toQuery()
})
} }
} }
} }

149
src/views/ysjl/3000/common/index.vue

@ -83,31 +83,39 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="9"> <el-col :span="9">
<el-form-item label="设备类别" prop="shebeileibie"> <el-form-item label="设备类别" prop="shebeileibiedaima">
<el-select <el-select
v-model="ysjl.shebeileibie" v-model="ysjl.shebeileibiedaima"
filterable filterable
allow-create
default-first-option default-first-option
style="width: 100%" style="width: 100%"
@change="changXh" @change="changeSblb"
> >
<el-option <el-option
v-for="item in xinghaoList" v-for="(item, index) in sblbList"
:key="item.id" :key="index"
:label="item.xinghao" :label="item.label"
:value="item.xinghao" :value="item.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="设备品种" prop="shebeipinzhong"> <el-form-item label="设备品种" prop="shebeipinzhongdaima">
<el-input <el-select
v-model="ysjl.shebeipinzhong" v-model="ysjl.shebeipinzhongdaima"
type="text" filterable
:disabled="edit" default-first-option
/> style="width: 100%"
@change="changeSbpz"
>
<el-option
v-for="(item, index) in sbpzList"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -119,12 +127,7 @@
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="制造日期" prop="zhizaoriqi"> <el-form-item label="制造日期" prop="zhizaoriqi">
<el-date-picker <el-input v-model="ysjl.zhizaoriqi" type="text" />
v-model="ysjl.zhizaoriqi"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -174,10 +177,10 @@
<el-col :span="18"> <el-col :span="18">
<el-form-item <el-form-item
label="施工单位名称" label="施工单位名称"
prop="shigongdanweimingcheng" prop="shigongdanwei"
> >
<el-input <el-input
v-model="ysjl.shigongdanweimingcheng" v-model="ysjl.shigongdanwei"
type="text" type="text"
:disabled="edit" :disabled="edit"
/> />
@ -198,10 +201,10 @@
<el-col :span="9"> <el-col :span="9">
<el-form-item <el-form-item
label="施工单位许可证编号" label="施工单位许可证编号"
prop="shigongdanweixukezhengbianhao" prop="shigongxukezheng"
> >
<el-input <el-input
v-model="ysjl.shigongdanweixukezhengbianhao" v-model="ysjl.shigongxukezheng"
type="text" type="text"
:disabled="edit" :disabled="edit"
/> />
@ -255,9 +258,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> <el-form-item label="联系电话" prop="anquanguanlidianhua">
<el-input <el-input
v-model="ysjl.shiyongdanweiDianhua" v-model="ysjl.anquanguanlidianhua"
type="text" type="text"
:disabled="edit" :disabled="edit"
/> />
@ -379,25 +382,25 @@
v-if=" v-if="
fromType === 2 || fromType === 2 ||
fromType === 6 || fromType === 6 ||
fromType == 10 || fromType === 10 ||
fromType == 12 fromType === 12
" "
:gutter="20" :gutter="20"
> >
<el-col :span="9"> <el-col :span="9">
<el-form-item label="联系人" prop="lianxiren"> <el-form-item label="联系人" prop="shiyongdanweiLianxiren">
<el-input <el-input
v-model="param.lianxiren" v-model="ysjl.shiyongdanweiLianxiren"
type="text" type="text"
:disabled="edit" :disabled="edit"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="联系电话" prop="dianhua"> <el-form-item label="联系电话" prop="shiyongdanweiDianhua">
<el-input <el-input
v-model="param.dianhua" v-model="ysjl.shiyongdanweiDianhua"
type="number" type="text"
:disabled="edit" :disabled="edit"
/> />
</el-form-item> </el-form-item>
@ -686,8 +689,13 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="9"> <el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> <el-form-item label="检验日期" prop="jianyankaishiriqi">
<el-input v-model="ysjl.jianyanjieshuriqi" /> <el-date-picker
v-model="ysjl.jianyankaishiriqi"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
@ -847,7 +855,8 @@ export default {
ysjlId: this.$route.query.id, ysjlId: this.$route.query.id,
checkedTab: 'first', checkedTab: 'first',
userList: [], userList: [],
xinghaoList: [], sblbList: [],
sbpzList: [],
jybgData: [], jybgData: [],
cols: [ cols: [
{ {
@ -890,6 +899,22 @@ export default {
tree: [] tree: []
} }
}, },
watch: {
jlbh4: function() {
this.ysjlService
.judgeRepeat(this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4, this.ysjl.id)
.then((data) => {
this.isRepeat = data
})
},
'ysjl.jilubianhao': function() {
this.ysjlService
.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id)
.then((data) => {
this.isRepeat = data
})
}
},
created() { created() {
if (this.state === 'create') { if (this.state === 'create') {
this.initYsjl() this.initYsjl()
@ -952,21 +977,29 @@ export default {
this.jlbh2 = '(C)' this.jlbh2 = '(C)'
} }
this.getJyxm(1) this.getJyxm(1)
this.getSbList() this.getSbList(undefined, 2)
this.getSbList(this.ysjl.shebeileibiedaima, 3)
this.getMaxBh() this.getMaxBh()
}) })
}, },
getSbList() { getSbList(sblb, level) {
this.api({ return this.sedirectoryService.getList({
url: '/sedirectory/getList', sbzl: '3000',
method: 'get', sblb: sblb,
params: { level: level
sbzl: this.$route.query.sbzldm,
sblb: this.$route.query.sblbdm,
level: 2
}
}).then((data) => { }).then((data) => {
this.xinghaoList = data switch (level) {
case 2:
this.sblbList = data
break
case 3:
this.sbpzList = data
this.ysjl.shebeipinzhong = this.sbpzList[0].label
this.ysjl.shebeipinzhongdaima = this.sbpzList[0].value
break
default:
break
}
}) })
}, },
getJyxmInfoByYsjl() { getJyxmInfoByYsjl() {
@ -1008,6 +1041,8 @@ export default {
this.isRepeat = data this.isRepeat = data
}) })
this.getJyxm(1) this.getJyxm(1)
this.getSbList(undefined, 2)
this.getSbList(this.ysjl.shebeileibiedaima, 3)
}) })
}, },
getParam() { getParam() {
@ -1151,12 +1186,14 @@ export default {
const subArr = this.sortClass(this.bgfyData) const subArr = this.sortClass(this.bgfyData)
subArr.forEach((item) => { subArr.forEach((item) => {
if (item.some((k) => k.jianyanjieguo.indexOf('X') === 0)) { if (item.some((k) => k.jianyanjieguo.indexOf('×') === 0)) {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '不合格' this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '不合格'
} else if (item.every((k) => k.jianyanjieguo.indexOf('√') === 0)) { } else if (item.some((k) => k.jianyanjieguo.indexOf('√') === 0 || k.jianyanjieguo.indexOf('○') === 0)) {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '合格' this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '合格'
} else if (item.every((k) => k.jianyanjieguo.indexOf('/') === 0)) { } else if (item.every((k) => k.jianyanjieguo.indexOf('/') === 0)) {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '无此项' this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '无此项'
} else {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = ''
} }
}) })
const tableData = [] const tableData = []
@ -1296,8 +1333,18 @@ export default {
} }
}) })
}, },
changXh: function(val) { changeSblb(val) {
// TODO this.ysjl.shebeileibiedaima = val
this.ysjl.shebeileibie = this.sblbList.filter(row => row.value === val)[0].label
this.getSbList(this.ysjl.shebeileibiedaima, 3)
.then(() => {
this.shebeipinzhongdaima = this.sbpzList[0].value
this.shebeipinzhong = this.sbpzList[0].label
})
},
changeSbpz(val) {
this.ysjl.shebeipinzhongdaima = val
this.ysjl.shebeipinzhong = this.sbpzList.filter(row => row.value === val)[0].label
}, },
loadPhxsImage(data) { loadPhxsImage(data) {
this.pic = data this.pic = data

12
src/views/ysjl/3000/common/inspection-items.vue

@ -66,7 +66,7 @@ export default {
}, },
data() { data() {
return { return {
jyjgList: [{ value: '√' }, { value: 'X' }, { value: '/' }] jyjgList: [{ value: '√' }, { value: '×' }, { value: '/' }]
} }
}, },
created() { created() {
@ -89,14 +89,12 @@ export default {
if (val.length > 1) { if (val.length > 1) {
beizhu = val.substr(1) beizhu = val.substr(1)
} }
if (val.indexOf('X') === 0) { if (val.indexOf('×') === 0) {
jybgJyjgJyxm.jianyanjieguo = '不符合' + beizhu jybgJyjgJyxm.jianyanjieguo = '不符合' + beizhu
} else if (val.indexOf('√') === 0) { } else if (val.indexOf('√') === 0) {
let jyjg = '符合' jybgJyjgJyxm.jianyanjieguo = '符合' + beizhu
if (row.xiangmuleibie === 'C') { } else if (val.indexOf('○') === 0) {
jyjg = '资料确认符合' jybgJyjgJyxm.jianyanjieguo = '资料确认符合' + beizhu
}
jybgJyjgJyxm.jianyanjieguo = jyjg + beizhu
} else if (val.indexOf('/') === 0) { } else if (val.indexOf('/') === 0) {
jybgJyjgJyxm.jianyanjieguo = '无此项' + beizhu jybgJyjgJyxm.jianyanjieguo = '无此项' + beizhu
} else { } else {

2
src/views/ysjl/3000/dj/common/phxsb.vue

@ -70,7 +70,7 @@ export default {
id: '1' id: '1'
}, },
{ {
value: 'X', value: '×',
id: '2' id: '2'
}, },
{ {

2
src/views/ysjl/3000/dj/common/table.vue

@ -72,7 +72,7 @@ export default {
id: '1' id: '1'
}, },
{ {
value: 'X', value: '×',
id: '2' id: '2'
}, },
{ {

2
src/views/ysjl/3000/dj/common/zdftFb.vue

@ -32,7 +32,7 @@ export default {
id: '1' id: '1'
}, },
{ {
value: 'X', value: '×',
id: '2' id: '2'
}, },
{ {

9
src/views/ysjl/3000/dj/yy/index.vue

@ -63,16 +63,21 @@ export default {
header: [ header: [
{ {
label: '层站', label: '层站',
prop: 'D8', prop: 'D9',
type: 1 type: 1
}, },
{ {
label: '6.3施力层门间隙', label: '6.3施力层门间隙',
prop: 'D7', prop: 'D8',
type: 1 type: 1
}, },
{ {
label: '6.3门扇与门扇', label: '6.3门扇与门扇',
prop: 'D7',
type: 1
},
{
label: '6.3门扇与立柱',
prop: 'D6', prop: 'D6',
type: 1 type: 1
}, },

37
src/views/ysjl/3000/dj/zw/index.vue

@ -7,7 +7,7 @@
import baseInfo from '@/views/ysjl/3000/common/index' import baseInfo from '@/views/ysjl/3000/common/index'
export default { export default {
name: 'ElevatorYeyin', name: 'ElevatorZaWu',
components: { baseInfo }, components: { baseInfo },
data() { data() {
return { return {
@ -17,11 +17,12 @@ export default {
header: [ header: [
{ {
label: '层站', label: '层站',
prop: 'D7', prop: 'D2',
type: 1 type: 1
}, },
{ {
label: '6.8门的闭合', label: '6.8门的闭合',
prop: 'D1',
type: 1 type: 1
} }
], ],
@ -58,37 +59,7 @@ export default {
data: [] data: []
} }
], ],
tableHeader2: [ tableHeader2: [],
{
label: '电动机电流载重量百分比',
type: 1
},
{
label: '30%',
prop: 'D1',
type: 1
},
{
label: '40%',
prop: 'D2',
type: 1
},
{
label: '45%',
prop: 'D3',
type: 1
},
{
label: '50%',
prop: 'D4',
type: 1
},
{
label: '60%',
prop: 'D5',
type: 1
}
],
list: [], list: [],
list1: [] list1: []
} }

10
src/views/ysjl/components/original_db_list.vue

@ -78,7 +78,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editYsjl(scope.$index)" /> <el-button type="primary" size="mini" circle icon="el-icon-edit" title="编辑" @click="editYsjl(scope.$index)" />
<el-button type="success" size="mini" circle icon="el-icon-view" title="预览 原始记录" @click="common.viewYsjl(scope.row.bglx === 1 ? scope.row.id : scope.row.parentId, 'YSJL')" /> <el-button type="success" size="mini" circle icon="el-icon-view" title="预览 原始记录" @click="common.viewYsjl(scope.row.bglx === 1 ? scope.row.id : scope.row.parentId, 'YSJL')" />
<el-button type="info" size="mini" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].id)" /> <el-button type="info" size="mini" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(list[scope.$index].renwuId)" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -369,14 +369,14 @@ export default {
}, },
/** /**
* 根据报告ID查看驳回原因 * 根据报告ID查看驳回原因
* @param ysjlId * @param renwuId
*/ */
viewAllRejection(ysjlId) { viewAllRejection(renwuId) {
this.api({ this.api({
url: '/taskinfo/viewAllRejection', url: '/taskinfo/viewRejection',
method: 'get', method: 'get',
params: { params: {
ysjlId: ysjlId renwuId: renwuId
} }
}).then(data => { }).then(data => {
this.infoNotes = data this.infoNotes = data

2
src/views/ysjl/components/original_yb_list.vue

@ -143,7 +143,7 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
this.listQuery.cjState = 'bggl' this.listQuery.cjState = 'jybg'
this.api({ this.api({
url: '/ysjl/getListDoneYsjl', url: '/ysjl/getListDoneYsjl',
method: 'get', method: 'get',

6
src/views/zjd/zjbg_list.vue

@ -95,9 +95,9 @@
<el-table-column align="center" label="制造单位" prop="zhizaodanwei" width="240" /> <el-table-column align="center" label="制造单位" prop="zhizaodanwei" width="240" />
<el-table-column align="center" label="产品编号/出厂编号" prop="chanpinbianhao" width="140" /> <el-table-column align="center" label="产品编号/出厂编号" prop="chanpinbianhao" width="140" />
<el-table-column align="center" label="单位内编号" prop="danweineibubianhao" width="140" sortable="custom" /> <el-table-column align="center" label="单位内编号" prop="danweineibubianhao" width="140" sortable="custom" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" width="120" /> <el-table-column :formatter="formatter.getChineseName" align="center" label="检验人员" prop="jianyanrenyuan" width="120" />
<el-table-column align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" /> <el-table-column align="center" label="检验开始日期" prop="jianyankaishiriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检结束日期" prop="jianyanjieshuriqi" width="130" sortable="custom" /> <el-table-column align="center" label="检结束日期" prop="jianyanjieshuriqi" width="130" sortable="custom" />
<el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" /> <el-table-column align="center" label="下次检验日期" prop="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" /> <el-table-column align="center" label="检验结论" prop="jianyanjielun" width="80" />
<!-- <el-table-column fixed="right" align="center" label="操作" min-width="80"> <!-- <el-table-column fixed="right" align="center" label="操作" min-width="80">

49
src/views/zjd/zjd_list.vue

@ -3,18 +3,18 @@
<div class="filter-container"> <div class="filter-container">
<sticky style="margin-bottom: 10px;"> <sticky style="margin-bottom: 10px;">
<div class="sub-navbar"> <div class="sub-navbar">
<el-button type="primary" icon="el-icon-printer" @click="batchPrintZjd">
打印转交单
</el-button>
<el-button v-show="hasPerm('zjd:QRZJ')" type="warning" icon="el-ok" @click="createZjdShow"> <el-button v-show="hasPerm('zjd:QRZJ')" type="warning" icon="el-ok" @click="createZjdShow">
确认转交单 确认转交单
</el-button> </el-button>
<el-button v-show="hasPerm('zjd:CXZJ')" type="danger" icon="el-cancel" @click="revokeZjd"> <el-button v-show="hasPerm('zjd:CXZJ')" type="danger" icon="el-cancel" @click="revokeZjd">
撤回转交单 撤回转交单
</el-button> </el-button>
<el-button type="success" icon="el-icon-printer" @click="viewPrintZjd"> <!-- <el-button type="success" icon="el-icon-printer" @click="viewPrintZjd">
预览转交单 预览转交单
</el-button> </el-button>
<el-button type="primary" icon="el-icon-printer" @click="batchPrintZjd">
打印转交单
</el-button>-->
</div> </div>
</sticky> </sticky>
<el-form> <el-form>
@ -271,10 +271,6 @@ export default {
}) })
}, },
revokeZjd() { revokeZjd() {
if (this.multipleSelection.length !== 1) {
this.$message({ message: '请选中单条数据进行操作。', type: 'warning' })
return false
}
for (let i = 0; i < this.multipleSelection.length; i++) { for (let i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].state) { if (this.multipleSelection[i].state) {
this.$message({ message: '存在已确认的转交单,请勿重新操作。', type: 'warning' }) this.$message({ message: '存在已确认的转交单,请勿重新操作。', type: 'warning' })
@ -283,17 +279,15 @@ export default {
} }
// //
this.api({ this.api({
url: '/zjd/revokeZjd', url: '/zjd/revoke',
method: 'get', method: 'post',
params: { data: {
zjdId: this.multipleSelection[0].id zjdIds: this.multipleSelection.map(row => row.id)
},
paramsSerializer: function(data) {
return require('qs').stringify(data, { indices: false })
} }
}).then(data => { }).then(data => {
if (data.returnCode === undefined) {
this.$message({ message: data, type: 'success' })
} else {
this.$message({ message: data.returnMsg, type: 'warning' })
}
this.getList() this.getList()
}) })
}, },
@ -343,26 +337,15 @@ export default {
this.$message({ message: '请选择至少一条数据进行打印!', type: 'error' }) this.$message({ message: '请选择至少一条数据进行打印!', type: 'error' })
return false return false
} }
this.api({ this.preview({
url: '/zjd/printZjdBatch', url: '/print/generatePdfZjd',
method: 'get', method: 'get',
params: { params: {
zjdIds: this.$refs.list.selection.map(zjd => { zjdId: this.$refs.list.selection[0].id
return zjd.id
}).join(',')
} }
}).then(data => { }).then(data => {
this.preview({ data = data.replace(/\\/g, '/')
url: '/print/generatePdfView', window.open(data)
method: 'post',
data: {
list: data,
viewType: 'ZJD'
}
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data)
})
}) })
} }
} }

Loading…
Cancel
Save