|
|
|
|
@ -209,6 +209,7 @@
|
|
|
|
|
v-model="personNoValue"
|
|
|
|
|
placeholder="请输入ID卡"
|
|
|
|
|
class="info-input"
|
|
|
|
|
:disabled="visitData.audit_status == 4"
|
|
|
|
|
/>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -253,6 +254,7 @@
|
|
|
|
|
v-model="person.follw_people_person_no"
|
|
|
|
|
placeholder="请输入ID卡"
|
|
|
|
|
class="info-input"
|
|
|
|
|
:disabled="visitData.audit_status == 4"
|
|
|
|
|
/>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -272,6 +274,7 @@
|
|
|
|
|
v-model="remarkValue"
|
|
|
|
|
placeholder="请输入备注信息"
|
|
|
|
|
class="info-textarea"
|
|
|
|
|
:disabled="visitData.audit_status == 4"
|
|
|
|
|
></textarea>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
@ -297,14 +300,17 @@
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
@click="previewImage(image.url)"
|
|
|
|
|
></image>
|
|
|
|
|
<view class="photo-delete" @click="removeImage(index)"
|
|
|
|
|
<view
|
|
|
|
|
v-if="visitData.audit_status != 4"
|
|
|
|
|
class="photo-delete"
|
|
|
|
|
@click="removeImage(index)"
|
|
|
|
|
>×</view
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<!-- 添加照片按钮(最多9张) -->
|
|
|
|
|
<view
|
|
|
|
|
v-if="vehicleImages.length < 9"
|
|
|
|
|
v-if="vehicleImages.length < 9 && visitData.audit_status != 4"
|
|
|
|
|
class="photo-item add-photo-btn"
|
|
|
|
|
@click="showPhotoOptions"
|
|
|
|
|
>
|
|
|
|
|
@ -340,6 +346,7 @@
|
|
|
|
|
关闭
|
|
|
|
|
</button>
|
|
|
|
|
<button
|
|
|
|
|
v-if="visitData.audit_status != 4"
|
|
|
|
|
@click="updateVisitInfo"
|
|
|
|
|
class="btn btn-primary"
|
|
|
|
|
:disabled="updating"
|
|
|
|
|
@ -682,7 +689,8 @@ export default {
|
|
|
|
|
|
|
|
|
|
if (res && res.data && res.data.length > 0) {
|
|
|
|
|
const visitor = res.data[0];
|
|
|
|
|
if (visitor.audit_status == 1 || visitor.audit_status == 3) {
|
|
|
|
|
// 允许状态为1(待进厂)、3(已进厂)、4(已离厂)时显示弹窗
|
|
|
|
|
if (visitor.audit_status == 1 || visitor.audit_status == 3 || visitor.audit_status == 4) {
|
|
|
|
|
// 设置访客数据,包含新增的拜访信息字段:
|
|
|
|
|
// type, start_date, end_date, visit_time_detail, visit_area_detail,
|
|
|
|
|
// reason, cars, plate, credent, idcard, company_name, cda,
|
|
|
|
|
@ -957,6 +965,10 @@ export default {
|
|
|
|
|
|
|
|
|
|
// 验证必填字段 - 由于去除action,暂无必填验证
|
|
|
|
|
|
|
|
|
|
// 判断是入场还是离厂
|
|
|
|
|
const isEntering = this.visitData.audit_status == 1; // 通过(待进厂) - 入场
|
|
|
|
|
const isLeaving = this.visitData.audit_status == 3; // 已进厂 - 离厂
|
|
|
|
|
|
|
|
|
|
// 内部方法:执行更新
|
|
|
|
|
const performUpdate = async (alsoCancel) => {
|
|
|
|
|
this.updating = true;
|
|
|
|
|
@ -978,8 +990,22 @@ export default {
|
|
|
|
|
|
|
|
|
|
await this.$u.api.visitUpdate(updateParams);
|
|
|
|
|
|
|
|
|
|
// 根据操作类型和状态显示不同的成功提示
|
|
|
|
|
let successMessage = "更新成功";
|
|
|
|
|
if (alsoCancel) {
|
|
|
|
|
// 提交并核销时,根据状态显示
|
|
|
|
|
if (isEntering) {
|
|
|
|
|
successMessage = "入厂成功";
|
|
|
|
|
} else if (isLeaving) {
|
|
|
|
|
successMessage = "已离厂";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 仅提交照片时,显示提交成功
|
|
|
|
|
successMessage = "提交成功";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: "更新成功",
|
|
|
|
|
title: successMessage,
|
|
|
|
|
icon: "success",
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
@ -1004,11 +1030,23 @@ export default {
|
|
|
|
|
// 所有类型都弹出确认弹窗
|
|
|
|
|
const isVehicleType = this.visitData.type == 3; // 需要提交照片的类型
|
|
|
|
|
|
|
|
|
|
// 根据状态设置弹窗提示文案和确认按钮文案
|
|
|
|
|
let modalContent = "是否立即核销?";
|
|
|
|
|
let confirmText = "提交并核销";
|
|
|
|
|
|
|
|
|
|
if (isEntering) {
|
|
|
|
|
modalContent = "是否确认入厂?";
|
|
|
|
|
confirmText = "确认入厂";
|
|
|
|
|
} else if (isLeaving) {
|
|
|
|
|
modalContent = "是否确认离厂?";
|
|
|
|
|
confirmText = "确认离厂";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: "提示",
|
|
|
|
|
content: "是否立即核销?",
|
|
|
|
|
content: modalContent,
|
|
|
|
|
cancelText: isVehicleType ? "仅提交照片" : "取消",
|
|
|
|
|
confirmText: "提交并核销",
|
|
|
|
|
confirmText: confirmText,
|
|
|
|
|
success: async (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
// 提交并核销(所有类型通用)
|
|
|
|
|
@ -1017,7 +1055,7 @@ export default {
|
|
|
|
|
// 仅提交照片(状态不变,仅对需要提交照片的类型生效)
|
|
|
|
|
await performUpdate(false);
|
|
|
|
|
}
|
|
|
|
|
// 其他类型点击“取消”不做任何处理,仅关闭确认弹窗
|
|
|
|
|
// 其他类型点击"取消"不做任何处理,仅关闭确认弹窗
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|