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
VUE_APP_SERVER_ADDRESS = 'test.sdma.mingansei.com'

3
.env.test

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

1
src/api/common.js

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

2
src/permission.js

@ -3,7 +3,7 @@ import store from './store'
import NProgress from 'nprogress' // Progress 进度条
import 'nprogress/nprogress.css'// Progress 进度条样式
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) => {
NProgress.start()
if (getToken()) {

43
src/router/index.js

@ -31,43 +31,6 @@ export const constantRouterMap = [{
import ('@/views/404'),
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',
component: () =>
@ -80,12 +43,6 @@ export const constantRouterMap = [{
import ('@/views/security/index'),
hidden: true
},
{
path: '/qiye/:qyid',
component: () =>
import ('@/views/task/qiye_list'),
hidden: true
},
{
path: '/flow/detail',
component: () =>

29
src/service/bjdService.js

@ -2,6 +2,9 @@ import XLSX from 'xlsx'
import common from '@/utils/common'
import qs from 'qs'
import preview from '@/utils/preview'
import router from '@/router'
import store from '@/store'
import { Notification } from 'element-ui'
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,
renlingren: this.renlingren,
renwudan: this.renwudan,
bjdIds: this.bjdIds
bjdIds: this.bjdIds,
departmentId: this.departmentId
},
paramsSerializer: function(data) {
return require('qs').stringify(data, { indices: false })

10
src/views/audit/list.vue

@ -64,7 +64,7 @@
<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="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>
</el-table-column>
</el-table>
@ -711,14 +711,14 @@ export default {
},
/**
* 根据报告ID查看驳回原因
* @param ysjlId
* @param renwuId
*/
viewAllRejection(ysjlId) {
viewAllRejection(renwuId) {
this.api({
url: '/taskinfo/viewAllRejection',
url: '/taskinfo/viewRejection',
method: 'get',
params: {
ysjlId: ysjlId
renwuId: renwuId
}
}).then(data => {
this.infoNotes = data

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

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

33
src/views/bggl/banjie_list.vue

@ -1,19 +1,19 @@
<template>
<div class="app-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>
<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>
<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>
<el-button type="warning" icon="el-icon-refresh" @click="generatePdf('JYBG')">
生成报告
</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 type="success" icon="el-icon-refresh" @click="createQrcode">
@ -916,6 +916,31 @@ export default {
}
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() {
let ids = ''
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">
<svg-icon icon-class="send" /> 批量发送
</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" /> 批量驳回
</el-button>
<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-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 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.id)" />
<el-button size="mini" type="info" icon="el-icon-message" title="查看驳回意见" circle @click="viewAllRejection(scope.row.renwuId)" />
<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)">
@ -173,7 +172,7 @@
<span v-text="getIndex(scope.$index)" />
</template>
</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>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">
@ -284,11 +283,11 @@
</el-form-item>
<el-form-item label="驳回环节:" required>
<el-select v-model="bohuiForm.flowstatus" placeholder="请选择">
<el-option v-if="str==2" label="起草环节" value="1" />
<el-option v-if="str==3" label="审核环节" value="1" />
<el-option v-if="flowstatus === 2 || flowstatus === 3" label="起草环节" value="1" />
<el-option v-if="flowstatus === 3" label="审核环节" value="2" />
</el-select>
</el-form-item>
<el-form-item label="上传驳回附件:">
<!-- <el-form-item label="上传驳回附件:">
<span style="color: #dd6161">多张图片可合成一份pdf文件进行上传</span>
<el-upload
action=""
@ -307,7 +306,7 @@
点击上传
</el-button>
</el-upload>
</el-form-item>
</el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogBohuiVisible = false">
@ -321,41 +320,18 @@
<!-- 驳回意见 -->
<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-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="createTime" />
<el-table-column align="center" label="驳回附件" width="120">
<!-- <el-table-column align="center" label="驳回附件" width="120">
<template slot-scope="{row}">
<el-button type="primary" size="small" circle icon="el-icon-view" title="预览" @click="common.viewReject(row.id, row.fileName)" />
</template>
</el-table-column>
</el-table-column>-->
</el-table>
</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-form>
@ -447,7 +423,7 @@ export default {
modelId: '',
currentRenwuId: 0,
jylbList: [],
str: '',
flowstatus: '',
statusList: [
{
value: 1,
@ -469,7 +445,7 @@ export default {
dialogSignVisible: false,
passForm: {
password: '',
signDate: new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate()
signDate: this.formatter.dateFormat('YYYY-MM-dd')
},
isBatchSign: false, //
listCopy: [],
@ -620,13 +596,13 @@ export default {
},
delReport() {
//
this.ysjlId = ''
if (this.multipleSelection.length === 0) {
this.$message('请在列表选择要删除的数据。')
return false
}
let linkname = ''
let revertRenwuByYsjlIds = ''
const ids = []
for (let i = 0; i < this.multipleSelection.length; i++) {
if (i === 0 && this.multipleSelection[i].flowstatus === 1) {
linkname = this.multipleSelection[i].flowstatus
@ -638,10 +614,7 @@ export default {
if (this.multipleSelection[i].shebeileibiedaima === '2100' && this.multipleSelection[i].jianyanleibie === 'DJ') {
revertRenwuByYsjlIds = this.multipleSelection[i].id + ',' + revertRenwuByYsjlIds
}
this.ysjlId = this.multipleSelection[i].id + ',' + this.ysjlId
if (i + 1 === this.multipleSelection.length) {
this.ysjlId = this.ysjlId.substring(0, this.ysjlId.length - 1)
}
ids.push(this.multipleSelection[i].id)
}
this.$confirm('确定删除当前选中报告?', '提示', {
confirmButtonText: '确定',
@ -650,9 +623,12 @@ export default {
}).then(() => {
this.api({
url: '/ysjl/delReport',
method: 'post',
method: 'delete',
params: {
ids: this.ysjlId
ids: ids
},
paramsSerializer: function(params) {
return require('qs').stringify(params, { indices: false })
}
}).then(() => {
this.$message({
@ -660,10 +636,6 @@ export default {
type: 'success',
duration: 1000,
onClose: () => {
// 16
if (revertRenwuByYsjlIds) {
this.common.updRenwuState(revertRenwuByYsjlIds, 0, false)
}
this.getList()
//
Utils.$emit('task-list')
@ -685,23 +657,20 @@ export default {
}
this.ysjlId = []
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) {
arr.push(this.multipleSelection[i].id)
this.str = this.multipleSelection[i].flowstatus
} else {
this.$message('存在未流转报告。')
return false
this.flowstatus = this.multipleSelection[0].flowstatus
if (this.flowstatus === 1) {
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
if (this.ysjlId !== '') {
if (this.ysjlId.length) {
this.dialogBohuiVisible = true
}
},
@ -749,15 +718,15 @@ export default {
const nblb = this.multipleSelection[0].neibuleibie
const sbzldm = this.multipleSelection[0].shebeizhongleidaima
const bglx = this.multipleSelection[0].bglx
this.ysjlId = []
for (let i = 0; i < this.multipleSelection.length; i++) {
this.ysjlId.push(this.multipleSelection[i].id)
if (i === 0) {
linkname = this.multipleSelection[i].flowstatus
this.ysjlId = this.multipleSelection[i].id
if (this.multipleSelection[i].bglx === 1) {
parentIds = this.multipleSelection[i].id
}
} else {
this.ysjlId = this.ysjlId + ',' + this.multipleSelection[i].id
if (this.multipleSelection[i].bglx === 1) {
parentIds = parentIds + ',' + this.multipleSelection[i].id
}
@ -827,12 +796,14 @@ export default {
this.batchSendTo(isQianming, linkname, idStr)
}
},
batchSendTo(isQianming, linkname, idStr) {
batchSendTo(isQianming, flowstatus, idStr) {
if (isQianming) {
this.dialogSignVisible = true
this.flowstatus = linkname
this.flowstatus = flowstatus
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)) {
this.end(this.ysjlId, this.multipleSelection, false) //
@ -842,30 +813,18 @@ export default {
return false
}
this.api({
url: '/flow/getUser',
url: '/flow/getNextLinkUsers',
method: 'get',
params: {
id: idStr,
flowstatus: linkname
bglx: bglx,
flowstatus: flowstatus + 1,
departmentId: departmentId
}
}).then(data => {
this.flowUserList = data
this.dialogFormVisible = true
}).catch(() => {
this.dialogSignVisible = false
this.$confirm('列表可能长时间未刷新,是否刷新列表?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleFilter()
}).catch(() => {
this.dialogSignVisible = false
this.$message({
type: 'info',
message: '已取消刷新'
})
})
})
},
confirmSend() {
@ -873,22 +832,24 @@ export default {
this.$message('只能选择单人处理下一环节。')
return false
}
let linkname = ''
for (let i = 0; i < this.multipleSelectionLink.length; i++) {
if (i === 0) {
linkname = this.multipleSelectionLink[i].flowstatus
}
if (linkname !== this.multipleSelectionLink[i].flowstatus) {
const flowstatus = this.multipleSelection[0].flowstatus
for (let i = 1; i < this.multipleSelection.length; i++) {
if (flowstatus !== this.multipleSelection[i].flowstatus) {
this.$message('请选择同环节进行发送。')
return false
}
}
this.multipleSelectionLink[0].ysjlId = this.ysjlId
const _vue = this
const link = this.multipleSelectionLink[0]
this.api({
url: '/flow/send',
method: 'post',
data: this.multipleSelectionLink[0]
data: {
ysjlIds: this.ysjlId,
userId: link.userId,
currentLink: flowstatus,
nextValue: flowstatus + 1
}
}).then(() => {
this.dialogFormVisible = false
this.$message({
@ -913,6 +874,9 @@ export default {
method: 'post',
params: {
ids: ysjlId
},
paramsSerializer: function(params) {
return qs.stringify(params, { indices: false })
}
}).then(() => {
this.$message({
@ -931,10 +895,21 @@ export default {
data: {
ids: ysjlId,
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() {
//
if (this.$store.getters.departmentId === 74) {
this.sign()
return
}
this.api({
url: '/user/validationPwd',
method: 'post',
@ -1072,6 +995,9 @@ export default {
ids: this.ysjlId,
riqi: this.passForm.signDate,
flowstatus: this.flowstatus
},
paramsSerializer: function(params) {
return require('qs').stringify(params, { indices: false })
}
}).then(() => {
this.$message({
@ -1079,10 +1005,11 @@ export default {
message: '签名成功!'
})
this.isQm = false
if (!this.isBatchSign) {
if (this.isBatchSign) {
this.handleFilter()
} else {
this.batchSend()
}
this.handleFilter()
this.dialogSignVisible = false
this.isBatchSign = false
}).catch(() => {
@ -1193,18 +1120,17 @@ export default {
this.$message('请在列表选择要签名的数据。')
return false
}
let idStr = this.multipleSelection[0].id
const linkname = this.multipleSelection[0].flowstatus
for (let i = 1; i < this.multipleSelection.length; i++) {
idStr = idStr + ',' + this.multipleSelection[i].id
if (linkname !== this.multipleSelection[i].flowstatus) {
this.ysjlId = []
const flowstatus = this.multipleSelection[0].flowstatus
for (let i = 0; i < this.multipleSelection.length; i++) {
this.ysjlId.push(this.multipleSelection[i].id)
if (flowstatus !== this.multipleSelection[i].flowstatus) {
this.$message('请选择同环节签名!')
return false
}
}
this.ysjlId = idStr
this.isBatchSign = true
this.flowstatus = linkname
this.flowstatus = flowstatus
this.dialogSignVisible = true
},
clearSignName() {
@ -1328,18 +1254,17 @@ export default {
},
/**
* 根据报告ID查看驳回原因
* @param ysjlId
* @param renwuId
*/
viewAllRejection(ysjlId) {
viewAllRejection(renwuId) {
this.api({
url: '/taskinfo/viewAllRejection',
url: '/taskinfo/viewRejection',
method: 'get',
params: {
ysjlId: ysjlId
renwuId: renwuId
}
}).then(data => {
this.infoNotes = data
this.ysjlId = ysjlId
if (!this.infoNotes.length) {
this.$alert('暂无驳回意见!', '驳回意见', {
confirmButtonText: '关闭'

10
src/views/bggl/daishen_list.vue

@ -72,7 +72,7 @@
<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="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)" />
</template>
</el-table-column>
@ -740,14 +740,14 @@ export default {
},
/**
* 根据报告ID查看驳回原因
* @param ysjlId
* @param renwuId
*/
viewAllRejection(ysjlId) {
viewAllRejection(renwuId) {
this.api({
url: '/taskinfo/viewAllRejection',
url: '/taskinfo/viewRejection',
method: 'get',
params: {
ysjlId: ysjlId
renwuId: renwuId
}
}).then(data => {
this.infoNotes = data

4
src/views/bggl/eliminatingred_list.vue

@ -1,9 +1,9 @@
<template>
<div class="app-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>
<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" /> 消红
</el-button>
</sticky>

2
src/views/bggl/yiban_list.vue

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

53
src/views/bjd/dj_input.vue

@ -30,7 +30,7 @@
审核通过
</el-button>
</template>
<template v-if="bjd.shebeizhongleidaima === 'F000'">
<!-- <template v-if="bjd.shebeizhongleidaima === 'F000'">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
@ -41,19 +41,19 @@
导入数据
</el-button>
</el-upload>
</template>
</template>-->
</template>
<template v-else>
<el-button
type="success"
icon="el-icon-printer"
icon="el-icon-view"
size="medium"
@click="viewHzd"
@click="bjdService.viewHzd(bjd.id)"
>
打印回执单
预览回执单
</el-button>
<el-button
v-if="form==1"
v-if="form === 1"
type="success"
icon="el-icon-printer"
size="medium"
@ -63,7 +63,7 @@
</el-button>
</template>
<el-button
<!-- <el-button
type="success"
icon="el-icon-download"
size="medium"
@ -71,7 +71,7 @@
@click="common.downloadTemplate(templateName)"
>
下载导入模板
</el-button>
</el-button>-->
</div>
</sticky>
<el-tabs v-model="checkedTab" type="border-card">
@ -333,12 +333,12 @@
<el-row :gutter="20">
<el-col :span="9">
<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-col>
<el-col :span="9">
<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-col>
</el-row>
@ -1512,7 +1512,6 @@ import Sticky from '@/components/Sticky'
import Utils from '../../utils/contact.js'
import Pagination from '@/components/Pagination'
import { deleteRenwuFn } from '@/api/common'
import qs from 'qs'
// import XLSX from 'xlsx'
export default {
@ -1688,6 +1687,10 @@ export default {
this.bjd.baojiandianhua = this.bjd.weibaodanweiDianhua
}
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() {
@ -2531,34 +2534,6 @@ export default {
$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() {
const els = document.getElementsByClassName('el-table__fixed-right')
if (els.length > 0) {

28
src/views/bjd/dj_list.vue

@ -279,7 +279,7 @@
circle
icon="el-icon-view"
title="预览回执单"
@click="viewHzd(scope.row.id)"
@click="bjdService.viewHzd(scope.row.id)"
/>
</template>
</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() {
//
this.$confirm('报检项目将进行异常收回,是否继续?', '提示', {

16
src/views/bjd/jj_input.vue

@ -14,7 +14,7 @@
审核通过
</el-button>
</template>
<template v-if="bjd.bjType === 'cyqp'">
<!-- <template v-if="bjd.bjType === 'cyqp'">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
@ -25,16 +25,16 @@
导入数据
</el-button>
</el-upload>
</template>
</template>-->
</template>
<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>
</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>
</sticky>
<el-tabs v-model="checkedTab" type="border-card">
@ -841,6 +841,10 @@ export default {
this.getSblb()
//
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() {

25
src/views/bjd/jj_list.vue

@ -166,7 +166,7 @@
<template slot-scope="scope">
<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 === 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>
</el-table-column>
</el-table>
@ -438,29 +438,6 @@ export default {
viewInfo(reason) {
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() {
//
this.$confirm('报检项目将进行异常收回,是否继续?', '提示', {

25
src/views/bjd/qy_list.vue

@ -119,7 +119,7 @@
<template slot-scope="scope">
<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 === 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>
</el-table-column>
</el-table>
@ -342,29 +342,6 @@ export default {
viewInfo(reason) {
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() {
//
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>
<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>
@ -100,7 +100,7 @@
导入数据
</el-button>
</el-upload>
</template>
</template>-->
<span style="margin-left: 20px;color: red;font-size: 13px;">如若设备类别相同只编辑填写第一条即可</span>
</template>
<el-switch v-model="fixedFlag" active-color="#13ce66" inactive-color="#ff4949" @change="editFixedHidden()" />
@ -213,20 +213,6 @@
</el-select>
</template>
</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 v-else-if="sbzldm === '7000'">
<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"
type="date"
placeholder="选择借阅日期"
value-format="yyyy-MM-dd"
@change="crud.toQuery"
/>
<el-select
@ -62,7 +63,7 @@ const defaultCrud = presenter(
url: '/borrowing/list',
orderBy: ['id asc'],
query: {
state: false
state: true
}
})
)
@ -114,19 +115,13 @@ export default {
return {
colConfigs: [
{ 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: 'createTime', label: '创建时间', align: 'center' },
{ prop: 'guihuanTime', label: '归还时间', align: 'center' },
{ prop: 'jieyueTime', 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
}
{ prop: 'updateBy', label: '更新人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'updateTime', label: '更新时间', align: 'center' }
],
permission: {
add: ['instrument:add'],

6
src/views/borrow/borrow.vue

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

26
src/views/borrow/returned.vue

@ -43,22 +43,13 @@ const defaultCrud = presenter(CRUD({
url: '/borrowing/list',
orderBy: ['id asc'],
query: {
state: true
state: false
}
}))
// 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 {
name: 'InstrumentList',
components: { Pagination, CustomTable },
@ -67,19 +58,12 @@ export default {
return {
colConfigs: [
{ 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: 'createTime', label: '创建时间', align: 'center' },
{ prop: 'guihuanTime', label: '归还时间', align: 'center' },
{ prop: 'jieyueTime', 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
},
{ prop: 'updateBy', label: '更新人', align: 'center', formatter: this.formatter.getChineseName },
{ prop: 'updateTime', label: '更新时间', align: 'center' },
{ slot: 'operation' }
],
permission: {

6
src/views/certificate/index.vue

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

196
src/views/flow/definition.vue

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

13
src/views/flow/template.vue

@ -290,15 +290,15 @@ export default {
}, {
value: 'JYBG',
label: '检验报告'
}, {
value: 'OTHER',
label: '其他'
}, {
value: 'HZD',
label: '回执单'
}, {
value: 'RWD',
label: '任务单'
}, {
value: 'HGZ',
label: '合格证'
}
],
formTemplate: {},
@ -407,11 +407,8 @@ export default {
},
getParentList() {
this.api({
url: '/template/getTemplateListByBglx',
method: 'get',
params: {
bglx: 1
}
url: '/template/all',
method: 'get'
}).then((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="xiacijianyanriqi" width="130" sortable="custom" />
<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">
<template slot-scope="scope">
<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">
<sticky style="margin-bottom: 10px;">
<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>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证
</el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<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-select>
<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>
</div>
@ -120,16 +104,6 @@
</el-tag>
</template>
</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">
<template slot-scope="scope">
<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">
<sticky style="margin-bottom: 10px;">
<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>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证
</el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<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.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" />
<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>
</div>
@ -117,16 +101,6 @@
</el-tag>
</template>
</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">
<template slot-scope="scope">
<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">
<sticky style="margin-bottom: 10px;">
<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>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证
</el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -35,12 +28,6 @@
</el-dropdown-item>
</el-dropdown-menu>
</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>
</sticky>
<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-select>
<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>
</div>
@ -108,16 +86,6 @@
<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="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">
<template slot-scope="scope">
<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('请选择单条进行打印。')
return false
}
// if (!this.multipleSelection.jfState) {
// this.$message.error('')
// return false
// }
if (type === 'HGZ') {
this.generatePdfHgz()
return
}
const id = this.multipleSelection[0].id
const version = this.multipleSelection[0].reportVersion
if (version === '16') {
const data = `${process.env.VUE_APP_OLD_API}` + 'report/docKuroPreView/' + id + '/' + type + ''.replace(/\\/g, '/')
this.preview({
url: '/print/generatePdf',
method: 'post',
data: {
ysjlId: id,
viewType: type,
generateType: false
}
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data)
} else {
this.preview({
url: '/print/generatePdf',
method: 'post',
data: {
ysjlId: id,
viewType: type,
generateType: false
this.api({ //
url: '/ysjl/batchRecordPrintState',
method: 'get',
params: {
id: id,
type: type
}
}).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) {
if (this.multipleSelection.length === 0) {

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

@ -3,28 +3,15 @@
<div class="filter-container">
<sticky style="margin-bottom: 10px;">
<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>
<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>
<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>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<i class="el-icon-arrow-down el-icon--right" />
@ -33,26 +20,14 @@
<el-dropdown-item command="YSJL">
原始记录
</el-dropdown-item>
<el-dropdown-item command="XMB">
项目表
</el-dropdown-item>
<el-dropdown-item command="JYBG">
检验报告
</el-dropdown-item>
<el-dropdown-item command="QZJZS">
监检证书
</el-dropdown-item>
<el-dropdown-item command="HGZ">
合格证
</el-dropdown-item>
</el-dropdown-menu>
</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>-->
@ -123,16 +98,6 @@
<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="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">
<template slot-scope="scope">
<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">
<sticky style="margin-bottom: 10px;">
<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>
@ -15,10 +12,6 @@
<el-button type="primary" icon="el-icon-printer" @click="batchToPrint('HGZ')">
合格证
</el-button>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<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="xiacijianyanriqi" width="130" sortable="custom" />
<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">
<template slot-scope="scope">
<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>
<el-button type="primary" @click="openGrant()">
<svg-icon icon-class="form" />
报告发放
</el-button>
<el-dropdown @command="printOnline">
<el-button type="success" icon="el-icon-view">
预览打印<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-select>
<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>
</div>
@ -111,16 +98,6 @@
</el-tag>
</template>
</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">
<template slot-scope="scope">
<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="createTime" />
<el-table-column align="center" label="台数" prop="taishu" />
<el-table-column align="center" label="交费金额(元)" prop="hejijine" />
</el-table>
<pagination v-show="total > 0" :total="total" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" />
</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>
<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-form ref="tempDepartment" :model="tempDepartment" class="small-space" label-width="80px">
<el-form-item label="部门名称" required>
<el-input v-model="tempDepartment.name" type="text" size="small" style="width:200px" />
</el-form-item>
<el-form-item label="负责人" size="small" required>
<el-select v-model="tempDepartment.leader" filterable placeholder="请选择" clearable>
<el-option v-for="item in leaders" :key="item.id" :label="item.nickname" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="检验类别" prop="jianyanleibie">
<el-select v-model="tempDepartment.jianyanleibie" multiple placeholder="请选择检验类别">
<el-option value="DJ" label="定期检验" />
<el-option value="JJ" label="监督检验" />
<el-option value="ZZ" label="制造监检" />
</el-select>
</el-form-item>
<el-form-item label="设备种类" prop="shebeizhongleidaima">
<el-select v-model="tempDepartment.shebeizhongleidaima" multiple placeholder="请选择设备种类">
<el-option
v-for="item in sbzlList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="所属区划" prop="quhuadaima">
<el-select v-model="tempDepartment.quhuadaima" multiple placeholder="请选择所属区划">
<el-option
v-for="item in areas"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="部门代码(选填)">
<el-input v-model="tempDepartment.code" type="text" size="small" style="width: 200px" />
</el-form-item>
<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-form ref="tempDepartment" :model="tempDepartment" label-width="130px">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="部门名称" required>
<el-input v-model="tempDepartment.name" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="负责人" size="small" required>
<el-select v-model="tempDepartment.leader" filterable placeholder="请选择" clearable>
<el-option v-for="item in leaders" :key="item.id" :label="item.nickname" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检验类别" prop="jianyanleibie">
<el-select v-model="tempDepartment.jianyanleibie" multiple collapse-tags placeholder="请选择检验类别">
<el-option value="DJ" label="定期检验" />
<el-option value="JJ" label="监督检验" />
<el-option value="ZZ" label="制造监检" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设备种类" prop="shebeizhongleidaima">
<el-select v-model="tempDepartment.shebeizhongleidaima" multiple collapse-tags placeholder="请选择设备种类">
<el-option
v-for="item in sbzlList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="所属区划" prop="quhuadaima">
<el-select v-model="tempDepartment.quhuadaima" multiple collapse-tags placeholder="请选择所属区划">
<el-option
v-for="item in areas"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</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="成员">
<template>
<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>
</el-table-column>
<el-table-column label="功能选项">
<template v-if="scope.row.children.length === 0" slot-scope="scope">
<template slot-scope="scope">
<el-checkbox
v-for="options in scope.row.resourcePermissions"
:key="options.id"

74
src/views/user/user.vue

@ -34,12 +34,20 @@
添加
</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"
type="primary"
@click="handleDownload"
>
导出Excel
</el-button>
</el-button>-->
</el-form-item>
</el-form>
</div>
@ -62,7 +70,6 @@
<el-table-column slot="operation" align="center" width="100" label="操作">
<template slot-scope="scope">
<Edit :permission="permission" :data="scope.row" :disabled-edit="false" />
<Delete :permission="permission" :data="scope.row" style="margin-left: 5px" />
</template>
</el-table-column>
</CustomTable>
@ -151,7 +158,7 @@
:on-remove="handleRemove"
:file-list="fileList"
:limit="1"
action="123"
action=""
list-type="picture"
>
<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 Query from '@/components/Crud/Query'
import Edit from '@/components/Crud/Edit'
import Delete from '@/components/Crud/Delete'
import CustomTable from '@/components/Crud/Table'
import Pagination from '@/components/Crud/Pagination'
import CrudRole from '@/api/role'
import CrudUser from '@/api/user'
import { mapGetters } from 'vuex'
import { parseTime } from '../../utils'
// import Pagination from '@/components/Pagination'
@ -198,7 +204,7 @@ const defaultCrud = presenter(CRUD({
url: '/user/list',
orderBy: ['id asc'],
param: {},
crudMethod: { ...CrudRole }
crudMethod: { ...CrudUser }
}))
// form
@ -210,49 +216,9 @@ const defaultForm = form({
})
export default {
name: 'UserList',
components: { Pagination, CustomTable, Edit, Delete },
components: { Pagination, CustomTable, Edit },
mixins: [defaultCrud, defaultForm, header()],
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 {
defaultProps: {
children: 'children',
@ -289,9 +255,7 @@ export default {
{ required: true, message: '请填写用户名', trigger: 'blur' }
],
password: [{ required: true, message: '请填写密码', trigger: 'blur' }],
nickname: [{ required: true, message: '请填写昵称', trigger: 'blur' }],
identificationNum: [{ required: true, message: '请填写身份证号码', trigger: 'blur' },
{ validator: idCardValidity, trigger: 'blur' }]
nickname: [{ required: true, message: '请填写昵称', trigger: 'blur' }]
},
fileList: [],
depts: [],
@ -405,8 +369,7 @@ export default {
}).then((data) => {
this.tempUser.signImg = data
this.fileList = JSON.parse(data)
this.fileList[0].url =
process.env.VUE_APP_IMG_URL + 'signImage/' + this.fileList[0].name
this.fileList[0].url = process.env.VUE_APP_IMG_URL + 'signImage/' + this.fileList[0].name
})
return true
},
@ -594,6 +557,13 @@ export default {
} else {
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 :gutter="20">
<el-col :span="9">
<el-form-item label="设备类别" prop="shebeileibie">
<el-form-item label="设备类别" prop="shebeileibiedaima">
<el-select
v-model="ysjl.shebeileibie"
v-model="ysjl.shebeileibiedaima"
filterable
allow-create
default-first-option
style="width: 100%"
@change="changXh"
@change="changeSblb"
>
<el-option
v-for="item in xinghaoList"
:key="item.id"
:label="item.xinghao"
:value="item.xinghao"
v-for="(item, index) in sblbList"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设备品种" prop="shebeipinzhong">
<el-input
v-model="ysjl.shebeipinzhong"
type="text"
:disabled="edit"
/>
<el-form-item label="设备品种" prop="shebeipinzhongdaima">
<el-select
v-model="ysjl.shebeipinzhongdaima"
filterable
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-col>
</el-row>
@ -119,12 +127,7 @@
</el-col>
<el-col :span="9">
<el-form-item label="制造日期" prop="zhizaoriqi">
<el-date-picker
v-model="ysjl.zhizaoriqi"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
/>
<el-input v-model="ysjl.zhizaoriqi" type="text" />
</el-form-item>
</el-col>
</el-row>
@ -174,10 +177,10 @@
<el-col :span="18">
<el-form-item
label="施工单位名称"
prop="shigongdanweimingcheng"
prop="shigongdanwei"
>
<el-input
v-model="ysjl.shigongdanweimingcheng"
v-model="ysjl.shigongdanwei"
type="text"
:disabled="edit"
/>
@ -198,10 +201,10 @@
<el-col :span="9">
<el-form-item
label="施工单位许可证编号"
prop="shigongdanweixukezhengbianhao"
prop="shigongxukezheng"
>
<el-input
v-model="ysjl.shigongdanweixukezhengbianhao"
v-model="ysjl.shigongxukezheng"
type="text"
:disabled="edit"
/>
@ -255,9 +258,9 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="联系电话" prop="shiyongdanweiDianhua">
<el-form-item label="联系电话" prop="anquanguanlidianhua">
<el-input
v-model="ysjl.shiyongdanweiDianhua"
v-model="ysjl.anquanguanlidianhua"
type="text"
:disabled="edit"
/>
@ -379,25 +382,25 @@
v-if="
fromType === 2 ||
fromType === 6 ||
fromType == 10 ||
fromType == 12
fromType === 10 ||
fromType === 12
"
:gutter="20"
>
<el-col :span="9">
<el-form-item label="联系人" prop="lianxiren">
<el-form-item label="联系人" prop="shiyongdanweiLianxiren">
<el-input
v-model="param.lianxiren"
v-model="ysjl.shiyongdanweiLianxiren"
type="text"
:disabled="edit"
/>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="联系电话" prop="dianhua">
<el-form-item label="联系电话" prop="shiyongdanweiDianhua">
<el-input
v-model="param.dianhua"
type="number"
v-model="ysjl.shiyongdanweiDianhua"
type="text"
:disabled="edit"
/>
</el-form-item>
@ -686,8 +689,13 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-input v-model="ysjl.jianyanjieshuriqi" />
<el-form-item label="检验日期" prop="jianyankaishiriqi">
<el-date-picker
v-model="ysjl.jianyankaishiriqi"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="9">
@ -847,7 +855,8 @@ export default {
ysjlId: this.$route.query.id,
checkedTab: 'first',
userList: [],
xinghaoList: [],
sblbList: [],
sbpzList: [],
jybgData: [],
cols: [
{
@ -890,6 +899,22 @@ export default {
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() {
if (this.state === 'create') {
this.initYsjl()
@ -952,21 +977,29 @@ export default {
this.jlbh2 = '(C)'
}
this.getJyxm(1)
this.getSbList()
this.getSbList(undefined, 2)
this.getSbList(this.ysjl.shebeileibiedaima, 3)
this.getMaxBh()
})
},
getSbList() {
this.api({
url: '/sedirectory/getList',
method: 'get',
params: {
sbzl: this.$route.query.sbzldm,
sblb: this.$route.query.sblbdm,
level: 2
}
getSbList(sblb, level) {
return this.sedirectoryService.getList({
sbzl: '3000',
sblb: sblb,
level: level
}).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() {
@ -1008,6 +1041,8 @@ export default {
this.isRepeat = data
})
this.getJyxm(1)
this.getSbList(undefined, 2)
this.getSbList(this.ysjl.shebeileibiedaima, 3)
})
},
getParam() {
@ -1151,12 +1186,14 @@ export default {
const subArr = this.sortClass(this.bgfyData)
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 = '不合格'
} 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 = '合格'
} else if (item.every((k) => k.jianyanjieguo.indexOf('/') === 0)) {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = '无此项'
} else {
this.jybgData[item[0].jybgJyjlIndex - 1].jianyanjielun = ''
}
})
const tableData = []
@ -1296,8 +1333,18 @@ export default {
}
})
},
changXh: function(val) {
// TODO
changeSblb(val) {
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) {
this.pic = data

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

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

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

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

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

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

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

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

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

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

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

@ -7,7 +7,7 @@
import baseInfo from '@/views/ysjl/3000/common/index'
export default {
name: 'ElevatorYeyin',
name: 'ElevatorZaWu',
components: { baseInfo },
data() {
return {
@ -17,11 +17,12 @@ export default {
header: [
{
label: '层站',
prop: 'D7',
prop: 'D2',
type: 1
},
{
label: '6.8门的闭合',
prop: 'D1',
type: 1
}
],
@ -58,37 +59,7 @@ export default {
data: []
}
],
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
}
],
tableHeader2: [],
list: [],
list1: []
}

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

@ -78,7 +78,7 @@
<template slot-scope="scope">
<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="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>
</el-table-column>
</el-table>
@ -369,14 +369,14 @@ export default {
},
/**
* 根据报告ID查看驳回原因
* @param ysjlId
* @param renwuId
*/
viewAllRejection(ysjlId) {
viewAllRejection(renwuId) {
this.api({
url: '/taskinfo/viewAllRejection',
url: '/taskinfo/viewRejection',
method: 'get',
params: {
ysjlId: ysjlId
renwuId: renwuId
}
}).then(data => {
this.infoNotes = data

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

@ -143,7 +143,7 @@ export default {
},
methods: {
getList() {
this.listQuery.cjState = 'bggl'
this.listQuery.cjState = 'jybg'
this.api({
url: '/ysjl/getListDoneYsjl',
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="chanpinbianhao" width="140" />
<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 align="center" label="检验日期" prop="jianyankaishiriqi" width="110" sortable="custom" />
<el-table-column align="center" label="检结束日期" prop="jianyanjieshuriqi" width="130" sortable="custom" />
<el-table-column :formatter="formatter.getChineseName" align="center" label="检验人员" prop="jianyanrenyuan" width="120" />
<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="xiacijianyanriqi" width="130" sortable="custom" />
<el-table-column align="center" label="检验结论" prop="jianyanjielun" 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">
<sticky style="margin-bottom: 10px;">
<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>
<el-button v-show="hasPerm('zjd:CXZJ')" type="danger" icon="el-cancel" @click="revokeZjd">
撤回转交单
</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 type="primary" icon="el-icon-printer" @click="batchPrintZjd">
打印转交单
</el-button>-->
</div>
</sticky>
<el-form>
@ -271,10 +271,6 @@ export default {
})
},
revokeZjd() {
if (this.multipleSelection.length !== 1) {
this.$message({ message: '请选中单条数据进行操作。', type: 'warning' })
return false
}
for (let i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].state) {
this.$message({ message: '存在已确认的转交单,请勿重新操作。', type: 'warning' })
@ -283,17 +279,15 @@ export default {
}
//
this.api({
url: '/zjd/revokeZjd',
method: 'get',
params: {
zjdId: this.multipleSelection[0].id
url: '/zjd/revoke',
method: 'post',
data: {
zjdIds: this.multipleSelection.map(row => row.id)
},
paramsSerializer: function(data) {
return require('qs').stringify(data, { indices: false })
}
}).then(data => {
if (data.returnCode === undefined) {
this.$message({ message: data, type: 'success' })
} else {
this.$message({ message: data.returnMsg, type: 'warning' })
}
this.getList()
})
},
@ -343,26 +337,15 @@ export default {
this.$message({ message: '请选择至少一条数据进行打印!', type: 'error' })
return false
}
this.api({
url: '/zjd/printZjdBatch',
this.preview({
url: '/print/generatePdfZjd',
method: 'get',
params: {
zjdIds: this.$refs.list.selection.map(zjd => {
return zjd.id
}).join(',')
zjdId: this.$refs.list.selection[0].id
}
}).then(data => {
this.preview({
url: '/print/generatePdfView',
method: 'post',
data: {
list: data,
viewType: 'ZJD'
}
}).then(data => {
data = data.replace(/\\/g, '/')
window.open(data)
})
data = data.replace(/\\/g, '/')
window.open(data)
})
}
}

Loading…
Cancel
Save