wupengfei
3 天以前 4533218fcd5a0bd03a36624de1fb4f21efff9f40
apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -10,7 +10,7 @@
            ></MineAgreementSignDetailItem>
            <MineAgreementSignDetailItem
              label="协议状态"
              :detail="EnumTaskUserSignContractStatusText[detail?.userSignContractStatus]"
              :detail="EnumTaskUserSignContractStatusSignText[detail?.userSignContractStatus]"
            ></MineAgreementSignDetailItem>
          </template>
        </MineAgreementSignDetailCard>
@@ -73,11 +73,13 @@
import MineAgreementSignDetailItem from './MineAgreementSignDetailItem.vue';
import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
import {
  EnumElectronSignAccess,
  EnumTaskUserSignContractStatus,
  EnumTaskUserSignContractStatusText,
  EnumTaskUserSignContractStatusSignText,
} from '@12333/constants';
import { format, Message } from '@12333/utils';
import { format, hiddenPhone, Message, setOSSLink, openDocument } from '@12333/utils';
import Taro from '@tarojs/taro';
import _ from 'lodash';
defineOptions({
  name: 'InnerPage',
@@ -85,8 +87,10 @@
const { userDetail } = useUser();
const router = Taro.useRouter();
const options = Taro.getLaunchOptionsSync();
//灵工Id
const id = router.params?.id;
const code = router.params?.code;
const code = router.params?.code || options?.query?.scene;
const {
  isLoading,
@@ -112,25 +116,51 @@
function checkAgreement() {
  if (detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
    goToSign();
  } else {
    const encodedUrl = encodeURIComponent(detail?.value?.contractUrl);
    Taro.navigateTo({
      url: `${RouterPath.mineAgreementSignDetail}?url=${encodedUrl}`,
    });
  }
  if (
    detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Stop ||
    detail?.value?.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
  ) {
    if (!detail?.value?.contractUrl) {
      Message.warning('协议无法查看,请稍后再试');
      return;
    }
    openDocument(setOSSLink(detail?.value?.contractUrl));
  }
}
const goToSign = useAccessReal(async () => {
  try {
    let params: API.PersonalUserElectronSignCommand = {
      id: id,
    };
    let res = await enterpriseEmployeeServices.personalUserElectronSign(params);
    if (res) {
      const encodedUrl = encodeURIComponent(res.signContractLongUrl);
      Taro.navigateTo({ url: `${RouterPath.mineAgreementSignExtraPage}?url=${encodedUrl}` });
    }
  } catch (error) {}
const goToSign = _.debounce(
  useAccessReal(async () => {
    try {
      let params: API.PersonalUserElectronSignCommand = {
        id: detail.value?.id,
      };
      let res = await enterpriseEmployeeServices.personalUserElectronSign(params);
      if (res) {
        if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.AlipaySign) {
          try {
            await Message.confirm({
              message: `签约短信已发送至您${hiddenPhone(
                detail.value?.contactPhoneNumber
              )}的手机,请及时查看并签约`,
              cancelText: '未收到短信',
            });
          } catch (error) {
            goToSign();
          }
        } else {
          const encodedUrl = encodeURIComponent(res.signContractLongUrl);
          Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
        }
      }
    } catch (error) {}
  }),
  1000,
  { leading: true, trailing: true }
);
Taro.useDidShow(() => {
  refetch();
});
</script>