Browse Source

Merge branch 'master' into zhangteng

luojie
ZHANGTENG\张腾 3 weeks ago
parent
commit
1c24ad7773
90 changed files with 644 additions and 604 deletions
  1. +8
    -8
      src/api/business/gsp/gspFfjlArchive.js
  2. +14
    -9
      src/components/Template/DecimalInput.vue
  3. +49
    -54
      src/components/Template/HandleFormItem.vue
  4. +177
    -132
      src/components/Template/StepComponents/ZLSubPackage.vue
  5. +9
    -1
      src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue
  6. +25
    -6
      src/components/Template/StepComponents/ry/zlfz.vue
  7. +12
    -3
      src/components/Template/StepFormPackage.vue
  8. +2
    -2
      src/components/Template/mixins/stepMixins.js
  9. +22
    -4
      src/utils/formPackageCommon.js
  10. +6
    -2
      src/views/business/archive/gsp/comps/ffjlList.vue
  11. +5
    -3
      src/views/business/comps/template/comps/dl/DL023.vue
  12. +2
    -3
      src/views/business/comps/template/dialog/SubPackageDialog.vue
  13. +1
    -1
      src/views/business/form/nonTrial/comp/syff/Yd.vue
  14. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Gd.vue
  15. +7
    -5
      src/views/business/resource/gsp/comps/ffjl/Jd.vue
  16. +2
    -2
      src/views/business/resource/gsp/comps/ffjl/Js.vue
  17. +3
    -3
      src/views/business/resource/gsp/comps/ffjl/Jy.vue
  18. +1
    -1
      src/views/business/resource/gsp/comps/ffjl/Sd.vue
  19. +4
    -1
      src/views/business/resource/gsp/comps/gsp/Bj.vue
  20. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Cz.vue
  21. +1
    -1
      src/views/business/resource/gsp/comps/gsp/CzBatch.vue
  22. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Ff.vue
  23. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Gh.vue
  24. +9
    -16
      src/views/business/resource/gsp/comps/gsp/Jd.vue
  25. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Js.vue
  26. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Jy.vue
  27. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Sd.vue
  28. +4
    -3
      src/views/business/resource/gsp/comps/gsp/Shbj.vue
  29. +8
    -5
      src/views/business/resource/gsp/comps/gsp/Shxgkc.vue
  30. +11
    -10
      src/views/business/resource/gsp/comps/gsp/Xgkc.vue
  31. +0
    -237
      src/views/business/resource/gsp/comps/gsp/Xq copy.vue
  32. +1
    -1
      src/views/business/resource/gsp/comps/gsp/Xz.vue
  33. +14
    -8
      src/views/business/resource/gsp/comps/gspList.vue
  34. +3
    -3
      src/views/business/resource/gsp/comps/rkjl/Bj.vue
  35. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Gd.vue
  36. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Jd.vue
  37. +2
    -2
      src/views/business/resource/gsp/comps/rkjl/Js.vue
  38. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Jy.vue
  39. +4
    -12
      src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue
  40. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Sd.vue
  41. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Xq.vue
  42. +1
    -1
      src/views/business/resource/gsp/comps/rkjl/Xz.vue
  43. +1
    -0
      src/views/business/resource/gsp/comps/rkjlList.vue
  44. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Gd.vue
  45. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Jd.vue
  46. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Jq.vue
  47. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Js.vue
  48. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Jy.vue
  49. +1
    -1
      src/views/business/resource/mjy/comps/ffjl/Sd.vue
  50. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Bj.vue
  51. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Cc.vue
  52. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Czrq.vue
  53. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Czyj.vue
  54. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Gd.vue
  55. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Jd.vue
  56. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Js.vue
  57. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Jy.vue
  58. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Qc.vue
  59. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Rk.vue
  60. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Sd.vue
  61. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Shbj.vue
  62. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Shxgkc.vue
  63. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Xgkc.vue
  64. +1
    -1
      src/views/business/resource/mjy/comps/mjy/Ysff.vue
  65. +2
    -1
      src/views/business/resource/sj/comps/Cz.vue
  66. +2
    -1
      src/views/business/resource/sj/comps/CzBatch.vue
  67. +1
    -1
      src/views/business/resource/sj/list.vue
  68. +1
    -1
      src/views/business/resource/zcg/comps/Ysff.vue
  69. +1
    -1
      src/views/business/resource/zcg/comps/Ysgh.vue
  70. +158
    -0
      src/views/business/storageLocation/comps/StorageLocationImport.vue
  71. +13
    -3
      src/views/business/storageLocation/list.vue
  72. +1
    -1
      src/views/business/study/comp/jhbd/Fh.vue
  73. +1
    -1
      src/views/business/study/comp/jhbd/Ghgsr.vue
  74. +1
    -1
      src/views/business/study/comp/jhbd/Sy.vue
  75. +1
    -1
      src/views/business/study/comp/syff/Xz.vue
  76. +1
    -1
      src/views/business/study/comp/syff/Yd.vue
  77. +1
    -1
      src/views/business/study/comp/syj/Bj.vue
  78. +1
    -1
      src/views/business/study/comp/syj/Xz.vue
  79. +1
    -1
      src/views/business/study/comp/tbbd/Blxjsh.vue
  80. +1
    -1
      src/views/business/study/comp/tbbd/Fh.vue
  81. +1
    -1
      src/views/business/study/comp/tbbd/Fz.vue
  82. +1
    -1
      src/views/business/study/comp/tbbd/Gc.vue
  83. +1
    -1
      src/views/business/study/comp/tbbd/Ghgsr.vue
  84. +1
    -1
      src/views/business/study/comp/tbbd/Qrfz.vue
  85. +1
    -1
      src/views/business/study/comp/tbbd/Sy.vue
  86. +1
    -1
      src/views/business/study/comp/ytbd/Gb.vue
  87. +1
    -1
      src/views/business/study/comp/ytbd/Qrgb.vue
  88. +2
    -2
      src/views/business/study/comp/ytbd/Sh.vue
  89. +4
    -4
      src/views/business/template/list.vue
  90. +2
    -1
      src/views/system/user/index.vue

+ 8
- 8
src/api/business/gsp/gspFfjlArchive.js View File

@ -4,7 +4,7 @@ import request from '@/utils/request'
// 档案列表
export function list(query) {
return request({
url: '/system/business/gspRkjlArchive/list',
url: '/system/business/gspFfjlArchive/list',
method: 'get',
params: query
})
@ -13,7 +13,7 @@ export function list(query) {
// 同意归档
export function tygd(data) {
return request({
url: '/system/business/gspRkjlArchive/gd/agree',
url: '/system/business/gspFfjlArchive/gd/agree',
method: 'post',
data: data
})
@ -22,7 +22,7 @@ export function tygd(data) {
// 拒绝归档
export function jjgd(data) {
return request({
url: '/system/business/gspRkjlArchive/gd/refuse',
url: '/system/business/gspFfjlArchive/gd/refuse',
method: 'post',
data: data
})
@ -31,7 +31,7 @@ export function jjgd(data) {
// 同意解档
export function tyjd(data) {
return request({
url: '/system/business/gspRkjlArchive/jd/agree',
url: '/system/business/gspFfjlArchive/jd/agree',
method: 'post',
data: data
})
@ -40,7 +40,7 @@ export function tyjd(data) {
// 拒绝解档
export function jjjd(data) {
return request({
url: '/system/business/gspRkjlArchive/jd/agree',
url: '/system/business/gspFfjlArchive/jd/agree',
method: 'post',
data: data
})
@ -49,7 +49,7 @@ export function jjjd(data) {
// 同意借阅
export function tyjy(data) {
return request({
url: '/system/business/gspRkjlArchive/jy/agree',
url: '/system/business/gspFfjlArchive/jy/agree',
method: 'post',
data: data
})
@ -58,7 +58,7 @@ export function tyjy(data) {
// 拒绝借阅
export function jjjy(data) {
return request({
url: '/system/business/gspRkjlArchive/jy/refuse',
url: '/system/business/gspFfjlArchive/jy/refuse',
method: 'post',
data: data
})
@ -67,7 +67,7 @@ export function jjjy(data) {
// 确认归还
export function qrgh(data) {
return request({
url: '/system/business/gspRkjlArchive/gh',
url: '/system/business/gspFfjlArchive/gh',
method: 'post',
data: data
})

+ 14
- 9
src/components/Template/DecimalInput.vue View File

@ -135,8 +135,10 @@ export default {
}
} else {
//
// decimalDigits 0
const allowedPattern = this.decimalDigits === 0 ? /[^\d-]/g : /[^\d.-]/g;
cleaned = val
.replace(/[^\d.-]/g, '')
.replace(allowedPattern, '')
.replace(/^(-)\1+/, '$1');
//
@ -148,18 +150,21 @@ export default {
}
//
if (this.decimalDigits > 0 && cleaned.includes('.')) {
if (this.decimalDigits == 0) {
// decimalDigits 0
cleaned = cleaned.replace(/\./g, '');
} else if (this.decimalDigits > 0 && cleaned.includes('.')) {
const [intPart, decPart = ''] = cleaned.split('.');
cleaned = intPart + '.' + decPart.slice(0, this.decimalDigits);
} else if (this.decimalDigits === 0) {
cleaned = cleaned.split('.')[0];
}
//
if (cleaned === '.') cleaned = '0.';
else if (cleaned === '-.') cleaned = '-0.';
else if (cleaned.startsWith('.')) cleaned = '0' + cleaned;
else if (cleaned.startsWith('-.')) cleaned = '-0.' + cleaned.slice(2);
//
if (this.decimalDigits > 0) {
if (cleaned === '.') cleaned = '0.';
else if (cleaned === '-.') cleaned = '-0.';
else if (cleaned.startsWith('.')) cleaned = '0' + cleaned;
else if (cleaned.startsWith('-.')) cleaned = '-0.' + cleaned.slice(2);
}
//
if (cleaned.includes('.')) {

+ 49
- 54
src/components/Template/HandleFormItem.vue View File

@ -3,11 +3,10 @@
<div class="flex" :class="getFlexClass()">
<!-- @copy.native.capture.prevent="handleFalse"
@cut.native.capture.prevent="handleFalse" -->
<el-input
v-if="type === 'input'" :maxlength="item.maxlength || 50" :disabled="getDisabled()"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')" @blur="onBlur"
type = "textarea" :autosize="{ minRows: 1, maxRows: 6 }" resize = "none"
:placeholder="getPlaceholder()" v-model="inputValue" @input="onInputChange" @change="onInputChange" />
<el-input v-if="type === 'input'" :maxlength="item.maxlength || 50" :disabled="getDisabled()"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')" @blur="onBlur" type="textarea"
:autosize="{ minRows: 1, maxRows: 6 }" resize="none" :placeholder="getPlaceholder()"
v-model="inputValue" @input="onInputChange" @change="onInputChange" />
<el-input v-else-if="type === 'textarea'" :maxlength="item.maxlength || 1000" :disabled="getDisabled()"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')" type="textarea" show-word-limit
resize="none" @blur="onBlur" :rows="item.rows || 3" :placeholder="getPlaceholder()" v-model="inputValue"
@ -20,9 +19,8 @@
<el-select v-else-if="type === 'select'" class="flex1" :multiple="item.multiple"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')" v-model="inputValue"
:disabled="getDisabled()" :placeholder="getPlaceholder()" @remove-tag="onRemoveTag"
:remote = "item.selectRemote || false"
:remote-method="remoteMethod"
@visible-change="onSelectBlur" @change="onInputChange" filterable>
:remote="item.selectRemote || false" :remote-method="remoteMethod" @visible-change="onSelectBlur"
@change="onInputChange" filterable>
<el-option v-for="op in item.options" :key="op.value" :label="op.label" :value="op.value">
</el-option>
</el-select>
@ -79,16 +77,10 @@
:format="type === 'dateTime' ? 'yyyy/MM/dd HH:mm:ss' : 'yyyy/MM/dd'" :placeholder="getPlaceholder()"
@change="(val) => onDateChange(val, type === 'dateTime' ? 'yyyy/MM/DD HH:mm:ss' : 'yyyy/MM/DD')">
</el-date-picker>
<el-date-picker
v-else-if="type === 'dateTimeRange'"
v-model="inputValue"
type="datetimerange"
range-separator="至"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')"
:disabled="getDisabled()"
:picker-options="pickerOptions"
@change="(val) => onDateChange(val, 'yyyy/MM/DD HH:mm:ss')"
start-placeholder="开始日期"
<el-date-picker v-else-if="type === 'dateTimeRange'" v-model="inputValue" type="datetimerange"
range-separator="至" :class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')"
:disabled="getDisabled()" :picker-options="pickerOptions"
@change="(val) => onDateChange(val, 'yyyy/MM/DD HH:mm:ss')" start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
<el-button v-else-if="type === 'button'" :class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')"
@ -112,9 +104,8 @@
<template v-else-if="type === 'attachment'">
<el-upload ref="uploadRef" class="upload-demo" :action="uploadFileUrl" :on-preview="handlePreview"
:headers="headers" :before-remove="beforeRemove" :on-remove="handleRemove" multiple :limit="10"
:disabled="getDisabled()"
:on-success="handleSuccess" :on-change="handleChange" :on-exceed="handleExceed"
:file-list="fileList" :auto-upload="false">
:disabled="getDisabled()" :on-success="handleSuccess" :on-change="handleChange"
:on-exceed="handleExceed" :file-list="fileList" :auto-upload="false">
<el-button :disabled="getDisabled()" :class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')"
size="small" type="primary">点击上传</el-button>
<span v-if="error" class="atta-tips">请上传附件</span>
@ -215,7 +206,8 @@
</div>
</div>
</div>
<el-dialog :close-on-click-modal="false" append-to-body :title="(templateFillType == 'actFill' || templateFillType == 'blxjsh') ? '意见回复' : '复核意见'"
<el-dialog :close-on-click-modal="false" append-to-body
:title="(templateFillType == 'actFill' || templateFillType == 'blxjsh') ? '意见回复' : '复核意见'"
:visible.sync="visible" width="30%">
<el-input v-model="replyContent" type="textarea" show-word-limit resize="none" rows="8" placeholder="输入内容"
maxlength="500" />
@ -232,12 +224,12 @@ import Question from "./icons/Question.vue";
import DecimalInput from "./DecimalInput.vue";
import { EventBus } from "@/utils/eventBus";
import moment from "moment";
import { getuuid, isEqual, deepClone, getDefaultValueByOptions, isValueEmpty,isRegent } from "@/utils/index.js";
import { getuuid, isEqual, deepClone, getDefaultValueByOptions, isValueEmpty, isRegent } from "@/utils/index.js";
import { getToken } from "@/utils/auth";
import { isShowOtherByCheckboxTree } from "@/utils/formPackageCommon";
export default {
inject: ['templateData', 'templateFillType',"getSubmittedCodes","updateSubmittedCodes", "getZdxgjl", "getFhyjjl", "updateZdxgjl", "replaceFhyjjl", "updateFhyjjl", "getFieldCheckObj", "updateFieldCheckObj"],
inject: ['templateData', 'templateFillType', "getSubmittedCodes", "updateSubmittedCodes", "getZdxgjl", "getFhyjjl", "updateZdxgjl", "replaceFhyjjl", "updateFhyjjl", "getFieldCheckObj", "updateFieldCheckObj"],
components: {
Question,
DecimalInput,
@ -307,7 +299,7 @@ export default {
const defaultCheckedValue = getDefaultValueByOptions(this.item.options || []);
initialValue = { checkedValues: defaultCheckedValue, otherValues: {} };
}
const {type} = this;
const { type } = this;
return {
inputValue: initialValue,
oldValue: typeof initialValue === 'object' ? JSON.parse(JSON.stringify(initialValue)) : initialValue, //
@ -343,7 +335,7 @@ export default {
// disabledDate(time) {
// return time.getTime() > Date.now();
// },
shortcuts: type === 'dateTimeRange' ? undefined:[{
shortcuts: type === 'dateTimeRange' ? undefined : [{
text: '今天',
onClick(picker) {
picker.$emit('pick', new Date());
@ -354,7 +346,7 @@ export default {
}
},
watch: {
value(newVal) {
if (this.type === 'checkboxTag' && Array.isArray(newVal)) {
// checkboxTagvalue
@ -412,7 +404,7 @@ export default {
return false;
},
getFlexClass() {
const noFlexArr = ["radio", "checkboxTag", "fqyq"]
const noFlexArr = ["radio", "checkboxTag", "fqyq","button"]
return noFlexArr.includes(this.type) ? '' : 'flex1'
},
getDecimalDigits() {
@ -524,7 +516,7 @@ export default {
//
//
this.pendingRemoveFile = { file, fileList: this.fileList };
console.log("fillll")
console.log("fillll")
//
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
@ -611,8 +603,8 @@ console.log("fillll")
this.inputValue = data.selectedId;
const { filledCodes = [] } = this.item;
console.log(filledCodes, "filledCodes")
const { selectInfo, row,checkType } = data;
if (filledCodes.length > 0 && checkType !=="checkbox") {
const { selectInfo, row, checkType } = data;
if (filledCodes.length > 0 && checkType !== "checkbox") {
this.inputValue = row[filledCodes[0]] + "(" + row[filledCodes[1]] + ")";
}
this.selectRegentInfo = data;
@ -621,7 +613,7 @@ console.log("fillll")
},
///
onCommonHandleRegent(item, type) {
const {fillType = "actFill"} = item;
const { fillType = "actFill" } = item;
if (this.templateFillType !== fillType) {
return
}
@ -651,10 +643,10 @@ console.log("fillll")
};
if (type === "mix") {
params.mixType = true;
}
}
if (item.qxbdType) {
params.qxbdType = item.qxbdType;
}
}
if (item.checkType) {
params.checkType = item.checkType;
}
@ -670,7 +662,7 @@ console.log("fillll")
onDateChange(val, format) {
if (this.type === 'dateTimeRange') {
this.inputValue = [moment(val[0]).format(format), moment(val[1]).format(format)];
}else{
} else {
this.inputValue = moment(val).format(format);
}
this.onCommonHandleSaveRecord(this.inputValue);
@ -742,7 +734,7 @@ console.log("fillll")
},
getFillTypeStyle(type) {
const { fillType } = this.item;
const filterType = ["attachment", "checkboxTag", "fqyq", "checkboxTree","radio"]
const filterType = ["attachment", "checkboxTag", "fqyq", "checkboxTree", "radio"]
const typeObj = {
actFill: "orange-border",//
blxjsh: "orange-border",//
@ -1098,10 +1090,10 @@ console.log("fillll")
const { mainRadio: oldMainRadio, inputValue: oldInputValue, subRadio: oldSubRadio } = this.oldFqyqValue;
const o = {
"mainRadio": { oldValue: oldMainRadio, newValue: mainRadio, des: "" },
"inputValue": { oldValue: oldInputValue, newValue: inputValue, des: "",key: this.fieldKey+"_inputValue" },
"inputValue": { oldValue: oldInputValue, newValue: inputValue, des: "", key: this.fieldKey + "_inputValue" },
"subRadio": { oldValue: oldSubRadio, newValue: subRadio, des: "是否在规定时间完成:" }
}
console.log(o, this.currentHandleType, this.fqyqValue,"fqyqValue")
console.log(o, this.currentHandleType, this.fqyqValue, "fqyqValue")
return o[this.currentHandleType];
},
getCheckboxTreeInfo() {
@ -1112,7 +1104,7 @@ console.log("fillll")
const oldItem = oldCheckedValues.find(item => item.label === currentCheckboxTreeValue);
const o = {
"checkboxTreeCheckbox": { oldValue: oldItem, newValue: newItem, des: "" },
"checkboxTreeOther": { oldValue: oldOtherValues[currentCheckboxTreeValue], newValue: otherValues[currentCheckboxTreeValue], des: `${currentCheckboxTreeValue}`,key: this.fieldKey+"_"+currentCheckboxTreeValue },
"checkboxTreeOther": { oldValue: oldOtherValues[currentCheckboxTreeValue], newValue: otherValues[currentCheckboxTreeValue], des: `${currentCheckboxTreeValue}`, key: this.fieldKey + "_" + currentCheckboxTreeValue },
}
return o[currentHandleType];
},
@ -1171,9 +1163,9 @@ console.log("fillll")
} else if (this.type === "fqyq") {
const current = this.getFqyqInfo();
isSame = isEqual(current.oldValue, current.newValue);
if(this.currentHandleType === "inputValue"){
isOldValueEmpty =this.isUnSubmitted(current.key);
}else{
if (this.currentHandleType === "inputValue") {
isOldValueEmpty = this.isUnSubmitted(current.key);
} else {
isOldValueEmpty = isValueEmpty(current.oldValue);
}
} else if (this.type === "checkboxTree") {
@ -1188,10 +1180,10 @@ console.log("fillll")
}
} else if(this.type === "checkbox"){
} else if (this.type === "checkbox") {
isSame = isEqual(this.oldValue, this.inputValue)
isOldValueEmpty =this.isUnSubmitted();
}else {
isOldValueEmpty = this.isUnSubmitted();
} else {
isSame = isEqual(this.oldValue, this.inputValue)
isOldValueEmpty = this.isUnSubmitted();
}
@ -1199,7 +1191,7 @@ console.log("fillll")
if (isSame) {
return;
}
if (!isOldValueEmpty && !(isSame) && (this.templateFillType === "actFill" || this.templateFillType === "blxjsh")&&this.type !== "attachment") {
if (!isOldValueEmpty && !(isSame) && (this.templateFillType === "actFill" || this.templateFillType === "blxjsh") && this.type !== "attachment") {
console.log("需要电子签名")
// EventBus
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
@ -1209,9 +1201,9 @@ console.log("fillll")
},
//
isUnSubmitted(key){
isUnSubmitted(key) {
const finallyKey = key || this.fieldKey;
const has = this.getSubmittedCodes().includes(finallyKey)
const has = this.getSubmittedCodes().includes(finallyKey)
return !has;
},
@ -1265,7 +1257,7 @@ console.log("fillll")
const current = this.getFqyqInfo();
recordOldVlaue = `${current.des + current.oldValue}`;
recordValue = `${current.des + current.newValue}`;
if(this.currentHandleType === "inputValue"){
if (this.currentHandleType === "inputValue") {
finallyKey = current.key;
}
isModify = !!this.oldFqyqValue.mainRadio
@ -1283,11 +1275,11 @@ console.log("fillll")
recordValue = `${current.des + (current.newValue || '')}`;
isModify = !!current.oldValue;
}
}else if(this.type === "checkbox"){
recordOldVlaue = `${this.item.checkboxLabel || ""}:${this.oldValue?'勾选':'未勾选'}`;
recordValue = `${this.item.checkboxLabel||""}:${this.inputValue?'勾选':'未勾选'}`;
} else if (this.type === "checkbox") {
recordOldVlaue = `${this.item.checkboxLabel || ""}:${this.oldValue ? '勾选' : '未勾选'}`;
recordValue = `${this.item.checkboxLabel || ""}:${this.inputValue ? '勾选' : '未勾选'}`;
isModify = this.oldValue !== '';
}else if(this.type === "attachment"){
} else if (this.type === "attachment") {
const attList = JSON.parse(recordValue);
const oldAttList = JSON.parse(recordOldVlaue || "[]");
recordValue = attList.map(item => item.name).join(";");
@ -1423,7 +1415,7 @@ console.log("fillll")
return this.templateFillType !== "preFill"
} else if (fillType === "blxjsh") {//fillTypeblxjsh
return this.templateFillType !== "blxjsh"
}else {
} else {
return true
}
}
@ -1631,6 +1623,7 @@ console.log("fillll")
.el-checkbox__inner {
border-color: #f9c588 !important;
}
&.is-checked {
.el-checkbox__label {
color: #606266;
@ -1859,6 +1852,7 @@ console.log("fillll")
color: #606266;
flex: 1;
background-color: #fff;
&.disabled {
cursor: not-allowed;
color: #c0c4cc;
@ -2069,6 +2063,7 @@ console.log("fillll")
border-radius: 4px;
border: 1px solid #ff5d5d;
}
.no-border {
border: none;
}

+ 177
- 132
src/components/Template/StepComponents/ZLSubPackage.vue View File

@ -2,46 +2,54 @@
<template>
<div class="zl-container">
<div class="dialog-content">
<div class="header-container">
<div class="zl-header-container">
<div class="header-item" v-for="item in subConfig" :key="item.key">
<div class="header-title">{{ item.label }}</div>
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = item.fieldKey
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = 'prefixKey+stepIndex + item.fieldKey'
:item="item" :error="formErrors[item.key]"
:type="item.type"
@blur = "(e)=>onCommonBlur(e,item.key)"
v-model="formData[item.key]" />
</div>
<!-- <div class="header-item">
<div class="header-title">分装数量</div>
<HandleFormItem fieldKey = "clfz_fzsl" @blur="onBlurFzsl" :item="integerInputNumberItem"
type = "inputNumber"
:error="formErrors.fzsl" v-model="formData.fzsl" />
<span class="ml-5">{{ item.unit }}</span>
</div>
<div class="header-item">
<div class="header-title">分装编号</div>
<div class="header-title">单位</div>
<div class="unit-select">
<HandleFormItem fieldKey = "clfz_dw" :item="unitItem" type="select" :error="formErrors.dw"
<HandleFormItem :fieldKey = "prefixKey+stepIndex + 'dw'" :item="unitItem" type="select" :error="formErrors.dw"
@blur="(e) => onCommonBlur(e, 'dw')" v-model="formData.dw" />
</div>
</div> -->
</div>
<div class="header-item">
<div class="header-title">预设每份容量</div>
<div class="unit-select">
<HandleFormItem :fieldKey="prefixKey+stepIndex + formData.mybh + '_mfbzl'" type="inputNumber"
:error="formErrors.mfbzl" :isFieldsRecord="false" :item="preInputNumberItem"
v-model="formData.mfbzl" />
</div>
<el-button v-if = "templateFillType == 'preFill'" class="ml-10" type="primary" plain @click="onAverage">平均分配</el-button>
<el-button v-if = "templateFillType == 'preFill'" type="primary" plain @click="onReset">重置</el-button>
</div>
</div>
<div class="content-container">
<div class="header-container">
<div class="zl-header-container">
<div v-for="(item, index) in fzList" class="list-item" :key="index">
<div class="list-label">{{ formData.mybh }}-set{{ item.subCode }}</div>
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = "'clfz_set'+index+'_prenum'" :item="preInputNumberItem"
<div class="list-label" v-if="item.subCode">{{ formData.mybh }}-set{{ item.subCode }}</div>
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = "prefixKey+stepIndex + 'clfz_set'+index+'_prenum'" :item="preInputNumberItem"
:error="hasError(index, 'prenum')"
:disabled="true"
type="inputNumber" @blur="onBlurFzNum(index,'prenum')" v-model="item.prenum" />
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = "'clfz_set'+index+'_actnum'" class="ml-5" :item="inputNumberItem"
<HandleFormItem fieldItemLabel = "质量分装" :fieldKey = "prefixKey+stepIndex + 'clfz_set'+index+'_actnum'" class="ml-5" :item="inputNumberItem"
:error="hasError(index, 'actnum')"
type="inputNumber" @blur="onBlurFzNum(index,'actnum')" v-model="item.actnum" />
<HandleFormItem
class="ml-5"
type="button"
:item="getButtonItem()"
@clickButton="(e)=>onGetValue(item)" />
<el-button class="ml-5" v-if="templateFillType == 'actFill'" type="primary" plain @click="onGetValue(item)">获取值</el-button>
<el-button class="ml-5" v-if="templateFillType == 'actFill'" type="primary" plain @click="onPrint(item)">打印</el-button>
</div>
</div>
<div class="sure-button-row">
<el-button v-if="templateFillType == 'actFill'" class="ml-5" type="primary" @click="onSure">确定</el-button>
</div>
</div>
</div>
@ -52,7 +60,7 @@
import HandleFormItem from '@/components/Template/HandleFormItem.vue';
import { EventBus } from '@/utils/eventBus';
import { getLatestSn } from '@/api/template';
import { isValueEmpty } from '@/utils/index.js';
import { isValueEmpty,justUpdateFilledFormData } from '@/utils/index.js';
export default {
inject: ['templateFillType'],
dicts: [
@ -66,6 +74,14 @@ export default {
type: Object,
default: () => ({})
},
prefixKey: {
type: String,
default: ""
},
stepIndex: {
type: Number,
default: 0
},
},
data() {
return {
@ -77,8 +93,6 @@ export default {
integerInputNumberItem: {
type: "inputNumber",
fillType: "actFill",
precision: 0,
maxlength: 3
},
inputNumberItem: {
type: "inputNumber",
@ -88,7 +102,6 @@ export default {
preInputNumberItem: {
type: "inputNumber",
fillType: "preFill",
label:"预计称量"
},
formData: {
mybh: "",//
@ -134,12 +147,19 @@ export default {
}
},
computed: {
unitItem() {
return {
type: "select",
fillType: "preFill",
options: this.dict.type.business_tjdw
}
},
subConfig(){
return[
{
fieldKey:"clfz_mybh",
key:"mybh",
label:"母编号",
label:"包装编号",
type:"input",
disabled: true,
fillType: "actFill",
@ -150,27 +170,72 @@ export default {
label:"分装数量",
type:"inputNumber",
fillType: "preFill",
precision: 0,
maxlength: 3,
unit:"份",
},
{
fieldKey:"clfz_dw",
key:"dw",
label:"单位",
type:"select",
options: this.dict.type.business_tjdw,
fillType: "preFill",
},
// {//
// fieldKey:"clfz_dw1",
// type:"span",
// },
]
},
},
methods: {
onSure(){
this.$emit("onSubPackageSubmit");
},
onPrint(item){
console.log(item,"打印");
},
updateFormData(data){
this.formData = {...this.formData,...data};
if(data.mybh){
this.updateCode(data.mybh);
}
},
//
async updateCode(mybh){
const { fzList } = this;
if(isValueEmpty(mybh) || isValueEmpty(fzList)){
return;
}
const result = await getLatestSn({
pre: mybh,
count: fzList.length,
type: 2,
})
if(result.code === 200){
const codes = result.data;
//
for (let i = 0; i < fzList.length; i++) {
fzList[i].subCode = codes[i];
}
justUpdateFilledFormData()
}
},
//
getButtonItem() {
return {
fillType: "actFill",
buttonName:"获取值",
key:"hqz",
}
},
//
getPrintButtonItem() {
return {
fillType: "actFill",
buttonName:"打印",
key:"print",
}
},
//
getSureButtonItem() {
return {
fillType: "actFill",
buttonName:"确定",
key:"sure",
}
},
close() {
@ -179,6 +244,31 @@ export default {
this.formData = {};
this.resetErrors();
},
onAverage() {
const { mfbzl } = this.formData;
this.fzList.forEach((item, index) => {
item.prenum = mfbzl;
//
if (this.fzListErrors[index] !== undefined) {
this.$set(this.fzListErrors, index, false);
}
})
//
this.formErrors.mfbzl = false;
justUpdateFilledFormData()
},
onReset() {
this.fzList.forEach((item, index) => {
item.num = "";
//
if (this.fzListErrors[index] !== undefined) {
this.$set(this.fzListErrors, index, false);
}
})
//
this.formErrors.mfbzl = false;
justUpdateFilledFormData()
},
validateFormData() {
let isValid = true;
@ -195,6 +285,9 @@ export default {
}
});
//
this.fzListErrors = [];
// - fillTypetemplateFillType
if (this.fzList && this.fzList.length > 0) {
for (let i = 0; i < this.fzList.length; i++) {
@ -209,7 +302,7 @@ export default {
isValid = false;
}
}
//
if (this.inputNumberItem.fillType === this.templateFillType) {
if (isValueEmpty(this.fzList[i].actnum)) {
@ -232,9 +325,7 @@ export default {
});
//
this.fzListErrors.forEach((_, index) => {
this.fzListErrors = []
});
this.fzListErrors = [];
},
//
async onBlurFzsl(e) {
@ -245,29 +336,15 @@ export default {
//
this.fzList = [];
this.fzListErrors = [];
const result = await getLatestSn({
pre: this.formData.mybh,
count: e,
type: 2,
})
if(result.code === 200){
const codes = result.data;
//
for (let i = 0; i < e; i++) {
for (let i = 0; i < e; i++) {
this.fzList.push({
prenum: "",
actnum: "",
subCode: codes[i],
subCode: "",
});
}
const params = {
type: "fieldChanged",
newRecord: null,
resourceList: null,
}
EventBus.$emit("onModifyRecord", params);
}
justUpdateFilledFormData()
},
onGetValue(item) {
@ -285,91 +362,46 @@ export default {
},
onBlurFzNum(index, field) {
if (this.fzList[index]) {
// fzListErrors
if (this.fzListErrors.length <= index) {
this.$set(this.fzListErrors, index, false);
}
if (this.fzList[index][field]) {
//
this.$set(this.fzListErrors, index, false);
//
this.removeFzListError(index, field);
} else {
//
this.$set(this.fzListErrors, index, true);
//
this.addFzListError(index, field);
}
}
},
verifyFzListError(index, field) {
// indexfield
if (index === undefined && field === undefined) {
if (this.fzList && this.fzList.length > 0) {
//
this.fzListErrors = [];
// fzListfzListErrors
for (let i = 0; i < this.fzList.length; i++) {
const item = this.fzList[i];
if (isValueEmpty(item.prenum)) {
this.fzListErrors.push({
rowIndex: i,
field: "prenum",
error: "请输入预填分装数量"
});
}
if (isValueEmpty(item.actnum)) {
this.fzListErrors.push({
rowIndex: i,
field: "actnum",
error: "请输入实际分装数量"
});
}
}
}
} else if (index !== undefined) {
// index
if (this.fzList[index]) {
const item = this.fzList[index];
if (field === undefined) {
// fieldprenumactnum
//
this.fzListErrors = this.fzListErrors.filter(err => err.rowIndex !== index);
// fzListErrors
if (isValueEmpty(item.prenum)) {
this.fzListErrors.push({
rowIndex: index,
field: "prenum",
error: "请输入预填分装数量"
});
}
if (isValueEmpty(item.actnum)) {
this.fzListErrors.push({
rowIndex: index,
field: "actnum",
error: "请输入实际分装数量"
});
}
} else {
// field
//
this.fzListErrors = this.fzListErrors.filter(err => !(err.rowIndex === index && err.field === field));
// fzListErrors
if (isValueEmpty(item[field])) {
this.fzListErrors.push({
rowIndex: index,
field: field,
error: field === "prenum" ? "请输入预填分装数量" : "请输入实际分装数量"
});
}
}
}
//
addFzListError(index, field) {
const errorObj = {
rowIndex: index,
field: field,
error: field === 'prenum' ? '请输入预填分装数量' : '请输入实际分装数量'
};
//
const exists = this.fzListErrors.some(item =>
item.rowIndex === index && item.field === field
);
if (!exists) {
this.fzListErrors.push(errorObj);
}
},
//
removeFzListError(index, field) {
this.fzListErrors = this.fzListErrors.filter(item =>
!(item.rowIndex === index && item.field === field)
);
},
hasError(index, field) {
const o = this.fzListErrors.find((item)=>{
// item
if (!item || typeof item !== 'object') {
return false; // nullundefined
}
// item
return item.rowIndex === index && item.field === field;
})
return o !== undefined;
@ -397,7 +429,8 @@ export default {
margin-left: 5px;
}
.unit-select {
width: 100px;
// width: 100px;
flex:1;
}
.content-item {
@ -405,9 +438,9 @@ export default {
align-items: center;
}
.header-container {
.zl-header-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-columns: repeat(2, 1fr);
grid-gap: 20px;
margin-top: 10px;
}
@ -418,6 +451,7 @@ export default {
border-radius: 4px;
display: flex;
align-items: center;
justify-content: flex-start;
// padding: 20px;
}
@ -448,4 +482,15 @@ export default {
margin-right: 5px;
// width: 200px;
}
.sure-button-row{
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
position: relative;
padding: 20px;
}
.absolute{
position: absolute;
}
</style>

+ 9
- 1
src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue View File

@ -1,6 +1,6 @@
<!-- cDNA样品分装 -->
<template>
<StepFormPackage ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'pcrfxyp_cdnsypfz'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
<StepFormPackage @clickButton="onHandleClickButton" ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'pcrfxyp_cdnsypfz'" @resetRecord = "resetRecord" :form-config="formConfig" :formData="formData" />
</template>
<script>
@ -18,6 +18,9 @@ export default {
components: {
StepFormPackage
},
mounted() {
this.handleBackfillCode("lbbh","lbbhCode");
},
computed: {
formConfig() {
return [{
@ -83,6 +86,7 @@ export default {
lbbhCode:{
fillType: "actFill",
type: "input",
disabled: true,
},
text7:{
label: ",进行分装",
@ -92,6 +96,10 @@ export default {
button1:{
type:"button",
buttonName:"分装",
fzType: "step",
maxVolumeField: "sjtj",
maxVolumeUnitField: "sjtjdw",
myCodeFields: ["lbbh", "lbbhCode"],
},
}
}]

+ 25
- 6
src/components/Template/StepComponents/ry/zlfz.vue View File

@ -1,8 +1,9 @@
<!-- 质量分装 -->
<template>
<StepFormPackage
@onDialogSubmit = "onDialogSubmit"
@onRegentSubmit = "onRegentSubmit"
ref="stepFormPackageRef" :prefixKey="stepIndex+'_'+'ry_zlfz'" @resetRecord="resetRecord" :form-config="formConfig"
@onSubPackageSubmit="onSubPackageSubmit"
:formData="formData" />
</template>
@ -28,7 +29,7 @@ export default {
type: "input",
fillType: "preFill",
},
yq: {
gsp: {
type: "gsp",
fillType: "actFill",
},
@ -49,13 +50,31 @@ export default {
}
},
methods: {
onDialogSubmit(data,key){
console.log(data,key,"onDialogSubmit")
if(key === 'yq'){//
this.$refs.stepFormPackageRef.updateZlfzData("zlfz",{mybh:data.selectedId});
onRegentSubmit(data){
console.log(data,"onRegentSubmit")
const {key,selectInfo} = data;
if(key === 'gsp'){//
this.$refs.stepFormPackageRef.updateZlfzData("zlfz",{mybh:selectInfo.selectedId});
// this.formData[key] = data;
}
},
async onSubPackageSubmit(data){
const {key} = data;
if(key === 'zlfz'){
const formData = await this.$refs.stepFormPackageRef.getFormData();
if(formData){
const {zlfz} = formData;
const fzInfo = {
...zlfz.formData,
fzList:zlfz.fzList,
};
this.$refs.stepFormPackageRef.updateFormData("fzInfo",fzInfo);
this.$message.success("质量分装成功");
this.justUpdateFilledFormData();
}
}
}
}
}

+ 12
- 3
src/components/Template/StepFormPackage.vue View File

@ -49,8 +49,9 @@
<span>{{ formFields[key] }}</span>
</template>
<template v-else-if="sItem.type === 'zlfz'">
{{ key }}
<ZLSubPackage @update="(data)=>onSubPackageUpdate(data,key)" :subData = "formFields[key]" :ref="'zlSubPackageRef_'+key" />
<ZLSubPackage
@onSubPackageSubmit="onSubPackageSubmit(key) "
:stepIndex="stepIndex" :prefixKey="prefixKey+'_'+index" @update="(data)=>onSubPackageUpdate(data,key)" :subData = "formFields[key]" :ref="'zlSubPackageRef_'+key" />
</template>
<div v-show="isShowOther(formFields[key])" class="flex flex1">
@ -98,6 +99,10 @@ export default {
prefixKey: {
type: String,
default: ""
},
stepIndex: {
type: Number,
default: 0
}
},
mounted() {
@ -116,6 +121,10 @@ export default {
}
},
methods: {
//
onSubPackageSubmit(key){
this.$emit("onSubPackageSubmit", {key,formData:this.formFields});
},
// ///
onRegentSubmit(data,key,item){
this.updateFormData(key,data.selectedId);
@ -124,7 +133,7 @@ export default {
this.allFieldsConfig[key].sjSelectType = data.selectType;
}
this.formFields[`selectInfo_${key}`] = data.selectInfo;
// this.$emit("onRegentSubmit", {selectInfo:data,key,config:item});
this.$emit("onRegentSubmit", {selectInfo:data,key,config:item});
},
getRegentItem(item,fieldCode="type"){
const type = item[fieldCode] ;

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

@ -122,11 +122,11 @@ export default {
})
EventBus.$emit('showSubPackageDialog', {
mybh: fields.join(''),
fzType: 'step',
...fzInfo,
maxVolume,
maxVolumeUnit,
uuid: this.uuid,
fzType: 'step',
...fzInfo,
})
}
},

+ 22
- 4
src/utils/formPackageCommon.js View File

@ -5,7 +5,7 @@ export const isShowOther = (v = [], col) => {
}
// 确保v是数组类型,以避免类型错误
const arr = Array.isArray(v) ? v : [v]
const otherArr = ['其他', '遮光', 'CA-QC Dilution-', '拒绝', '部分接受',"污染"]
const otherArr = ['其他', '遮光', 'CA-QC Dilution-', '拒绝', '部分接受', "污染"]
return arr.some((item) => otherArr.includes(item))
}
@ -19,7 +19,25 @@ export const isShowOtherByRadioAndOther = (v = '', col) => {
}
//checkboxTree判断是否显示其他输入框
export const isShowOtherByCheckboxTree = (v = "")=>{
const otherArr = ['其他', '样品信息', '样品','部分接受']
return otherArr.includes(v)
export const isShowOtherByCheckboxTree = (v = "") => {
const otherArr = ['其他', '样品信息', '样品', '部分接受', '给药 ',
'样本采集',
'日常观察 ',
'皮肤评分',
'眼刺激评分',
'麻醉 ',
'交配确认',
'PND检测',
'神经行为功能评测',
'血糖测定',
'遥测数据采集',
'呼吸检测',
'血压测定',
'心电检测',
'体温测定',
'毒代 TK',
'药代 PK'
, '细胞因子']
return otherArr.includes(v)
}

+ 6
- 2
src/views/business/archive/gsp/comps/ffjlList.vue View File

@ -54,8 +54,12 @@
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="center" prop="bh"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.md')" align="center" prop="mdMc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.md')" align="center" prop="mdMc">
<template slot-scope="scope">
<span v-if="scope.row.mdOther && scope.row.mdOther != ''&&scope.row.mdMcs && scope.row.mdMcs != ''">{{ scope.row.mdMcs }},{{ scope.row.mdOther }}</span>
<span v-else>{{ scope.row.mdMcs }}{{ scope.row.mdOther }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.zytj')" align="center" prop="ffzytj"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.cksj')" align="center" prop="ffrq" width="150px" />

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

@ -160,7 +160,7 @@ export default {
label: 'template.dl.dl023.zwbh',
type: 'input',
fillType: 'actFill',
bodyMaxlength: 50,
maxlength: 50,
},
uvazsjl: {
label: "template.dl.dl023.uvazsjl",
@ -173,12 +173,14 @@ export default {
maxlength: 20,
},
zszsj: {
span: 1,
span:1,
label: 'template.dl.dl023.zszsj',
type: 'input',
with: 100,
fillType: 'actFill',
bodyMaxlength: 50,
maxlength: 50,
subType: 'text',
subText: '说明:当一批动物或细胞培养板完成照射后紫外照射仪屏幕显示的总照射时间',
},
zskssj: {
label: 'template.dl.dl023.zskssj',

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

@ -4,7 +4,7 @@
<div class="dialog-content">
<div class="header-container">
<div class="header-item">
<div class="header-title">母液编号</div>
<div class="header-title">包装编号</div>
<HandleFormItem :fieldKey="formData.mybh + '_mybh'" :isFieldsRecord="false" :item="inputItem"
:error="formErrors.mybh" v-model="formData.mybh" />
</div>
@ -109,7 +109,7 @@ export default {
unitItem() {
return {
type: "select",
fillType: "actFill",
fillType: "preFill",
options: this.dict.type.business_tjdw
}
}
@ -171,7 +171,6 @@ export default {
} else {
const errMsg = "分装后小份容量之和大于母液容量,是否确认分装?"
const { maxVolume, maxVolumeUnit, dw } = this.formData;
const totalVolume = this.fzList.reduce((acc, cur) => acc + Number(cur.num), 0);
const compareResult = compareVolume(totalVolume, dw, maxVolume, maxVolumeUnit);
console.log(compareResult, totalVolume, dw, maxVolume, maxVolumeUnit, "比较结果");

+ 1
- 1
src/views/business/form/nonTrial/comp/syff/Yd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.study.studyMethod.yuedu')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/resource/gsp/comps/ffjl/Gd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.gd')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<!-- <el-row style="margin:10px 0px;">
<el-col :span="24">

+ 7
- 5
src/views/business/resource/gsp/comps/ffjl/Jd.vue View File

@ -1,9 +1,10 @@
<template>
<div >
<div>
<!-- 解档弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
@ -18,7 +19,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
@ -48,7 +49,8 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" maxlength="20" show-password :placeholder="$t('form.placeholderInput')" />
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent
v-model="form.qmrmm" maxlength="20" show-password :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>

+ 2
- 2
src/views/business/resource/gsp/comps/ffjl/Js.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 3
- 3
src/views/business/resource/gsp/comps/ffjl/Jy.vue View File

@ -4,8 +4,8 @@
<el-dialog :title="$t('page.business.resource.mjy.jieyue')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<el-row>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.jysj') + ':'" prop="startDate">

+ 1
- 1
src/views/business/resource/gsp/comps/ffjl/Sd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<!-- <el-row style="margin:10px 0px;">
<el-col :span="24">

+ 4
- 1
src/views/business/resource/gsp/comps/gsp/Bj.vue View File

@ -3,7 +3,7 @@
<!-- 编辑弹窗 -->
<el-dialog :title="$t('form.edit')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<!-- 名称 -->
<el-col :span="12">
@ -193,6 +193,8 @@ export default {
reset() {
this.form = {
qmyy: this.$t('page.business.resource.gsp.bjgsp'),
qmrmm: null,
bjbz: null
}
this.resetForm("form")
},
@ -209,6 +211,7 @@ export default {
if (valid) {
edit(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Cz.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.cz')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<template>
<el-row>
<el-col :span="24">

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/CzBatch.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.sj.cz')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row style="margin:10px 0px;">
<el-col :span="24">
<el-table :data="selectList" border>

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Ff.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.fafang')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Gh.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.guihuan')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.mc')">

+ 9
- 16
src/views/business/resource/gsp/comps/gsp/Jd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.mjy.jdts')" type="error" :closable="false">
</el-alert>
@ -61,8 +61,8 @@
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<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-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>
</el-row>
@ -76,7 +76,7 @@
</template>
<script>
import { jd, jdBatch } from "@/api/business/mjy/mjy"
import { jd } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
@ -141,18 +141,11 @@ export default {
save() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.isBatch) {
jdBatch(this.form).then(response => {
this.open = false
this.$emit('callback')
})
} else {
jd(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
jd(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}
})
}

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Js.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.unlock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.gsp.mc')" prop="mc">

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Jy.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jieyue')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<!-- <div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.mjy.jdts')" type="error" :closable="false">
</el-alert>

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Sd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 4
- 3
src/views/business/resource/gsp/comps/gsp/Shbj.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.shbj')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.mc')" prop="mc">
@ -58,7 +58,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-form-item :label="$t('form.qmyy')" prop="qmyyMc">
<el-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</el-form-item>
</el-col>
@ -106,7 +106,7 @@ export default {
open: false,
form: {},
rules: {
qmyy: [{
qmyyMc: [{
required: true,
message: ' ',
trigger: 'blur'
@ -175,6 +175,7 @@ export default {
shbj(this.form).then(response => {
this.open = false
this.$modal.closeLoading()
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
}).finally(() => {
this.$modal.closeLoading()

+ 8
- 5
src/views/business/resource/gsp/comps/gsp/Shxgkc.vue View File

@ -1,9 +1,8 @@
<template>
<div>
<!-- 审核修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.gsp.shxgkc')" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-dialog :title="$t('page.business.resource.gsp.shxgkc')" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<!-- <el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.mc')" prop="mcbj">
@ -48,7 +47,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-form-item :label="$t('form.qmyy')" prop="qmyyMc">
<el-input type="text" :value="form.qmyyMc" maxlength="50" disabled />
</el-form-item>
</el-col>
@ -62,8 +61,10 @@
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" show-password maxlength="20" :placeholder="$t('form.placeholderInput')" />
<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>
</el-row>
@ -113,7 +114,7 @@ export default {
message: ' ',
trigger: 'blur'
}],
qmyy: [{
qmyyMc: [{
required: true,
message: ' ',
trigger: 'blur'
@ -174,6 +175,8 @@ export default {
this.open = false
this.$emit('callback')
this.$modal.closeLoading()
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
}).finally(() => {
this.$modal.closeLoading()
})

+ 11
- 10
src/views/business/resource/gsp/comps/gsp/Xgkc.vue View File

@ -4,7 +4,6 @@
<el-dialog :title="$t('page.business.resource.gsp.xgkc')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<el-row>
<el-col :span="18">
<el-form-item :label="$t('page.business.resource.gsp.kcl')" prop="kc">
@ -41,8 +40,8 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input type="textarea" v-model="form.remark" :rows="2" maxlength="500"
<el-form-item :label="$t('form.remark')" prop="kcbjbz">
<el-input type="textarea" v-model="form.kcbjbz" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
@ -58,7 +57,7 @@
</template>
<script>
import { xgkc } from "@/api/business/gsp/gsp"
import { xgkc, info } from "@/api/business/gsp/gsp"
import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelectVue from '@/views/business/comps/select/BusinessSelect';
@ -114,18 +113,19 @@ export default {
qmrmm: null,
kc: '',
kcdw: '',
kcbjbz: '',
}
this.resetForm("form")
},
show(row) {
this.reset()
this.isBatch = false
this.form.ids = []
this.selectList = []
this.form.id = row.id
this.form.kcdw = row.kcdw
this.form.kc = row.kc
this.open = true
info({ id: row.id }).then(response => {
this.form = response.data
this.form.qmyy = this.$t('page.business.resource.gsp.xgkc')
this.open = true
})
},
save() {
this.$refs["form"].validate(valid => {
@ -133,6 +133,7 @@ export default {
xgkc(this.form).then(response => {
this.open = false
this.$emit('callback')
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
})
}
})

+ 0
- 237
src/views/business/resource/gsp/comps/gsp/Xq copy.vue View File

@ -1,237 +0,0 @@
<template>
<!-- 详情 -->
<div v-if="open">
<div class="detail-container">
<div class="detail-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title"></div>
</div>
<div class="right-top">
<el-button @click="cancel()">{{ $t('form.cancel') }}</el-button>
<el-button @click="exportExcel()">{{ $t('form.export') }}</el-button>
</div>
</div>
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ $t('page.business.resource.gyzj.gyzjxq')
}}<img src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div class="content-left">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.jbxx') }}</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.mc') }}</div>
<el-input type="text" :value="form.mc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.bh') }}</div>
<el-input type="text" :value="form.bh" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.nd') }}</div>
<el-input type="text" :value="form.nd" maxlength="50" disabled> <template slot="append">{{
form.nddw }}</template>
</el-input>
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.kcl') }}</div>
<el-input type="text" :value="form.kc" maxlength="50" disabled> <template slot="append">{{
form.kcdw }}</template> </el-input>
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.sxrq') }}</div>
<el-input type="text" :value="form.sxrq" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.cctj') }}</div>
<el-input type="text" :value="form.cctj" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.ccwz') }}</div>
<el-input type="text" :value="form.ccwz" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.zjzt') }}</div>
<el-select v-model="form.zjzt" disabled style="width: 100%;">
<el-option key="1" :label="$t('page.business.resource.resource.zjzt.rk')" :value="1" />
<el-option key="2" :label="$t('page.business.resource.resource.zjzt.wrk')" :value="2" />
<el-option key="3" :label="$t('page.business.resource.resource.zjzt.yff')" :value="3" />
<el-option key="5" :label="$t('page.business.resource.resource.zjzt.ysd')" :value="5" />
<el-option key="7" :label="$t('page.business.resource.resource.zjzt.dgd')" :value="7" />
<el-option key="9" :label="$t('page.business.resource.resource.zjzt.gd')" :value="9" />
<el-option key="11" :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.bdxx') }} </div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.sssy') }}</div>
<el-input type="text" :value="form.studyMc" maxlength="50" disabled />
</div>
<div class="right">
<div class="right-title">{{ $t('page.business.resource.gyzj.ssbd') }}</div>
<el-input type="text" :value="form.bdMc" maxlength="50" disabled />
</div>
</div>
<div class="pal">
<div class="left">
<div class="left-title">{{ $t('page.business.resource.gyzj.bdssr') }}</div>
<el-input type="text" :value="form.bdgsrMc" maxlength="50" disabled />
</div>
</div>
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.tz') }}</div>
</div>
<div class="pal">
<el-table :data="tzList" v-loading="loadingTz">
<el-table-column :label="$t('page.business.resource.gyzj.syr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.qmrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.lqghr')" align="center"
:show-overflow-tooltip="true" width="200px">
<template slot-scope="scope">
{{ scope.row.lqrMc }}{{ scope.row.ghrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.ffjsr')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.ffrMc }}{{ scope.row.jsrMc }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.czlx')" align="center"
:prop="$i18n.locale === 'zh_CN' ? 'qmyy' : 'qmyyEn'" width="100" />
<el-table-column :label="$t('page.business.resource.gyzj.bdmc')" align="center"
prop="bdMc" width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('page.business.resource.gyzj.czl')" align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.czl }}{{ scope.row.czldw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gyzj.bzyy')" align="center" prop="remark"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gyzj.ccsj')" align="center" prop="createTime"
width="150px" />
</el-table>
</div>
<div class="pal">
<pagination v-show="totalTz > 0" :total="totalTz" :page.sync="queryParamstZ.pageNum"
:limit.sync="queryParamstZ.pageSize" @pagination="getTzList" />
</div>
</div>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.resource.gyzj.jcgj') }}</div>
</div>
<jcgjList ref="jcgjList" @handleQuery="getJjcgjList" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
</div>
</div>
</template>
<script>
import { info, tzList, jcgjList,exportDetail } from "@/api/business/gyzj/gyzj"
import JcgjList from "@/views/business/comps/common/JcgjList";
export default {
name: "Xq",
components: { JcgjList },
data() {
return {
form: {},
appTitle: process.env.VUE_APP_TITLE,
tzList: [],
totalTz: 0,
loadingTz: true,
open: false,
queryParamstZ: {
gyzjId: null,
pageNum: 1,
pageSize: 10
},
jcgjTotal: 0,
jcgjList: [],
queryJcgjParams: {
pageNum: 1,
gyzjId: null,
pageSize: 10,
}
}
},
created() {
},
methods: {
exportExcel() {
this.$modal.loading()
exportDetail({ id: this.form.id,lang:this.$store.getters.language.split("_")[0],version:this.appTitle }).then(response => {
window.open(process.env.VUE_APP_FILE_DOMAIN +response.msg)
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
},
getJjcgjList(val) {
this.$modal.loading()
jcgjList(_.merge({}, this.queryJcgjParams, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
},
cancel() {
this.open = false
this.$emit('callback')
},
getTzList() {
this.loadingTz = true
tzList(this.queryParamstZ).then(response => {
this.tzList = response.rows
this.totalTz = response.total
this.loadingTz = false
this.getJjcgjList()
})
},
show(row) {
this.$modal.loading()
this.queryParamstZ.gyzjId = row.id
this.queryJcgjParams.gyzjId = row.id
this.$modal.loading()
info({ id: row.id }).then(response => {
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()
})
}
}
}
</script>

+ 1
- 1
src/views/business/resource/gsp/comps/gsp/Xz.vue View File

@ -3,7 +3,7 @@
<!-- 新增弹窗 -->
<el-dialog :title="$t('form.add')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<!-- 名称 -->
<el-col :span="12">

+ 14
- 8
src/views/business/resource/gsp/comps/gspList.vue View File

@ -40,8 +40,8 @@
<el-option :label="$t('page.business.resource.resource.zjzt.djd')" :value="11" />
</el-select>
</el-form-item>
<!-- 效日期 -->
<el-form-item :label="$t('page.business.resource.gsp.yxq') + ':'">
<!-- 效日期 -->
<el-form-item :label="$t('page.business.resource.gsp.yxq') + ':'" prop="daterange">
<el-date-picker v-model="daterange" class="chat-histogram-daterange" type="daterange" range-separator="-"
:start-placeholder="$t('form.startDate')" :end-placeholder="$t('form.endDate')" value-format="yyyy-MM-dd"
@change="handleQuery" style="width: 250px;" />
@ -95,11 +95,12 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange" @sort-change="handleSortChange"
:default-sort = "{prop: 'id', order: 'descending'}">
<el-table-column type="selection" fixed="left" width="55" align="center" :selectable="checkSelectable" />
<el-table-column :label="$t('page.business.resource.gsp.mc')" align="left" prop="mc"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="center" prop="bh"
<el-table-column :label="$t('page.business.resource.gsp.bh')" align="center" prop="bh" sortable="custom"
:show-overflow-tooltip="true" />
<el-table-column :label="$t('page.business.resource.gsp.gg')" align="center">
<template slot-scope="scope">
@ -111,9 +112,9 @@
{{ scope.row.kc }}{{ scope.row.kcdw }}
</template>
</el-table-column>
<el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.yxq')" align="center" prop="yxq" width="150px" />
<el-table-column :label="$t('page.business.resource.gsp.ph')" align="center" prop="ph" width="150px" sortable="custom" />
<el-table-column :label="$t('page.business.resource.gsp.jsrq')" align="center" prop="jsrq" width="150px" sortable="custom" />
<el-table-column :label="$t('page.business.resource.gsp.yxq')" align="center" prop="yxq" width="150px" sortable="custom" />
<el-table-column :label="$t('page.business.resource.gsp.cctj')" align="center" prop="cctj" width="130px" />
<el-table-column :label="$t('page.business.resource.gsp.zjzt')" align="center" width="100px" fixed="right">
@ -290,6 +291,11 @@ export default {
]),
},
methods: {
handleSortChange(sort) {
this.queryParams.sortProp = sort.prop
this.queryParams.order = sort.order
this.getList()
},
//
handleGxwzk() {
this.saveSimpleLog({jcmc:'更新物资库',jcmcEn:'Refresh'})
@ -527,7 +533,7 @@ export default {
},
//
resetQuery() {
this.dateRange = []
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
},

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

@ -32,7 +32,7 @@
<!-- 入库时间 -->
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.gsp.rksj')" prop="rksj">
<el-date-picker v-model="form.rksj" type="datetime" format="yyyy-MM-dd HH:mm"
<el-date-picker v-model="form.rksj" type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
@ -53,8 +53,8 @@
<!-- 有效期 -->
<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 v-model="form.yxq" type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('form.placeholderInput')">
</el-date-picker>
</el-form-item>
</el-col>

+ 1
- 1
src/views/business/resource/gsp/comps/rkjl/Gd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.gsp.gd')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<!-- <el-row style="margin:10px 0px;">
<el-col :span="24">

+ 2
- 2
src/views/business/resource/gsp/comps/rkjl/Jd.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 2
- 2
src/views/business/resource/gsp/comps/rkjl/Js.vue View File

@ -5,7 +5,7 @@
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
<el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">
<el-input type="text" v-model="form.mc" maxlength="50" disabled
@ -20,7 +20,7 @@
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/resource/gsp/comps/rkjl/Jy.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jieyue')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">

+ 4
- 12
src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue View File

@ -62,7 +62,6 @@
</template>
<script>
import { js } from "@/api/business/gsp/gspRkjl"
import { mapGetters } from 'vuex'
import { getToken } from "@/utils/auth"
export default {
@ -120,7 +119,7 @@ export default {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true })
this.getList()
this.$emit('callback')
},
//
submitFileForm() {
@ -132,6 +131,8 @@ export default {
this.$refs.upload.submit()
},
cancel() {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.open = false
},
reset() {
@ -145,16 +146,7 @@ export default {
this.reset()
this.open = true
},
save() {
this.$refs["form"].validate(valid => {
if (valid) {
js(this.form).then(response => {
this.open = false
this.$emit('callback')
})
}
})
}
}
}
</script>

+ 1
- 1
src/views/business/resource/gsp/comps/rkjl/Sd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<!-- <el-row style="margin:10px 0px;">
<el-col :span="24">

+ 1
- 1
src/views/business/resource/gsp/comps/rkjl/Xq.vue View File

@ -154,7 +154,7 @@ export default {
},
show(row) {
this.$modal.loading()
this.queryJcgjParams.ffjlId = row.id
this.queryJcgjParams.gspRkjlId = row.id
info({ id: row.id }).then(response => {
this.form = response.data
this.open = true

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

@ -3,7 +3,7 @@
<!-- 新增弹窗 -->
<el-dialog :title="$t('form.add')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<!-- 名称 -->
<el-col :span="12">

+ 1
- 0
src/views/business/resource/gsp/comps/rkjlList.vue View File

@ -440,6 +440,7 @@ export default {
},
//
resetQuery() {
this.daterange = []
this.resetForm("queryForm")
this.handleQuery()
},

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Gd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.guidang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Jd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Jq.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jiaqian')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Js.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.unlock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Jy.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jieyue')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.resource.mjy.jysj') + ':'" prop="startDate">

+ 1
- 1
src/views/business/resource/mjy/comps/ffjl/Sd.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.lock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

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

@ -3,7 +3,7 @@
<!-- 编辑弹窗 -->
<el-dialog :title="$t('form.edit')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.cunchu')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')">

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

@ -4,7 +4,7 @@
<el-dialog :title="isBatch ? $t('page.business.resource.mjy.plczrqt') : $t('page.business.resource.mjy.czrqt')"
:visible.sync="open" width="1200px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" v-if="open" :label-width="$i18n.locale === 'zh_CN'?'120px':'170px'">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

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

@ -4,7 +4,7 @@
<el-dialog :title="isBatch ? $t('page.business.resource.mjy.plczyjt') : $t('page.business.resource.mjy.czyjt')"
:visible.sync="open" width="1200px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" v-if="open" :label-width="$i18n.locale === 'zh_CN'?'120px':'170px'">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.guidang')" :visible.sync="open" width="700px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'120px':'170px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row style="margin:10px 0px;">
<el-col :span="24">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jiedang')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.mjy.jdts')" type="error" :closable="false">
</el-alert>

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.unlock')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.jieyue')" :visible.sync="open" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-alert :title="$t('page.business.resource.mjy.jdts')" type="error" :closable="false">
</el-alert>

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.quchu')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.ruku')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.lock')" :visible.sync="open" width="700px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'120px':'170px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div :style="isBatch ? 'display:block' : 'display:none'">
<el-row>
<el-col :span="24">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.shbj')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mc">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.shxgkc')" :visible.sync="open" width="800px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mcbj">

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

@ -3,7 +3,7 @@
<!-- 修改库存弹窗 -->
<el-dialog :title="$t('page.business.resource.mjy.xgkc')" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.mjy.mc')" prop="mcbj">

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

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.mjy.ysff')" :visible.sync="open" width="1200px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'140px':'170px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<div>
<el-row style="margin:10px 0px;">
<el-col :span="24">

+ 2
- 1
src/views/business/resource/sj/comps/Cz.vue View File

@ -86,7 +86,7 @@ import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "MjyBj",
name: "SjCz",
components: { SelectList, BusinessSelect },
data() {
return {
@ -151,6 +151,7 @@ export default {
if (valid) {
sj_cz(this.form).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
})
}

+ 2
- 1
src/views/business/resource/sj/comps/CzBatch.vue View File

@ -77,7 +77,7 @@ import { mapGetters } from 'vuex'
import SelectList from "./SelectList";
import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
export default {
name: "CzBatch",
name: "SjCzBatch",
components: { SelectList, BusinessSelect },
data() {
return {
@ -171,6 +171,7 @@ export default {
this.$modal.loading()
sj_plcz(params).then(response => {
this.open = false
this.$modal.msgSuccess(this.$t('form.operationSuccess'))
this.$emit('callback')
this.$modal.closeLoading()
}).finally(() => {

+ 1
- 1
src/views/business/resource/sj/list.vue View File

@ -195,7 +195,7 @@
<!-- 处置 -->
<Cz ref="Cz" @callback="handleQuery" />
<!-- 批量处置 -->
<CzBatch ref="CzBatch" />
<CzBatch ref="CzBatch" @callback="handleQuery" />
</div>
</div>
</template>

+ 1
- 1
src/views/business/resource/zcg/comps/Ysff.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.zcg.ysff')" :visible.sync="open" width="1000px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'170px':'200px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('page.business.resource.zcg.zcg')" prop="mc">

+ 1
- 1
src/views/business/resource/zcg/comps/Ysgh.vue View File

@ -4,7 +4,7 @@
<el-dialog :title="$t('page.business.resource.zcg.ysgh')" :visible.sync="open" width="1000px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="$i18n.locale === 'zh_CN'?'170px':'200px'" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password> </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<template v-if="isBatch">
<el-alert :title="$t('page.business.resource.zcg.ysghts')" type="error" :closable="false">
</el-alert>

+ 158
- 0
src/views/business/storageLocation/comps/StorageLocationImport.vue View File

@ -0,0 +1,158 @@
<template>
<div>
<!-- 存储位置导入 -->
<el-dialog :title="$t('page.business.resource.gsp.dr')" :visible.sync="open" width="600px" append-to-body
:close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="24">
<el-upload ref="upload" :data="form" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">{{ $t('page.business.resource.gsp.tzsc') }}<em>{{
$t('page.business.resource.gsp.djsc') }}</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>{{ $t('page.business.resource.gsp.wjgs') }}</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">{{ $t('page.business.resource.gsp.xzmb') }}</el-link>
</div>
</el-upload>
</el-col>
</el-row>
<el-row style="margin-top: 30px;">
<el-col :span="12">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signerPsw')" prop="qmrmm">
<div class="sbzdtcma"> <input type="text"></div>
<el-input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent v-model="form.qmrmm" show-password maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="qmbz">
<el-input type="textarea" v-model="form.qmbz" :rows="2" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">{{ $t('form.confirm') }}</el-button>
<el-button @click="cancel">{{ $t('form.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getToken } from "@/utils/auth"
export default {
name: "StorageLocationImport",
data() {
return {
open: false,
form: {
qmrmm: null,
qmbz: null
},
rules: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}]
},
upload: {
//
open: false,
//
title: "",
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/business/storageLocation/importData"
},
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
//
importTemplate() {
this.download('/system/business/storageLocation/importTemplate', {
}, `【模板】存储位置.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true
},
//
handleFileSuccess(response, file, fileList) {
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true })
this.$emit('callback')
},
//
submitFileForm() {
const file = this.$refs.upload.uploadFiles
if (!file || file.length === 0 || !file[0].name.toLowerCase().endsWith('.xls') && !file[0].name.toLowerCase().endsWith('.xlsx')) {
this.$modal.msgError("请选择后缀为 “xls”或“xlsx”的文件。")
return
}
this.$refs.upload.submit()
},
cancel() {
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.open = false
},
reset() {
this.form = {
qmyy: this.$t('page.system.storageLocation.addStroageLocation'),
qmrmm: null
}
this.resetForm("form")
},
show() {
this.reset()
this.open = true
},
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-upload-dragger {
width: 560px;
}
</style>

+ 13
- 3
src/views/business/storageLocation/list.vue View File

@ -30,6 +30,11 @@
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['business:storageLocation:add']">{{
$t('page.system.storageLocation.add') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 导入 -->
<el-button type="primary" @click="handleImport" v-hasPermi="['business:storageLocation:import']">{{
$t('page.business.resource.gsp.dr') }}</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="list">
@ -59,8 +64,9 @@
<StorageLocationDetail ref="storageLocationDetail" />
<Bj ref="Bj" @callback="handleQuery"/>
<Xz ref="Xz" @callback="handleQuery"/>
<Bj ref="Bj" @callback="handleQuery" />
<Xz ref="Xz" @callback="handleQuery" />
<StorageLocationImport ref="StorageLocationImport" @callback="handleQuery"/>
</div>
</template>
@ -73,9 +79,10 @@ import { mapGetters } from 'vuex'
import StorageLocationDetail from './comps/detail'
import Bj from "./comps/Bj";
import Xz from "./comps/Xz";
import StorageLocationImport from "./comps/StorageLocationImport"
export default {
name: 'StorageLocation',
components: { BusinessSelect, SelectDept, StorageLocationDetail, Bj, Xz },
components: { BusinessSelect, SelectDept, StorageLocationDetail, Bj, Xz, StorageLocationImport },
data() {
return {
@ -109,6 +116,9 @@ export default {
this.getList()
},
methods: {
handleImport() {
this.$refs.StorageLocationImport.show()
},
/** 查询列表 */
getList() {
this.loading = true

+ 1
- 1
src/views/business/study/comp/jhbd/Fh.vue View File

@ -57,7 +57,7 @@
<el-dialog :title="$t(openTitle)" :visible.sync="openApprove" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="formApprove" :model="formApprove" :rules="rulesApprove" label-width="120px" v-if="openApprove">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password > </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/study/comp/jhbd/Ghgsr.vue View File

@ -3,7 +3,7 @@
<el-dialog :title="$t('page.business.study.studyFormPlan.rybg')" :visible.sync="open" width="500px"
append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" v-if="open">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password > </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/study/comp/jhbd/Sy.vue View File

@ -53,7 +53,7 @@
<el-dialog :title="$t('page.business.study.studyFormPlan.shenyue')" :visible.sync="openApprove" width="500px"
append-to-body :close-on-click-modal="false">
<el-form ref="formApprove" :model="formApprove" :rules="rulesApprove" label-width="120px" v-if="openApprove">
<div class="sbzdtcma"> <input type="text"> <input type="password" @contextmenu.native.prevent @copy.native.prevent @cut.native.prevent show-password > </div>
<div class="sbzdtcma"> <input type="text"> <input type="password" > </div>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">

+ 1
- 1
src/views/business/study/comp/syff/Xz.vue View File

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