22 Commits

Author SHA1 Message Date
  ZHANGTENG\张腾 3445c00aaa Merge branch 'master' into zhangteng 3 weeks ago
  luojie 02e61aed6c feat:[模板管理][处理密码输入框复制剪切问题] 3 weeks ago
  luojie 02f8888566 feat:[模板管理][处理密码输入框复制剪切问题] 3 weeks ago
  luojie 282d4e8740 feat:[模板管理][处理密码输入框复制剪切问题] 3 weeks ago
  memorylkf 289d70136d feat: [用户管理] 对接域控 3 weeks ago
  luojie 6f5fb23be2 feat:[模板管理][update] 3 weeks ago
  luojie 45bd58cbf4 Merge branch 'master' of http://182.151.8.209:9010/eln_TD/eln_web 3 weeks ago
  luojie 0713aea8ce feat:[模板管理][update] 3 weeks ago
  memorylkf 41a68654b3 fix: [模板管理] dl021 3 weeks ago
  memorylkf b649326cc8 fix: [模板管理] dl024 3 weeks ago
  luojie 83171d64a9 feat:[模板管理][update] 3 weeks ago
  memorylkf 42aa34c30b fix: [模板管理] dl023 3 weeks ago
  luojie 76abd89883 feat:[模板管理][update] 3 weeks ago
  HanLong c88cb554cb fix:[试验管理][试验方法] 3 weeks ago
  luojie ac6fb0bf5f Merge branch 'master' of http://182.151.8.209:9010/eln_TD/eln_web 3 weeks ago
  luojie 1cdf0a0a90 feat:[模板管理][update] 3 weeks ago
  memorylkf f4d8c923d5 fix: [表单签名] 弹窗验证 3 weeks ago
  memorylkf d6cfc5bf32 fix: [用户管理] resetyForm修改 3 weeks ago
  HanLong be9ff5d028 fix:[系统管理][存储位置] 4 weeks ago
  HanLong e6eda4ff3e fix:[系统管理][存储位置] 4 weeks ago
  luojie dd38ea2cdd Merge branch 'master' of http://182.151.8.209:9010/eln_TD/eln_web 4 weeks ago
  luojie 28c9fb9593 feat:[模板管理][update] 4 weeks ago
161 changed files with 1150 additions and 581 deletions
Split View
  1. +9
    -0
      src/api/system/user.js
  2. +3
    -2
      src/components/Template/CustomTable.vue
  3. +8
    -6
      src/components/Template/HandleFormItem.vue
  4. +3
    -0
      src/components/Template/Step.vue
  5. +7
    -2
      src/components/Template/StepComponents/pcr/hsypfz.vue
  6. +186
    -0
      src/components/Template/StepComponents/pcr/lx.vue
  7. +14
    -4
      src/components/Template/StepComponents/ry/jd.vue
  8. +9
    -1
      src/components/Template/StepComponents/xb/bpqr.vue
  9. +10
    -7
      src/components/Template/StepFormPackage.vue
  10. +1
    -1
      src/components/Template/mixins/formPackageMixins.js
  11. +70
    -6
      src/components/Template/mixins/stepMixins.js
  12. +1
    -1
      src/components/Template/operation/TableOpertaion.vue
  13. +1
    -1
      src/lang/en/business/study/studyMethod.js
  14. +1
    -1
      src/lang/en/template/dl.js
  15. +2
    -0
      src/main.js
  16. +16
    -1
      src/utils/ruoyi.js
  17. +4
    -3
      src/views/business/comps/common/sign.vue
  18. +5
    -3
      src/views/business/comps/template/comps/dl/DL021.vue
  19. +3
    -3
      src/views/business/comps/template/comps/dl/DL023.vue
  20. +9
    -6
      src/views/business/comps/template/comps/dl/DL024.vue
  21. +2
    -2
      src/views/business/comps/template/dialog/EditSign.vue
  22. +61
    -54
      src/views/business/comps/template/mixins/templateMixin.js
  23. +3
    -2
      src/views/business/form/drug/comp/sign.vue
  24. +4
    -4
      src/views/business/form/drug/comp/sqbdList.vue
  25. +3
    -2
      src/views/business/form/nonTrial/comp/sign.vue
  26. +2
    -2
      src/views/business/form/nonTrial/comp/syff/Xz.vue
  27. +2
    -2
      src/views/business/form/nonTrial/comp/syff/Yd.vue
  28. +8
    -2
      src/views/business/form/nonTrial/comp/syffList.vue
  29. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Gd.vue
  30. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Jd.vue
  31. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Jq.vue
  32. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Js.vue
  33. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Jy.vue
  34. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Sd.vue
  35. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Bj.vue
  36. +3
    -3
      src/views/business/resource/gsp/comps/gsp/Cc.vue
  37. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Cz.vue
  38. +2
    -2
      src/views/business/resource/gsp/comps/gsp/CzBatch.vue
  39. +5
    -5
      src/views/business/resource/gsp/comps/gsp/Ff.vue
  40. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Gd.vue
  41. +5
    -5
      src/views/business/resource/gsp/comps/gsp/Gh.vue
  42. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Jd.vue
  43. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Js.vue
  44. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Jy.vue
  45. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Sd.vue
  46. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Shbj.vue
  47. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Shxgkc.vue
  48. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Xgkc.vue
  49. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Xz.vue
  50. +2
    -2
      src/views/business/resource/gsp/comps/gsp/Ysff.vue
  51. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  52. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Gd.vue
  53. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Jd.vue
  54. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Js.vue
  55. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Jy.vue
  56. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue
  57. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Sd.vue
  58. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Xz.vue
  59. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Gd.vue
  60. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Jd.vue
  61. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Jq.vue
  62. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Js.vue
  63. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Jy.vue
  64. +2
    -2
      src/views/business/resource/gyzj/comps/ffjl/Sd.vue
  65. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Bj.vue
  66. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Cc.vue
  67. +4
    -4
      src/views/business/resource/gyzj/comps/gyzj/Czrq.vue
  68. +4
    -4
      src/views/business/resource/gyzj/comps/gyzj/Czyj.vue
  69. +5
    -5
      src/views/business/resource/gyzj/comps/gyzj/Ff.vue
  70. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Gd.vue
  71. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Gh.vue
  72. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Jd.vue
  73. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Js.vue
  74. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Jy.vue
  75. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Qc.vue
  76. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Rk.vue
  77. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Sd.vue
  78. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Shbj.vue
  79. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue
  80. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Sqgh.vue
  81. +3
    -3
      src/views/business/resource/gyzj/comps/gyzj/Sqrk.vue
  82. +2
    -2
      src/views/business/resource/gyzj/comps/gyzj/Xgkc.vue
  83. +4
    -4
      src/views/business/resource/gyzj/comps/gyzj/Ysff.vue
  84. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Gd.vue
  85. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Jd.vue
  86. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Jq.vue
  87. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Js.vue
  88. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Jy.vue
  89. +2
    -2
      src/views/business/resource/mjy/comps/ffjl/Sd.vue
  90. +2
    -2
      src/views/business/resource/mjy/comps/mjy/Bj.vue
  91. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Cc.vue
  92. +4
    -4
      src/views/business/resource/mjy/comps/mjy/Czrq.vue
  93. +4
    -4
      src/views/business/resource/mjy/comps/mjy/Czyj.vue
  94. +5
    -5
      src/views/business/resource/mjy/comps/mjy/Ff.vue
  95. +2
    -2
      src/views/business/resource/mjy/comps/mjy/Gd.vue
  96. +5
    -5
      src/views/business/resource/mjy/comps/mjy/Gh.vue
  97. +2
    -2
      src/views/business/resource/mjy/comps/mjy/Jd.vue
  98. +2
    -2
      src/views/business/resource/mjy/comps/mjy/Js.vue
  99. +2
    -2
      src/views/business/resource/mjy/comps/mjy/Jy.vue
  100. +3
    -3
      src/views/business/resource/mjy/comps/mjy/Qc.vue

+ 9
- 0
src/api/system/user.js View File

@ -164,3 +164,12 @@ export function roleChangeList(query) {
params: query
})
}
// 查询用户
export function checkExist(query) {
return request({
url: '/system/user/checkExist',
method: 'get',
params: query
})
}

+ 3
- 2
src/components/Template/CustomTable.vue View File

@ -224,6 +224,7 @@
<template v-else-if="col.bodySubType === 'button'">
<HandleFormItem class="ml-10" type="button" :item="getBodyButtonItem(col, rowIndex)"
:value="row[col.bodySubKey]"
:fieldKey="prefixKey + '_' + col.bodySubKey + '_' + row.id"
@clickButton="(e,val, data) => handleClickButton(e, data, col.bodySubKey, rowIndex, colIndex)" />
</template>
<div class="flex flex1" v-else-if="isRegent(col, 'bodySubType')">
@ -240,6 +241,7 @@
<template v-if="col.bodyThirdType === 'button'">
<HandleFormItem class="ml-10" type="button" :item="getBodyThirdButtonItem(col, rowIndex)"
:value="row[col.bodyThirdKey]"
:fieldKey="prefixKey + '_' + col.bodyThirdKey + '_' + row.id"
@clickButton="(e,val, data) => handleClickButton(e, data, col.bodyThirdKey, rowIndex, colIndex)" />
</template>
</div>
@ -1022,8 +1024,7 @@ export default {
this.oldLocalDataSource = JSON.parse(JSON.stringify(this.localDataSource));
this.localDataSource[rowIndex] = { ...this.localDataSource[rowIndex], ...data };
this.localDataSource = [...this.localDataSource];
console.log(signData,"signData")
if(signData && signData.remark){
if(updateFields.length > 0){
updateFields.map((key)=>{
const ref = this.$refs[key+rowIndex];
if(ref){

+ 8
- 6
src/components/Template/HandleFormItem.vue View File

@ -340,9 +340,9 @@ export default {
currentCheckboxTreeValue: '',//checkboxTree
isShowOtherByCheckboxTree,
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
},
// disabledDate(time) {
// return time.getTime() > Date.now();
// },
shortcuts: type === 'dateTimeRange' ? undefined:[{
text: '今天',
onClick(picker) {
@ -524,7 +524,7 @@ export default {
//
//
this.pendingRemoveFile = { file, fileList: this.fileList };
console.log("fillll")
//
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
@ -1200,8 +1200,9 @@ export default {
return;
}
if (!isOldValueEmpty && !(isSame) && (this.templateFillType === "actFill" || this.templateFillType === "blxjsh")&&this.type !== "attachment") {
console.log("需要电子签名")
// EventBus
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
// EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
} else {//
this.handleUpdateRecord()
}
@ -1243,7 +1244,8 @@ export default {
//
handleUpdateRecord(data, recordData) {
const baseInfo = this.getCommonRecordInfo();
if (!this.oldValue && !this.inputValue) {
//recordData
if (!this.oldValue && !this.inputValue && !recordData) {
return
}
let finallyKey = this.fieldKey;

+ 3
- 0
src/components/Template/Step.vue View File

@ -193,6 +193,7 @@ import xfzzysjg from './StepComponents/pcr/xfzzysjg.vue';//PCR-吸附柱转移
import xfzzylxg from './StepComponents/pcr/xfzzylxg.vue';//PCR-
import xt from './StepComponents/pcr/xt.vue';//PCR-
import ecxt from './StepComponents/pcr/ecxt.vue';//PCR-
import lx_pcr from './StepComponents/pcr/lx.vue';//PCR-
//PCR
@ -491,6 +492,7 @@ export default {
xfzzylxg,
xt,
ecxt,
lx_pcr,
//PCR
ndcd,
@ -726,6 +728,7 @@ export default {
'xfzzylxg':'xfzzylxg',
'xt':'xt',
'ecxt':'ecxt',
'lx_pcr':'lx_pcr',
//PCR
'ndcd':'ndcd',

+ 7
- 2
src/components/Template/StepComponents/pcr/hsypfz.vue View File

@ -1,6 +1,6 @@
<!-- 核酸样品分装 -->
<template>
<StepFormPackage ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'pcr_hsypfz'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
<StepFormPackage @clickButton="onHandleClickButton" ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'pcr_hsypfz'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
</template>
<script>
@ -89,9 +89,14 @@ export default {
type: "text",
},
//todo :
button1:{
fzbutton:{
type:"button",
fillType: "actFill",
fzType:"step",
buttonName:"分装",
maxVolumeField:"sjtj",
maxVolumeUnitField:"sjtjdw",
myCodeFields:["lbbh","lbbhCode"],
},
}
}]

+ 186
- 0
src/components/Template/StepComponents/pcr/lx.vue View File

@ -0,0 +1,186 @@
<!-- 离心 -->
<template>
<StepFormPackage @select="select" ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'pcr_lx'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
</template>
<script>
import StepFormPackage from '@/components/Template/StepFormPackage.vue';
import stepMixins from '@/components/Template/mixins/stepMixins.js';
export default {
mixins: [stepMixins],
props: {
sn: {
type: String,
default: 'lx',
},
},
components: {
StepFormPackage
},
data() {
return {
sflx: '',
}
},
mounted() {
this.sflx = this.formData.sflx;
},
methods: {
select(e) {
// this.formData.sflx = val;
const {value,key} =e;
if(key === "sflx"){
this.sflx = value;
}
}
},
computed: {
formConfig() {
const config1 = {
text1: {
label: "使用离心机",
type: "text",
},
yq: {
type: "yq",
fillType: "actFill",
},
text2: {
label: "仪器,设置预计温度为",
type: "text",
},
rm: {
type: "inputNumber",
fillType: "preFill",
},
text3: {
label: "°C,实际设置温度为",
type: "text",
},
rxry: {
type: "inputNumber",
fillType: "actFill",
compareTo:"rm",
copyFrom:"rm"
},
text4: {
label: "°C,设置预计转速为",
type: "text",
},
sjjrl: {
type: "inputNumber",
fillType: "preFill",
},
sjjrldw: {
type: "select",
options: this.getDictOptions("business_zsdw"),
selectTo: "sjzsdw",
fillType: "preFill",
},
text5: {
label: ",实际设置转速为",
type: "text",
},
jxry: {
type: "inputNumber",
fillType: "actFill",
compareTo:"sjjrl",
copyFrom:"sjjrl"
},
sjzsdw: {
type: "select",
options: this.getDictOptions("business_zsdw"),
fillType: "preFill",
},
text6: {
label: ",设置预计时长为",
type: "text",
},
sjjrl1: {
type: "inputNumber",
fillType: "preFill",
},
yqsc: {
type: "select",
options: this.getDictOptions("business_yqscdw"),
selectTo: "sjscdw",
fillType: "preFill",
},
text7: {
label: ",实际设置时长为",
type: "text",
},
sjsc: {
type: "inputNumber",
fillType: "actFill",
compareTo:"sjjrl1",
copyFrom:"sjjrl1"
},
sjscdw: {
type: "select",
options: this.getDictOptions("business_yqscdw"),
fillType: "preFill",
},
text8: {
label: ",进行离心。离心",
type: "text",
},
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: {
type: "button",
buttonName: "开始",
},
}
const config2 = {
text:{
type: "text",
label: "。",
}
}
let lxConfig = {};
if(this.sflx === '是'){
lxConfig = config1;
}else{
lxConfig = config2;
}
if(!this.sflx){
lxConfig = {...config2,...config1};
}
console.log(lxConfig,"lxConfig");
return [{
config: {
sflx: {
type: "radio",
fillType:"actFill",
options: [
{
label: "是",
value: "是",
},
{
label: "否",
value: "否",
},
],
},
lxtext:{
type: "text",
label: "需要离心",
},
...lxConfig
}
}]
}
},
}
</script>
<style lang="scss" scoped></style>

+ 14
- 4
src/components/Template/StepComponents/ry/jd.vue View File

@ -1,6 +1,7 @@
<!-- 解冻 -->
<template>
<StepFormPackage ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'ry_jd'" @resetRecord="resetRecord" :form-config="formConfig"
@select="select"
:formData="formData" />
</template>
@ -16,9 +17,18 @@ export default {
default: 'jd',
},
},
components: {
StepFormPackage
},
methods: {
select(data) {
const {value,key} = data;
if(key==='sjccwz'){
this.updateWcData("sjwd",value);
}
}
},
computed: {
formConfig() {
let config = this.sn==='jd_swypfx'?
@ -29,8 +39,8 @@ export default {
type: "text",
},
ccwz: {
type: "select",
options: this.getDictOptions("business_ccwz"),
type: "input",
// options: this.getDictOptions("business_ccwz"),
fillType: "preFill",
otherCode: "ccwzOther",
},
@ -142,8 +152,8 @@ export default {
type: "text",
},
ccwz: {
type: "select",
options: this.getDictOptions("business_ccwz"),
type: "input",
// options: this.getDictOptions("business_ccwz"),
fillType: "preFill",
otherCode: "ccwzOther",
},

+ 9
- 1
src/components/Template/StepComponents/xb/bpqr.vue View File

@ -1,6 +1,6 @@
<!-- 破片确认 -->
<template>
<StepFormPackage ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'xb_bpqr'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
<StepFormPackage ref="stepFormPackageRef" @select="select" :prefixKey="stepIndex+'_'+'xb_bpqr'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
</template>
<script>
@ -18,6 +18,14 @@ export default {
components: {
StepFormPackage
},
methods: {
select(data) {
const {value,key} = data;
if(key==='ccwz'){
this.updateWcData("wc",value);
}
}
},
computed: {
formConfig() {
let config = [{

+ 10
- 7
src/components/Template/StepFormPackage.vue View File

@ -1,7 +1,7 @@
<template>
<div>
<div v-for="(item, index) in formConfig" :key="index" class="step-form-package">
<div v-for="(sItem, key) in item.config" class="step-item" :key="key">
<div v-for="(sItem, key) in item.config" class="step-item" :class="sItem.type === 'radio' ? 'radio-row' : ''" :key="key">
<template v-if="sItem.type === 'input'">
<HandleFormItem class="step-row" :field-item-label="fieldItemLabel" @blur="onBlur(key, $event)"
:item="sItem" v-model="formFields[key]" :field-key="prefixKey+'_' + key"
@ -21,9 +21,9 @@
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false"
:orange-bg="orangeBgFields[key]" />
</template>
<template v-else-if="sItem.type === 'checkbox'">
<HandleFormItem class="step-row" :field-item-label="fieldItemLabel" :field-key="prefixKey+'_' + key"
type="checkbox" :item="sItem" v-model="formFields[key]"
<template v-else-if="sItem.type === 'checkbox' || sItem.type === 'radio'">
<HandleFormItem :class="sItem.type === 'checkbox' ? 'step-row' : ''" :field-item-label="fieldItemLabel" :field-key="prefixKey+'_' + key"
:type="sItem.type" :item="sItem" v-model="formFields[key]"
@change="onSelectChange(key, $event, sItem.type)"
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false"
:orange-bg="orangeBgFields[key]" />
@ -32,7 +32,7 @@
<HandleFormItem
type="button"
:item="getButtonItem(sItem)"
@clickButton="(e)=>handleClickButton(e,item)" />
@clickButton="(e)=>handleClickButton(e,item,key)" />
</template>
<!-- 仪器instrumentsj(药剂) gsp(供试品) mix药剂/供试品/给药制剂 -->
<template v-else-if="isRegent(sItem)">
@ -207,7 +207,7 @@ export default {
}
},
//
handleClickButton(e,item){
handleClickButton(e,item,key){
const {buttonName = ""} = e;
const {config} = item;
if(buttonName === '开始' && config.hasOwnProperty("startDate")){
@ -215,7 +215,7 @@ export default {
}else if(buttonName === '结束' && config.hasOwnProperty("endDate")){
this.updateFormData("endDate",moment().format('YYYY-MM-DD HH:mm'))
}
this.$emit("clickButton",e,item)
this.$emit("clickButton",e,item,key)
},
//
getButtonItem(sItem) {
@ -254,4 +254,7 @@ export default {
margin-bottom: 10px;
min-height: 28px;
}
.radio-row{
padding-top: 4px;
}
</style>

+ 1
- 1
src/components/Template/mixins/formPackageMixins.js View File

@ -316,7 +316,7 @@ export default {
result[key] = formData[key];
})
// 更新表单字段
this.formFields = result;
this.formFields = {...result};
this.allFieldsConfig = config;
},
//比较值是否相等

+ 70
- 6
src/components/Template/mixins/stepMixins.js View File

@ -1,9 +1,11 @@
import { getuuid } from '@/utils/index.js';
import { EventBus } from "@/utils/eventBus";
export default {
dicts:[
"business_tjdw","business_czhj","business_rqcz","business_zldw",
"business_yqscdw","business_zsdw","business_wddw","business_ccwz","business_ggdw",
"business_hjxx","business_zzzc","business_step_pcr","business_fycx","business_step_pcrfxyp",
"business_cctj"
dicts: [
"business_tjdw", "business_czhj", "business_rqcz", "business_zldw",
"business_yqscdw", "business_zsdw", "business_wddw", "business_ccwz", "business_ggdw",
"business_hjxx", "business_zzzc", "business_step_pcr", "business_fycx", "business_step_pcrfxyp",
"business_cctj"
],
props: {
formData: {
@ -15,7 +17,61 @@ export default {
default: ''
}
},
data() {
return {
uuid: getuuid(),
}
},
mounted() {
EventBus.$on("dialogSubPackageSubmit", (data) => {
this.onSubPackageSubmit(data)
})
EventBus.$on("subPackageDialogPrintTag", (data) => {
this.onPrintTag(data)
})
},
destroyed() {
EventBus.$off("dialogSubPackageSubmit")
EventBus.$off("subPackageDialogPrintTag")
},
methods: {
// 打印标签
onPrintTag(data) {
this.$emit("printTag")
},
onSubPackageSubmit(data) {
if (data.uuid === this.uuid) {
console.log(data, "ddd")
//通知后端保存数据
const params = {
type: "fieldChanged",
newRecord: null,
resourceList: null,
}
EventBus.$emit('onModifyRecord', params);
}
},
// 点击按钮
onHandleClickButton(e, item, key) {
const { buttonName = "", myCodeFields = [], maxVolumeField = "", maxVolumeUnitField = "" } = e;
if (buttonName === '分装') {
const fields = [];
const stepFormData = this.getFilledFormData();
if (!myCodeFields.length || !maxVolumeField || !maxVolumeUnitField) {
console.warn("请配置分装参数")
return
}
const maxVolume = stepFormData[maxVolumeField];
const maxVolumeUnit = stepFormData[maxVolumeUnitField];
myCodeFields.forEach((key) => {
fields.push(stepFormData[key])
});
EventBus.$emit("showSubPackageDialog", { mybh: fields.join(""), maxVolume, maxVolumeUnit, uuid: this.uuid, fzType: "step" })
}
},
async getFormData() {
return await this.$refs.stepFormPackageRef.getFormData();
},
@ -25,12 +81,20 @@ export default {
getSjResource() {
return this.$refs.stepFormPackageRef?.getSjResource();
},
//试验配制条件options
//试验配制条件options
getDictOptions(dictType) {
return this.dict.type[dictType] || []
},
resetRecord() {
this.$refs.stepFormPackageRef.resetRecord();
},
//更新温层数据
updateWcData(key, value) {
const options = this.getDictOptions("business_ccwz");
const selectedOption = options.find(item => item.value === value);
if (selectedOption) {
this.$refs.stepFormPackageRef.updateFormData(key, [selectedOption.raw.remark]);
}
}
},
}

+ 1
- 1
src/components/Template/operation/TableOpertaion.vue View File

@ -167,7 +167,7 @@ export default {
if (innerRow.fzsj) {
defaultData = {...innerRow.fzsj,...defaultData}
}
EventBus.$emit("showSubPackageDialog", {...defaultData,uuid:this.uuid})
EventBus.$emit("showSubPackageDialog", {...defaultData,uuid:this.uuid,fzType:"ryList"})
},
onSubPackageSubmit(data) {
if (data.uuid === this.uuid) {

+ 1
- 1
src/lang/en/business/study/studyMethod.js View File

@ -19,7 +19,7 @@ export default {
remark: 'Comment',
ts: '',
gbts: 'This method has been closed, no need to read!',
jcyd: '坚持阅读',
jcyd: 'Go Read',
qyd:'Go Read',
gb: 'Close',
sfgb: 'Closed',

+ 1
- 1
src/lang/en/template/dl.js View File

@ -391,7 +391,7 @@ export default {
qxbd: '前序表单',
pykssj: '培养开始时间',
pyjssj: '培养结束时间',
jsButton: '培养结束时间',
jsButton: '结束',
xbbh: '细胞编号'
}
}

+ 2
- 0
src/main.js View File

@ -21,6 +21,7 @@ import { getConfigKey } from '@/api/system/config'
import {
parseTime,
resetForm,
clearFormValidate,
addDateRange,
selectDictLabel,
selectDictLabels,
@ -50,6 +51,7 @@ Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.clearFormValidate = clearFormValidate
Vue.prototype.addDateRange = addDateRange
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels

+ 16
- 1
src/utils/ruoyi.js View File

@ -51,11 +51,26 @@ export function parseTime(time, pattern) {
// 表单重置
export function resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields()
}
}
// 表单清除验证
export function clearFormValidate(refName) {
setTimeout(() => {
if (this.$refs[refName]) {
this.$refs[refName].resetFields()
this.$refs[refName].clearValidate()
}
}, 100)
// if (this.$refs[refName]) {
// this.$refs[refName].clearValidate()
// }
// else {
// setTimeout(() => {
// this.clearFormValidate(refName)
// }, 100)
// }
}
// 添加日期范围

+ 4
- 3
src/views/business/comps/common/sign.vue View File

@ -4,7 +4,7 @@
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open"
width="500px" append-to-body>
<el-form ref="signForm" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password"> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24" v-if="showDate">
<el-form-item :label="$t('page.business.study.study.jysj')" prop="jyksrq">
@ -36,7 +36,7 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" show-password v-model="form.qmrmm" maxlength="20"
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password v-model="form.qmrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
@ -106,7 +106,7 @@ export default {
jyksrq: selectedDate && selectedDate.length > 0 ? selectedDate[0] : '',
jyjsrq: selectedDate && selectedDate.length > 0 ? selectedDate[1] : ''
}
this.resetForm("signForm")
this.open = true
this.isReson = isReson || false
@ -142,6 +142,7 @@ export default {
}]
}
}
this.clearFormValidate("signForm")
},
cancel() {
this.open = false

+ 5
- 3
src/views/business/comps/template/comps/dl/DL021.vue View File

@ -293,12 +293,14 @@ export default {
},
getResource() {
let content = this.getFilledFormData();
let formData = this.formData;
debugger
let tmpYq = []
tmpYq.push({
mc: content.wxjmc,
xh: content.wxjxh,
mc: content.wxjmc || formData.wxjmc,
xh: content.wxjxh || formData.wxjxh,
bh: content.xwj,
jzrq: content.wxjjzrq,
jzrq: content.wxjjzrq || formData.wxjjzrq,
})
this.resourceTmp = []

+ 3
- 3
src/views/business/comps/template/comps/dl/DL023.vue View File

@ -186,7 +186,7 @@ export default {
fillType: 'actFill',
maxlength: 200,
subType: 'button',
subKey: 'zskssj',
subKey: 'zskssjbtn',
buttonName: 'template.dl.dl023.ksButton',
disabled: true,
subDisabled: this.fillType !== 'actFill'
@ -197,7 +197,7 @@ export default {
fillType: 'actFill',
maxlength: 200,
subType: 'button',
subKey: 'zsjssj',
subKey: 'zsjssjbtn',
buttonName: 'template.dl.dl023.jsButton',
disabled: true,
subDisabled: this.fillType !== 'actFill'
@ -225,7 +225,7 @@ export default {
handleClickButton(item, signData) {
const arrStr = item.subKey;
const value = moment().format('YYYY/MM/DD HH:mm');
this.$refs.swypyjInfoRef.updateFormData(arrStr, value, { isUpdateRecord: true, signData });
this.$refs.swypyjInfoRef.updateFormData(arrStr=='zskssjbtn'?'zskssj':'zsjssj', value, { isUpdateRecord: true, signData });
// console.log(this.getFilledFormData())
},
onSelect(e) {

+ 9
- 6
src/views/business/comps/template/comps/dl/DL024.vue View File

@ -160,17 +160,17 @@ export default {
label: 'template.dl.dl024.pykssj',
type: 'input',
fillType: 'actFill',
subType: 'button',
subKey: 'pykssj',
buttonName: 'template.dl.dl024.jsButton',
disabled:true
},
pyjssj: {
label: 'template.dl.dl024.pyjssj',
type: 'input',
fillType: 'actFill',
subType: 'button',
subKey: 'pyjssj',
subKey: 'pyjssjbtn',
buttonName: 'template.dl.dl024.jsButton',
disabled: true,
subDisabled: this.fillType !== 'actFill'
},
}
}
@ -201,7 +201,7 @@ export default {
handleClickButton(item,signData) {
const arrStr = item.subKey;
const value = moment().format('YYYY/MM/DD HH:mm');
this.$refs.swypyjInfoRef.updateFormData(arrStr, value,{isUpdateRecord:true,signData});
this.$refs.swypyjInfoRef.updateFormData('pyjssj', value,{isUpdateRecord:true,signData});
// console.log(this.getFilledFormData())
},
//
@ -222,11 +222,14 @@ export default {
}
//
const itemData = stepTableFormData.map(item => ({
xbbh: item.targetSolutionCode+'-'+item.subTargetSolutionCode, //
xbbh: item.targetSolutionCode+item.subTargetSolutionCode, //
}))
// 使 $set formData CustomTable
this.$set(this.formData, 'stepTableFormData', itemData)
this.$refs.swypyjInfoRef.updateFormData('pykssj', bdnr.pykssj);
this.$message.success(`已从前序表单加载 ${itemData.length} 条细胞编号数据`)
} catch (error) {
this.$set(this.formData, 'stepTableFormData', [])

+ 2
- 2
src/views/business/comps/template/dialog/EditSign.vue View File

@ -38,7 +38,7 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" show-password />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" show-password />
</el-form-item>
</el-col>
</el-row>
@ -98,8 +98,8 @@ export default {
qmrmm:'',
}
this.isChecked = false
this.resetForm("formEditSignForm")
this.open = true
this.clearFormValidate("formEditSignForm")
},
cancel() {
this.open = false

+ 61
- 54
src/views/business/comps/template/mixins/templateMixin.js View File

@ -1,6 +1,6 @@
import moment from 'moment'
import { getLatestSn, getLatestSnArr } from '@/api/template';
import { isValueEmpty, getStringWidth,getuuid } from '@/utils/index';
import { isValueEmpty, getStringWidth, getuuid } from '@/utils/index';
import { isCommonUnit } from "@/utils/conTools";
import { sj_subpackage, sj_startConfiguration, sj_configurationCompleted } from '@/api/business/sj/sj';
import { convertConcentration } from "@/utils/conConverter";//浓度单位转换
@ -142,7 +142,7 @@ export default {
templateId,
templateSn,
startDate,
submittedCodes,
submittedCodes,
bdmc,
endDate,
id
@ -157,7 +157,7 @@ export default {
templateMcEn,
templateId,
templateSn,
submittedCodes,
submittedCodes,
startDate,
bdmc,
endDate,
@ -287,14 +287,17 @@ export default {
//试剂弹窗确认前
onBeforeReagentSubmit(data) {
const { selectData, callback, key, formFields } = data;
const { subTargetStartSolution } = formFields;
const { subTargetStartSolution,targetStartSolution } = formFields;
const { nd } = selectData.row;
const sjndArr = nd.split('/');
const ytndArr = targetStartSolution.split('/');
//判断选择的浓度单位和预制的浓度单位是否一致
if (key === "subStartSolution" && !isCommonUnit(selectData.row.nddw, [subTargetStartSolution])) {//选择起始源溶液需要同步更新table的变更记录。
callback.prevent('浓度单位与预制不符,请重新选择或申请废止并重新预制。');
}
if(selectData.row.nd === "NA"){
}else if(nd === "NA") {
callback.prevent('当前实际浓度为NA,请重新选择');
}else if(ytndArr.length !== sjndArr.length) {
callback.prevent('起始溶液浓度和目标溶液浓度格式不一致,请重新输入');
}
},
getFormDataByTemplateData() {
@ -503,19 +506,19 @@ export default {
targetDiluentVolumePrecision: 3, //小数点精度默认为3
targetStartSolutionVolumePrecision: 3, //小数点精度默认为3
targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}`,
id:getuuid(),
rowIndex:index,
id: getuuid(),
rowIndex: index,
}))
this.$refs.stepTableRef.updateDataSource(arr)
} else if (key === 'targetStartSolution' || key === 'subTargetStartSolution') {
//起始溶液体积失焦时,更新目标溶液预计浓度
const arr = this.$refs.stepTableRef?.getDataSource();
const { headerSelectFields,stepTableFormData=[] } = this.$refs.stepTableRef?.getFilledFormData();
const { headerSelectFields, stepTableFormData = [] } = this.$refs.stepTableRef?.getFilledFormData();
const params = {
subTargetStartSolution,
headerSelectFields,
dataSource:stepTableFormData,
}
dataSource: stepTableFormData,
}
arr.forEach((item, rowIndex) => {
this.updateTargetStartSolutionVolume(
item,
@ -583,7 +586,7 @@ export default {
}
if (isValueEmpty(initNd)) {
console.log("initNd",initNd)
console.log("initNd", initNd)
this.$message.error('请先选择起始源溶液')
return
} else {
@ -598,7 +601,7 @@ export default {
//计算目标溶液浓度
calcNd(item, targetAcSolution, params) {
console.log(item,params, "ppp")
console.log(item, params, "ppp")
// debugger
//targetStartSolutionUnit(实际起始源溶液浓度单位)
const { targetStartSolutionUnit, headerSelectFields } = params;
@ -606,7 +609,7 @@ export default {
let initUnit = targetStartSolutionUnit;
if (item.rowIndex > 0) {
initUnit = actSolutionConcentrationUnit;
}
}
//actStartSolutionVolumeUnit(实际起始源溶液体积单位)actSolutionVolumeUnit(实际目标溶液体积单位)
//actDiluentVolumeUnit(实际稀释液体积单位)actSolutionConcentrationUnit(实际目标溶液浓度单位)
//实际源溶液浓度÷(实际终体积÷源溶液加入体积);
@ -628,22 +631,26 @@ export default {
const targetStartVolUnit = actSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
const converActVol = volumeConverter.convert(actVol + actSolutionVolumeUnit, targetStartVolUnit)
const converActDiluentVolume1 = volumeConverter.convert(actStartSolutionVolume + actStartSolutionVolumeUnit, targetStartVolUnit)
const converArr = (targetAcSolution+'').split("/");
converArr.map((item)=>{
const converArr = (targetAcSolution + '').split("/");
converArr.map((item) => {
return convertConcentration.convert(item + initUnit, actSolutionConcentrationUnit)
})
console.log(converArr,"converArr")
const converTargetAcSolution = convertConcentration.convert(targetAcSolution + initUnit, actSolutionConcentrationUnit)
// const converTargetAcSolution = convertConcentration.convert(targetAcSolution + initUnit, actSolutionConcentrationUnit)
// 实际目标溶液浓度 = 实际源溶液浓度÷(实际终体积÷源溶液加入体积);
const actNd = (
parseFloat(converTargetAcSolution) / (
parseFloat(converActVol) / parseFloat(converActDiluentVolume1)
)
).toFixed(precision)
const nd = actNd === 'Infinity' ? 0 : Number(actNd)
console.log(actNd, targetAcSolution, actStartSolutionVolume, actVol, "actNd")
// const actNd = (
// parseFloat(converTargetAcSolution) / (
// parseFloat(converActVol) / parseFloat(converActDiluentVolume1)
// )
// ).toFixed(precision)
const actNdArr = converArr.map((item) => {
return parseFloat((item / (converActVol / converActDiluentVolume1)
).toFixed(precision))
})
// const nd = actNd === 'Infinity' ? 0 : Number(actNd)
console.log(actNdArr, targetAcSolution, actStartSolutionVolume, actVol, "actNd")
// item.actSolutionConcentration = actNd === 'Infinity' ? 0 : actNd
return { actVol: Number(actVol), actNd: nd }
return { actVol: Number(actVol), actNd: actNdArr.join("/") }
},
//计算并更新实际目标溶液浓度 先计算实际目标溶液体积再计算实际目标溶液浓度
@ -653,16 +660,17 @@ export default {
//更新起始溶液体积时,计算预设起始溶液体积和预设稀释液体积
updateTargetStartSolutionVolume(item, volume, unitParams) {
const { rowIndex } = item
const { subTargetStartSolution, headerSelectFields, dataSource=[] } = unitParams
const { subTargetStartSolution, headerSelectFields, dataSource = [] } = unitParams
const { targetSolutionConcentrationUnit, targetSolutionVolumeUnit, targetStartSolutionVolumeUnit, targetDiluentVolumeUnit } = headerSelectFields
let initNd = volume,unit = subTargetStartSolution;
let initNd = volume, unit = subTargetStartSolution;
//平行配置不会传dataSource;
if (rowIndex > 0 && dataSource.length > 0) {
initNd = dataSource[rowIndex - 1].targetSolutionConcentration;
unit = targetSolutionConcentrationUnit;
}
}
const precision = item.targetStartSolutionVolumePrecision || 0
const precision1 = item.targetDiluentVolumePrecision || 0;
const concentration = item.targetSolutionConcentration
const targetVolume = item.targetSolutionVolume
if (
@ -676,35 +684,34 @@ export default {
) {
return;
}
const targetStartVolUnit = targetSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
const volumeArr = (initNd+'').split("/");
const converArr = volumeArr.map((item)=>{
return convertConcentration.convert(item + unit, targetSolutionConcentrationUnit)
})
console.log(converArr,"converArr")
//将起始溶液浓度转换为和预设目标溶液浓度一样的单位再计算;
const converStartCon = convertConcentration.convert(initNd + unit, targetSolutionConcentrationUnit)
//将预设目标溶液体积转换为和预设目标溶液浓度单位的分母一样的单位再计算;如:预设目标溶液浓度单位为mg/mL,预设目标溶液体积单位为uL,则将预设目标溶液体积转换为mL
const convertTargetVol = volumeConverter.convert(targetVolume + targetSolutionVolumeUnit, targetStartVolUnit)
const convertTargetVol1 = volumeConverter.convert(targetVolume + targetSolutionVolumeUnit, targetStartSolutionVolumeUnit)
//预设起始溶液体积:(目标溶液预计浓度 乘以 目标溶液预计体积)除以 起始溶液浓度
const result = Number((concentration * convertTargetVol) / converStartCon)
//根据预设起始溶液体积单位转换计算后的数据
const convertYsVol = volumeConverter.convert(result + targetStartVolUnit, targetStartSolutionVolumeUnit)
item.targetStartSolutionVolume = Number(convertYsVol.toFixed(
precision
))
// this.$refs.stepTableRef.updateDataSourceByRowIndex(rowIndex, { targetStartSolutionVolume: result });
if (targetVolume) {
//预设稀释液体积:目标溶液预计体积 减去 源溶液预计体积;
const precision1 = item.targetDiluentVolumePrecision || 0;
//将预设目标溶液体积转换为和预设起始溶液体积单位一样的单位再计算;
const convertTargetVol1 = volumeConverter.convert(targetVolume + targetSolutionVolumeUnit, targetStartSolutionVolumeUnit)
const result1 = (convertTargetVol1 - convertYsVol)
item.targetDiluentVolume = Number(volumeConverter.convert(result1 + targetStartSolutionVolumeUnit, targetDiluentVolumeUnit).toFixed(precision1))
// this.$refs.stepTableRef.updateDataSourceByRowIndex(rowIndex, { targetDiluentVolume: result1 });
const initNdArr = (initNd + '').split("/");
const transNdArr = initNdArr.map((con) => {
return convertConcentration.convert(con + unit, targetSolutionConcentrationUnit)
})
const mbyjndArr = (concentration + '').split("/");//目标预计浓度
if (mbyjndArr.length !== initNdArr.length) {
this.$message.error("起始溶液浓度和目标溶液浓度格式不一致,请重新输入")
return
}
//预设体积
const ystjArr = mbyjndArr.map((con, index) => {
const ystj = Number((con * convertTargetVol) / (transNdArr[index] || transNdArr[0]))
const convertYsVol = volumeConverter.convert(ystj + targetStartVolUnit, targetStartSolutionVolumeUnit)
const xstj = (convertTargetVol1 - convertYsVol)//稀释体积
return { qsrytj: convertYsVol, xstj }
})
if (ystjArr.length > 0) {
const firstItem = ystjArr[0];//只取第一个计算
item.targetStartSolutionVolume = Number((firstItem.qsrytj).toFixed(precision));
item.targetDiluentVolume = Number((volumeConverter.convert(firstItem.xstj + targetStartSolutionVolumeUnit, targetDiluentVolumeUnit)).toFixed(precision1));
}
},
// 导出excel模板
exportExcel(headerArray, title = '导出模板') {

+ 3
- 2
src/views/business/form/drug/comp/sign.vue View File

@ -45,7 +45,7 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" autocomplete="off" auto-complete="new-password" show-password />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" autocomplete="off" auto-complete="new-password" show-password />
</el-form-item>
</el-col>
</el-row>
@ -114,7 +114,7 @@ export default {
startDate:selectedDate&&selectedDate.length>0?selectedDate[0]:'',
endDate:selectedDate&&selectedDate.length>1?selectedDate[1]:''
}
this.resetForm("signForm")
this.open = true
this.isReson = isReson || false
@ -150,6 +150,7 @@ export default {
}]
}
}
this.clearFormValidate("signForm")
},
cancel() {
this.open = false

+ 4
- 4
src/views/business/form/drug/comp/sqbdList.vue View File

@ -192,13 +192,13 @@
<!-- 编辑 -->
<Bj v-show="showEdit" key="Bj" ref="Bj" @close="bjClose" />
<!-- 详情 -->
<Xq v-show="showDetail" key="Xq" ref="Xq" @close="xqClose" />
<Xq v-if="showDetail" key="Xq" ref="Xq" @close="xqClose" />
<!-- 审阅 -->
<Sy v-show="showAudit" key="Sy" ref="Sy" @close="syClose" />
<Sy v-if="showAudit" key="Sy" ref="Sy" @close="syClose" />
<!-- 复核 -->
<Fh v-show="showFh" key="Fh" ref="Fh" @close="fhClose" />
<Fh v-if="showFh" key="Fh" ref="Fh" @close="fhClose" />
<!-- 审核 -->
<Sh v-show="showSh" key="Sh" ref="Sh" @close="shClose" />
<Sh v-if="showSh" key="Sh" ref="Sh" @close="shClose" />
<!-- 废止 -->
<Fz key="Fz" ref="Fz" @callback="search" />
<!-- 确认废止 -->

+ 3
- 2
src/views/business/form/nonTrial/comp/sign.vue View File

@ -45,7 +45,7 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" autocomplete="off" auto-complete="new-password" show-password />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" maxlength="20" :placeholder="$t('form.placeholderInput')" autocomplete="off" auto-complete="new-password" show-password />
</el-form-item>
</el-col>
</el-row>
@ -114,7 +114,7 @@ export default {
startDate:selectedDate&&selectedDate.length>0?selectedDate[0]:'',
endDate:selectedDate&&selectedDate.length>1?selectedDate[1]:''
}
this.resetForm("signForm")
this.open = true
this.isReson = isReson || false
@ -150,6 +150,7 @@ export default {
}]
}
}
this.clearFormValidate("signForm")
},
cancel() {
this.open = false

+ 2
- 2
src/views/business/form/nonTrial/comp/syff/Xz.vue View File

@ -4,7 +4,7 @@ G