This commit is contained in:
2021-05-26 09:48:18 +08:00
parent 76839bc258
commit 5c89ca9e7d
2 changed files with 159 additions and 41 deletions

View File

@@ -11,6 +11,9 @@
<a-radio value="1" :disabled="disableEdit">法人电子印章</a-radio> <a-radio value="1" :disabled="disableEdit">法人电子印章</a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
<a-form-item label="未申请证书" v-if="formModel.sealType == '0'">
<a-switch checked-children="" v-model:checked="formModel.noCert" />
</a-form-item>
<a-form-item <a-form-item
:label="formModel.sealType == '1' ? '统一信用代码' : '身份证号码'" :label="formModel.sealType == '1' ? '统一信用代码' : '身份证号码'"
> >
@@ -23,18 +26,32 @@
<a-input v-model:value="formModel.sealName" :disabled="disableEdit" /> <a-input v-model:value="formModel.sealName" :disabled="disableEdit" />
</a-form-item> </a-form-item>
<a-form-item label="印章申领表"> <a-form-item label="印章申领表">
<div>
<div style="display: inline-block">
<Upload <Upload
v-model:fileId="formModel.sealImageId" v-model:fileId="formModel.sealImageId"
name="印章申领表" name="印章申领表"
:disabled="disableEdit" :disabled="disableEdit"
:fileUrl="filePath" :fileUrl="filePath"
/> />
</div>
<div style="display: inline-block; vertical-align: top">
<a-button type="link"
><a
:href="
formModel.sealType == '0'
? 'http://183.136.157.18:7308/stgl/sources/202102/附件4个人电子印章启用申请表.docx'
: 'http://183.136.157.18:7308/stgl/sources/202102/附件1法人电子印章启用申请表.docx'
"
target="_blank"
><DownloadOutlined />模板下载</a
></a-button
>
</div>
</div>
</a-form-item> </a-form-item>
<a-form-item :wrapper-col="{ span: 12, offset: 10 }"> <a-form-item :wrapper-col="{ span: 12, offset: 10 }">
<a-button v-if="progressingId" type="primary" @click="onSubmit" <a-button type="primary" @click="createSealApply">提交</a-button>
>查询</a-button
>
<a-button v-else type="primary" @click="onSubmit">提交</a-button>
<a-button style="margin-left: 10px" @click="toggleDrawer" <a-button style="margin-left: 10px" @click="toggleDrawer"
>历史提交记录</a-button >历史提交记录</a-button
> >
@@ -58,7 +75,7 @@
<template #title> <template #title>
{{ sealApply.sealName {{ sealApply.sealName
}}<a-tag }}<a-tag
style="margin-left:4px;" style="margin-left: 4px"
:color="status[sealApply.status].color" :color="status[sealApply.status].color"
>{{ status[sealApply.status].text }}</a-tag >{{ status[sealApply.status].text }}</a-tag
> >
@@ -69,10 +86,11 @@
{{ sealApply.idCardNumOrTydm }} {{ sealApply.idCardNumOrTydm }}
</p> </p>
<p>发起时间: {{ sealApply.createTime }}</p> <p>发起时间: {{ sealApply.createTime }}</p>
<p v-if="sealApply.dealReason"> <p v-if="sealApply.dealReason">不通过原因:{{ sealApply.rejectMsg }}</p>
不通过原因:{{ sealApply.rejectMsg }} <a-button type="primary" @click="onSubmit(sealApply.id)">
</p></a-card 进度查询
> </a-button>
</a-card>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
@@ -96,7 +114,8 @@ export default {
sealType: "", sealType: "",
sealName: "", sealName: "",
idCardNumOrTydm: "", idCardNumOrTydm: "",
sealImageId: 0 sealImageId: 0,
noCert: false
}); });
var sealApplyList = ref([]); var sealApplyList = ref([]);
var progressingId = ref(0); var progressingId = ref(0);
@@ -107,17 +126,17 @@ export default {
var resp = await get("/api2/ca/sealApplyList"); var resp = await get("/api2/ca/sealApplyList");
if (resp.data) { if (resp.data) {
sealApplyList.value = resp.data; sealApplyList.value = resp.data;
var currentApply = sealApplyList.value.find( // var currentApply = sealApplyList.value.find(
p => p.status == 0 || p.status == 1 // p => p.status == 0 || p.status == 1
); // );
progressingId.value = currentApply?.id || 0; // progressingId.value = currentApply?.id || 0;
disableEdit.value = progressingId.value !== 0; // disableEdit.value = progressingId.value !== 0;
if (currentApply) { // if (currentApply) {
formModel.sealType = currentApply.sealType; // formModel.sealType = currentApply.sealType;
formModel.sealName = currentApply.sealName; // formModel.sealName = currentApply.sealName;
formModel.idCardNumOrTydm = currentApply.idCardNumOrTydm; // formModel.idCardNumOrTydm = currentApply.idCardNumOrTydm;
filePath.value = currentApply.sealApplyFilePath; // filePath.value = currentApply.sealApplyFilePath;
} // }
} }
}); });
async function createSealApply() { async function createSealApply() {
@@ -139,23 +158,20 @@ export default {
async function querySealApply(id) { async function querySealApply(id) {
var resp = await get("/api2/ca/querySealApply", { id }); var resp = await get("/api2/ca/querySealApply", { id });
if (resp.errorCode == 0) { if (resp.errorCode == 0) {
message.success("申请成功", useReload); message.success(
"当前状态:" + ["待审核", "已通过", "已拒绝"][resp.data],
useReload
);
} else { } else {
message.error(resp.errorMsg); message.error(resp.errorMsg);
} }
} }
async function onSubmit() { async function onSubmit(id) {
if (progressingId.value) { var sealApply = sealApplyList.value.find(p => p.id == id);
var sealApply = sealApplyList.value.find(
p => p.id == progressingId.value
);
if (sealApply.status == 0) { if (sealApply.status == 0) {
await sendSealApply(progressingId.value); await sendSealApply(id);
} else { } else {
await querySealApply(progressingId.value); await querySealApply(id);
}
} else {
await createSealApply();
} }
} }
const toggleDrawer = () => { const toggleDrawer = () => {
@@ -170,6 +186,9 @@ export default {
filePath, filePath,
showDrawer, showDrawer,
toggleDrawer, toggleDrawer,
querySealApply,
sendSealApply,
createSealApply,
status: { status: {
0: { 0: {
color: "orange", color: "orange",

View File

@@ -17,6 +17,13 @@
</template> </template>
</a-result> </a-result>
<a-spin v-else :spinning="spining"> <a-spin v-else :spinning="spining">
<div>
<p>
请将书面申请材料邮寄至 浙江省 杭州市 西湖区 莫干山路18号 蓝天商务中心
9 张涛 15868462840
</p>
<p>快递费用由申请单位自理</p>
</div>
<a-form :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }"> <a-form :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }">
<a-row> <a-row>
<a-col :span="11"> <a-col :span="11">
@@ -179,6 +186,52 @@
</a-button> </a-button>
</a-upload> </a-upload>
</a-form-item> </a-form-item>
<a-form-item
label="电子印章申请"
v-bind="formItemLayoutWithOutLabel"
>
<a-button type="dashed" style="width: 100%" @click="addSealApply">
<PlusOutlined />
添加电子印章
</a-button>
</a-form-item>
<template
v-for="(sealApply, index) in modelRef.sealApplyList"
:key="index"
>
<a-form-item :wrapper-col="{ span: 15, offset: 9 }">
<a-input
v-model:value="modelRef.sealApplyList[index].sealName"
:disabled="disabledFeild"
placeholder="印章名称"
/>
</a-form-item>
<a-form-item :wrapper-col="{ span: 15, offset: 9 }">
<input
v-model="modelRef.sealApplyList[index].sealApplyFileId"
hidden
/>
<a-upload
accept="image/*"
action="/api2/upload/uploadfile"
:beforeUpload="beforeUpload"
list-type="picture"
@change="
info => handleChange2(info, modelRef.sealApplyList[index])
"
:disabled="disabledUpload"
>
<a-button block :disabled="disabledUpload">
<UploadOutlined />
点击{{
modelRef.sealApplyList[index].sealApplyFileId
? "替换"
: "上传"
}}
</a-button>
</a-upload>
</a-form-item>
</template>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="2">
<a-form-item> <a-form-item>
@@ -302,12 +355,14 @@ export default {
loaPicId: null, loaPicId: null,
idCardFrontPicId: null, idCardFrontPicId: null,
idCardBackPicId: null, idCardBackPicId: null,
businessLicensePicId: null businessLicensePicId: null,
sealApplyList: []
}); });
const loaPicFileList = ref([]); const loaPicFileList = ref([]);
const idCardFrontPicFileList = ref([]); const idCardFrontPicFileList = ref([]);
const idCardBackPicFileList = ref([]); const idCardBackPicFileList = ref([]);
const businessLicenseFileList = ref([]); const businessLicenseFileList = ref([]);
const sealApplyFileList = ref([]);
const rulesRef = reactive({ const rulesRef = reactive({
operatorId: [ operatorId: [
{ required: true, message: "请输入18位身份证号码", trigger: "blur" }, { required: true, message: "请输入18位身份证号码", trigger: "blur" },
@@ -390,6 +445,14 @@ export default {
type: "number" type: "number"
} }
], ],
sealApplyPicId: [
{
required: true,
message: "请上电子印章申请表",
trigger: "change",
type: "number"
}
],
phoneCode: [ phoneCode: [
{ required: true, message: "请输入短信验证码", trigger: "change" } { required: true, message: "请输入短信验证码", trigger: "change" }
] ]
@@ -443,7 +506,8 @@ export default {
"loaPicId", "loaPicId",
"idCardFrontPicId", "idCardFrontPicId",
"idCardBackPicId", "idCardBackPicId",
"businessLicensePicId" "businessLicensePicId",
"sealApplyPicId"
]); ]);
const resp = await post("/api2/CA/modifyUnitApply", toRaw(modelRef)); const resp = await post("/api2/CA/modifyUnitApply", toRaw(modelRef));
if (resp.errorCode != 0) { if (resp.errorCode != 0) {
@@ -490,6 +554,24 @@ export default {
} }
return isValid && isLt2M; return isValid && isLt2M;
}; };
const handleChange2 = (info, v) => {
console.log(info.file.status, info.file, info.fileList);
// if (info.file.status !== "uploading") {
// }
if (info.file.status === "done") {
message.success(`${info.file.name} 文件上传成功`);
v.sealApplyFileId = info.file.response.id;
if (info.fileList.length > 1) {
info.fileList.shift();
}
} else if (info.file.status === "error") {
message.error(`${info.file.name} 文件上传失败`);
info.fileList.pop();
}
if (info.file.status === "removed") {
v.sealApplyFileId = null;
}
};
const handleChange = (info, name) => { const handleChange = (info, name) => {
console.log(info.file.status, info.file, info.fileList); console.log(info.file.status, info.file, info.fileList);
// if (info.file.status !== "uploading") { // if (info.file.status !== "uploading") {
@@ -596,6 +678,13 @@ export default {
url: unitApply.businessLicensePicPath url: unitApply.businessLicensePicPath
} }
]; ];
sealApplyFileList.value = [
{
uid: "-1",
status: "done",
url: unitApply.sealApplyPicPath
}
];
}; };
const modifyOrder = unitApply => { const modifyOrder = unitApply => {
initPage(unitApply); initPage(unitApply);
@@ -644,12 +733,20 @@ export default {
const toggleDrawer = () => { const toggleDrawer = () => {
showDrawer.value = !showDrawer.value; showDrawer.value = !showDrawer.value;
}; };
const addSealApply = () => {
modelRef.sealApplyList.push({
sealName: "",
sealApplyFileId: 0
});
};
return { return {
modelRef, modelRef,
loaPicFileList, loaPicFileList,
idCardFrontPicFileList, idCardFrontPicFileList,
idCardBackPicFileList, idCardBackPicFileList,
businessLicenseFileList, businessLicenseFileList,
sealApplyFileList,
rulesRef, rulesRef,
validate, validate,
validateInfos, validateInfos,
@@ -658,6 +755,7 @@ export default {
resetFields, resetFields,
beforeUpload, beforeUpload,
handleChange, handleChange,
handleChange2,
areaOptions, areaOptions,
loadAreaOptions, loadAreaOptions,
spining, spining,
@@ -675,6 +773,7 @@ export default {
modifyOrder, modifyOrder,
router: useRouter(), router: useRouter(),
progressingId, progressingId,
addSealApply,
status: { status: {
0: { 0: {
color: "orange", color: "orange",