luojie 2 months ago
parent
commit
c2e40e960c
22 changed files with 116 additions and 38 deletions
  1. +4
    -4
      src/layout/components/Sidebar/Logo.vue
  2. +3
    -1
      src/store/getters.js
  3. +8
    -2
      src/store/modules/user.js
  4. +5
    -0
      src/views/business/comps/template/mixins/templateMixin.js
  5. +9
    -6
      src/views/business/form/nonTrial/comp/syff/Xq.vue
  6. +15
    -0
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  7. +10
    -0
      src/views/business/resource/gsp/comps/rkjl/Xz.vue
  8. +1
    -0
      src/views/business/resource/gyzj/comps/ffjl/Xq.vue
  9. +1
    -0
      src/views/business/resource/gyzj/comps/ffjlList.vue
  10. +1
    -0
      src/views/business/resource/gyzj/comps/gyzj/Xq.vue
  11. +1
    -0
      src/views/business/resource/gyzj/comps/gyzjList.vue
  12. +1
    -0
      src/views/business/resource/gyzj/index.vue
  13. +3
    -0
      src/views/business/resource/mjy/comps/ffjl/Xq.vue
  14. +1
    -0
      src/views/business/resource/mjy/comps/ffjlList.vue
  15. +2
    -1
      src/views/business/resource/mjy/comps/mjy/Xq.vue
  16. +1
    -0
      src/views/business/resource/mjy/comps/mjyList.vue
  17. +1
    -0
      src/views/business/resource/mjy/index.vue
  18. +41
    -19
      src/views/business/study/comp/syff/Xq.vue
  19. +4
    -1
      src/views/business/study/comp/tbbd/Bj.vue
  20. +1
    -1
      src/views/business/study/comp/wzlb/gyzjList.vue
  21. +1
    -1
      src/views/business/study/comp/wzlb/mjyList.vue
  22. +2
    -2
      src/views/login.vue

+ 4
- 4
src/layout/components/Sidebar/Logo.vue View File

@ -2,16 +2,16 @@
<div class="sidebar-logo-container" :class="{ 'collapse': collapse }"
:style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
<transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<a v-if="collapse" key="collapse" class="sidebar-logo-link">
<img v-if="logo2" :src="logo2" class="sidebar-logo" />
<h1 v-else class="sidebar-title"
:style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{
$t('system.title') }} </h1>
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
</a>
<a v-else key="expand" class="sidebar-logo-link">
<img v-if="logo" :src="logo" class="sidebar-expand-logo" />
<!-- <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ $t('system.title') }} </h1> -->
</router-link>
</a>
</transition>
</div>
</template>

+ 3
- 1
src/store/getters.js View File

@ -17,6 +17,8 @@ const getters = {
topbarRouters: (state) => state.permission.topbarRouters,
defaultRoutes: (state) => state.permission.defaultRoutes,
sidebarRouters: (state) => state.permission.sidebarRouters,
language: (state) => state.app.language
language: (state) => state.app.language,
defaultUrl: (state) => state.user.defaultUrl
}
export default getters

+ 8
- 2
src/store/modules/user.js View File

@ -13,7 +13,9 @@ const user = {
nickName: '',
avatar: '',
roles: [],
permissions: []
permissions: [],
defaultUrl: '/user/work'
},
mutations: {
@ -40,6 +42,9 @@ const user = {
},
SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions
},
SET_DEFAULTURL: (state, defaultUrl) => {
state.defaultUrl = defaultUrl
}
},
@ -59,7 +64,8 @@ const user = {
commit('SET_TOKEN', data.access_token)
setExpiresIn(data.expires_in)
commit('SET_EXPIRES_IN', data.expires_in)
resolve()
commit('SET_DEFAULTURL', data.defaultUrl)
resolve(data.defaultUrl)
})
.catch((error) => {
reject(error)

+ 5
- 0
src/views/business/comps/template/mixins/templateMixin.js View File

@ -129,9 +129,11 @@ export default {
resource: [], //试验试剂信息
resourceWz: [], //物资信息
yqResource: [], //仪器信息
jcbList: [], //检测板信息
resourceTmp:[],//试验试剂信息提交用
yqResourceTmp: [], //仪器信息提交用
jcbListTmp: [], //检测板信息提交用
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//名称
{ label: 'template.common.reagentCode', prop: "bh" },//编号
@ -235,6 +237,9 @@ export default {
getYqResource() {
return this.yqResourceTmp
},
getJcbList() {
return this.jcbListTmp
},
//根据ref数组获取直接formData
getFilledFormDataByRefs(refArr = []) {
let result = {}

+ 9
- 6
src/views/business/form/nonTrial/comp/syff/Xq.vue View File

@ -54,8 +54,6 @@
<script>
import { studyMethod_readList, studyMethod_export } from '@/api/business/study/studyMethod'
import html2canvas from 'html2canvas';
import { PDFDocument } from 'pdf-lib'
import { mapGetters } from 'vuex'
import pdf from 'vue-pdf'
import Yd from './Yd.vue'
@ -115,18 +113,23 @@ export default {
// PDF
getPageNum() {
let loadingTask = pdf.createLoadingTask(this.pdfSrc);
const loadingTask = pdf.createLoadingTask({
url: this.pdfSrc,
cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.8.69/cmaps/',
cMapPacked: true,
})
let that = this
//let loadingTask = pdf.createLoadingTask(this.pdfSrc);
loadingTask.promise
.then((pdf) => {
this.totalPages = pdf.numPages;
this.loadPdfFromUrl()
//this.loadPdfFromUrl()
// this.$nextTick(() => {
// this.setWatermarkContent();
// });
})
.catch((err) => {
this.$message.msgError("pdf加载失败");
that.$message.msgError("pdf加载失败");
});
},

+ 15
- 0
src/views/business/resource/gsp/comps/rkjl/Bj.vue View File

@ -51,6 +51,16 @@
<BusinessSelect v-model="form.rkdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 有效期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="yxq">
<el-date-picker v-model="form.yxq" type="date" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">
@ -151,6 +161,11 @@ export default {
message: ' ',
trigger: 'blur'
}],
yxq: [{
required: true,
message: ' ',
trigger: 'blur'
}],
cctj: [{
required: true,
message: ' ',

+ 10
- 0
src/views/business/resource/gsp/comps/rkjl/Xz.vue View File

@ -51,6 +51,16 @@
<BusinessSelect v-model="form.rkdw"
dictType="business_nddw,business_zldw,business_tjdw"></BusinessSelect>
</el-col>
<!-- 有效期 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.yxq')" prop="yxq">
<el-date-picker v-model="form.yxq" type="date" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 存储条件 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.cctj')" prop="cctj">

+ 1
- 0
src/views/business/resource/gyzj/comps/ffjl/Xq.vue View File

@ -221,6 +221,7 @@ export default {
this.form = response.data
this.open = true
this.getJjcgjList()
this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'给药制剂发放回收详情',jcmcEn:'Formulation In-and-Out Record Detail'})
}).finally(() => {
this.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/gyzj/comps/ffjlList.vue View File

@ -397,6 +397,7 @@ export default {
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
that.saveSimpleLog({name:'',nameEn:'',jcmc:'给药制剂发放回收导出',jcmcEn:'Formulation In-and-Out Record Export'})
}).finally(() => {
that.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/gyzj/comps/gyzj/Xq.vue View File

@ -226,6 +226,7 @@ export default {
this.form = response.data
this.open = true
this.getTzList()
this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'给药制剂详情',jcmcEn:'Formulation Detail'})
}).finally(() => {
this.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/gyzj/comps/gyzjList.vue View File

@ -414,6 +414,7 @@ export default {
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
that.saveSimpleLog({name:'',nameEn:'',jcmc:'给药制剂导出',jcmcEn:'Formulation Export'})
}).finally(() => {
that.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/gyzj/index.vue View File

@ -43,6 +43,7 @@ export default {
changeTab(item) {
if (this.active !== item.key) {
this.active = item.key
this.saveSimpleLog({name:this.$t(item.name,'zh_CN'),nameEn:this.$t(item.name,'en_US'),jcmc:this.$t('system.enterPage','zh_CN'),jcmcEn:this.$t('system.enterPage','en_US')})
}
},
showDetailCallback(val) {

+ 3
- 0
src/views/business/resource/mjy/comps/ffjl/Xq.vue View File

@ -222,6 +222,9 @@ export default {
this.form = response.data
this.open = true
this.getJjcgjList()
this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'麻精药发放回收详情',jcmcEn:'Controlled Drug In-and-Out Record Detail'})
}).finally(() => {
this.$modal.closeLoading()
})
}
}

+ 1
- 0
src/views/business/resource/mjy/comps/ffjlList.vue View File

@ -397,6 +397,7 @@ export default {
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
that.saveSimpleLog({name:'',nameEn:'',jcmc:'麻精药发放回收导出',jcmcEn:'Controlled Drug In-and-Out Record Export'})
}).finally(() => {
that.$modal.closeLoading()
})

+ 2
- 1
src/views/business/resource/mjy/comps/mjy/Xq.vue View File

@ -221,8 +221,9 @@ export default {
this.$modal.loading()
info({ id: row.id }).then(response => {
this.form = response.data
this.getTzList()
this.open = true
this.getTzList()
this.saveSimpleLog({name:row.bh,nameEn:row.bh,jcmc:'麻精药详情',jcmcEn:'Controlled Drug Detail'})
}).finally(() => {
this.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/mjy/comps/mjyList.vue View File

@ -413,6 +413,7 @@ export default {
a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate)))
a.click()
that.$modal.closeLoading()
that.saveSimpleLog({name:'',nameEn:'',jcmc:'麻精药导出',jcmcEn:'Controlled Drug Export'})
}).finally(() => {
that.$modal.closeLoading()
})

+ 1
- 0
src/views/business/resource/mjy/index.vue View File

@ -43,6 +43,7 @@ export default {
changeTab(item) {
if (this.active !== item.key) {
this.active = item.key
this.saveSimpleLog({name:this.$t(item.name,'zh_CN'),nameEn:this.$t(item.name,'en_US'),jcmc:this.$t('system.enterPage','zh_CN'),jcmcEn:this.$t('system.enterPage','en_US')})
}
},
showDetailCallback(val) {

+ 41
- 19
src/views/business/study/comp/syff/Xq.vue View File

@ -19,7 +19,7 @@
<div class="edit-content ">
<div class="pdf-layout">
<div class="pdf-content">
<pdf id="pdfBox" :page="pageNum" :src="pdfSrc" @progress="loadedRatio = $event"
<pdf id="pdfBox" :page="pageNum" :src="pdfUrl" @progress="loadedRatio = $event"
@num-pages="totalPages = $event"></pdf>
</div>
<div class="btn-layout" v-if="totalPages">
@ -31,7 +31,7 @@
class="el-icon-arrow-right el-icon--right"></i></el-button>
</el-button-group>
</div>
<div ref="contentToPdf" v-show="showExportBtn" style="width: 100%; margin-top: 30px;">
<div ref="contentToPdf" v-show="showExportBtn" style="width: 100%; margin-top: 30px;">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.study.studyMethod.qmhz') }}</div>
@ -54,11 +54,11 @@
<script>
import { studyMethod_readList, studyMethod_export } from '@/api/business/study/studyMethod'
import html2canvas from 'html2canvas';
import { PDFDocument } from 'pdf-lib'
import { mapGetters } from 'vuex'
import pdf from 'vue-pdf'
import Yd from './Yd.vue'
export default {
name: "Xq",
components: { pdf, Yd },
@ -66,6 +66,7 @@ export default {
return {
showExportBtn: false,
pdfSrc: '',
pdfUrl: '',
open: false,
pageNum: 1,
loadedRatio: 0, // 0-1 1
@ -77,7 +78,7 @@ export default {
},
computed: {
...mapGetters([
'nickName','name'
'nickName', 'name'
]),
},
created() {
@ -115,20 +116,40 @@ export default {
// PDF
getPageNum() {
let loadingTask = pdf.createLoadingTask(this.pdfSrc);
loadingTask.promise
.then((pdf) => {
this.totalPages = pdf.numPages;
this.loadPdfFromUrl()
// this.$nextTick(() => {
// this.setWatermarkContent();
// });
})
.catch((err) => {
this.$message.msgError("pdf加载失败");
});
// this.pdfUrl = pdf.createLoadingTask({
// url: this.pdfSrc,
// cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.8.69/cmaps/',
// cMapPacked: true,
// })
// let loadingTask = pdf.createLoadingTask(this.pdfSrc);
// loadingTask.promise
// .then((pdf) => {
// this.totalPages = pdf.numPages;
// //this.loadPdfFromUrl()
// // this.$nextTick(() => {
// // this.setWatermarkContent();
// // });
// })
// .catch((err) => {
// console.log(err)
// });
const loadingTask = pdf.createLoadingTask({
url: this.pdfSrc,
withCredentials: false,
cMapUrl: 'https://unpkg.com/pdfjs-dist@2.16.105/cmaps/',
cMapPacked: true,
})
loadingTask.promise.then(pdf => {
this.pdfDoc = pdf
this.totalPages = pdf.numPages
}).catch(err => {
console.error('PDF加载失败:', err)
})
this.pdfUrl = loadingTask
},
//
prePage() {
@ -148,10 +169,11 @@ export default {
closeYd(val) {
this.form.zt = val
this.cancel()
},
handleExport() {
studyMethod_export({studyMethodId: this.form.id}).then(response => {
studyMethod_export({ studyMethodId: this.form.id }).then(response => {
let fileUrl = response.data.fileUrl
this.$download.saveAs(process.env.VUE_APP_FILE_DOMAIN + fileUrl, this.form.ffmc + ".pdf");
})

+ 4
- 1
src/views/business/study/comp/tbbd/Bj.vue View File

@ -417,6 +417,7 @@ export default {
bdnr: '',
resource: '',
yqResource: '',
jcbList:'',
qmrmm: '',
sfcz: false,
czfs: '',
@ -445,6 +446,7 @@ export default {
resourceYj: [],
resource: [],
yqResource: [],
jcbList:[],
bdmbTitle: this.$t('page.business.form.bdmb'),
rulesApprove: {
qmrmm: [{
@ -644,6 +646,7 @@ export default {
that.formApprove.bdnr = JSON.stringify(content)
that.resource = that.$refs.templateTable.getResource()
that.yqResource = that.$refs.templateTable.getYqResource()
that.jcbList = that.$refs.templateTable.getJcbList()
that.openApprove = true
}
},
@ -827,7 +830,6 @@ export default {
}
}
that.$modal.loading()
debugger
that.formYjcc.resource = JSON.stringify(that.resourceYj)
that.formYjcc.cclist = JSON.stringify(that.cclistYj)
studyFormFill_yjcc(that.formYjcc).then(response => {
@ -848,6 +850,7 @@ export default {
that.$modal.loading()
that.formApprove.resource = JSON.stringify(that.resource)
that.formApprove.yqResource = JSON.stringify(that.yqResource)
that.formApprove.jcbList = JSON.stringify(that.jcbList)
if (that.czlist.length > 0) {
that.formApprove.czlist = JSON.stringify(that.czlist)
}

+ 1
- 1
src/views/business/study/comp/wzlb/gyzjList.vue View File

@ -102,7 +102,7 @@
</template>
</template>
<!-- 入库 -->
<el-button type="text" v-if="scope.row.zjzt == 2 && scope.row.rksqzt == 1" @click="handleRk(scope.row)"
<el-button type="text" v-if="scope.row.zjzt == 2 && scope.row.rksqzt == 1&& scope.row.cczt == 1" @click="handleRk(scope.row)"
v-hasPermi="['business:studyGyzj:rk', 'business:nonTrialGyzj:rk', 'business:drugGyzj:rk']">{{
$t('page.business.resource.gyzj.ruku') }}</el-button>
<!-- 取出 -->

+ 1
- 1
src/views/business/study/comp/wzlb/mjyList.vue View File

@ -93,7 +93,7 @@
$t('page.business.resource.mjy.xgkc') }}</el-button>
</template>
<!-- 取出 -->
<el-button type="text" v-if="scope.row.zjzt==3&&scope.row.cczt==3" @click="handleQc(scope.row)"
<el-button type="text" v-if="scope.row.zjzt==3&&scope.row.cczt==3&& scope.row.cczt == 1" @click="handleQc(scope.row)"
v-hasPermi="['business:studyMjy:qc', 'business:nonTrialMjy:qc', 'business:drugMjy:qc']">{{
$t('page.business.resource.gyzj.quchu') }}</el-button>
<!-- 存储 -->

+ 2
- 2
src/views/login.vue View File

@ -156,8 +156,8 @@ export default {
Cookies.remove("password");
Cookies.remove('rememberMe');
}
this.$store.dispatch("Login", this.loginForm).then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
this.$store.dispatch("Login", this.loginForm).then((url) => {
this.$router.push({ path: url }).catch(()=>{});
}).catch(err => {
if(err && err.message==='exists'){
this.$confirm(this.$t('system.crowdOut'), this.$t('system.tip'), {

Loading…
Cancel
Save