Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
| | |
| | | }, |
| | | { |
| | | "openVueDevtools" : true, |
| | | "playground" : "custom", |
| | | "playground" : "standard", |
| | | "type" : "uni-app:app-ios" |
| | | }, |
| | | { |
| New file |
| | |
| | | { |
| | | "CurrentProjectSetting": null |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- |
| | | |
| | | IIS configuration sections. |
| | | |
| | | For schema documentation, see |
| | | %IIS_BIN%\config\schema\IIS_schema.xml. |
| | | |
| | | Please make a backup of this file before making any changes to it. |
| | | |
| | | NOTE: The following environment variables are available to be used |
| | | within this file and are understood by the IIS Express. |
| | | |
| | | %IIS_USER_HOME% - The IIS Express home directory for the user |
| | | %IIS_SITES_HOME% - The default home directory for sites |
| | | %IIS_BIN% - The location of the IIS Express binaries |
| | | %SYSTEMDRIVE% - The drive letter of %IIS_BIN% |
| | | |
| | | --> |
| | | <configuration> |
| | | |
| | | <!-- |
| | | |
| | | The <configSections> section controls the registration of sections. |
| | | Section is the basic unit of deployment, locking, searching and |
| | | containment for configuration settings. |
| | | |
| | | Every section belongs to one section group. |
| | | A section group is a container of logically-related sections. |
| | | |
| | | Sections cannot be nested. |
| | | Section groups may be nested. |
| | | |
| | | <section |
| | | name="" [Required, Collection Key] [XML name of the section] |
| | | allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set] |
| | | overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode] |
| | | allowLocation="true" [true|false] [Allowed in location tags] |
| | | /> |
| | | |
| | | The recommended way to unlock sections is by using a location tag: |
| | | <location path="Default Web Site" overrideMode="Allow"> |
| | | <system.webServer> |
| | | <asp /> |
| | | </system.webServer> |
| | | </location> |
| | | |
| | | --> |
| | | <configSections> |
| | | <sectionGroup name="system.applicationHost"> |
| | | <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | |
| | | <sectionGroup name="system.webServer"> |
| | | <section name="asp" overrideModeDefault="Deny" /> |
| | | <section name="caching" overrideModeDefault="Allow" /> |
| | | <section name="cgi" overrideModeDefault="Deny" /> |
| | | <section name="defaultDocument" overrideModeDefault="Allow" /> |
| | | <section name="directoryBrowse" overrideModeDefault="Allow" /> |
| | | <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="handlers" overrideModeDefault="Deny" /> |
| | | <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> |
| | | <section name="httpErrors" overrideModeDefault="Allow" /> |
| | | <section name="httpLogging" overrideModeDefault="Deny" /> |
| | | <section name="httpProtocol" overrideModeDefault="Allow" /> |
| | | <section name="httpRedirect" overrideModeDefault="Allow" /> |
| | | <section name="httpTracing" overrideModeDefault="Deny" /> |
| | | <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
| | | <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
| | | <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> |
| | | <section name="odbcLogging" overrideModeDefault="Deny" /> |
| | | <sectionGroup name="security"> |
| | | <section name="access" overrideModeDefault="Deny" /> |
| | | <section name="applicationDependencies" overrideModeDefault="Deny" /> |
| | | <sectionGroup name="authentication"> |
| | | <section name="anonymousAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="basicAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="digestAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
| | | <section name="windowsAuthentication" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <section name="authorization" overrideModeDefault="Allow" /> |
| | | <section name="ipSecurity" overrideModeDefault="Deny" /> |
| | | <section name="dynamicIpSecurity" overrideModeDefault="Deny" /> |
| | | <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
| | | <section name="requestFiltering" overrideModeDefault="Allow" /> |
| | | </sectionGroup> |
| | | <section name="serverRuntime" overrideModeDefault="Deny" /> |
| | | <section name="serverSideInclude" overrideModeDefault="Deny" /> |
| | | <section name="staticContent" overrideModeDefault="Allow" /> |
| | | <sectionGroup name="tracing"> |
| | | <section name="traceFailedRequests" overrideModeDefault="Allow" /> |
| | | <section name="traceProviderDefinitions" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <section name="urlCompression" overrideModeDefault="Allow" /> |
| | | <section name="validation" overrideModeDefault="Allow" /> |
| | | <sectionGroup name="webdav"> |
| | | <section name="globalSettings" overrideModeDefault="Deny" /> |
| | | <section name="authoring" overrideModeDefault="Deny" /> |
| | | <section name="authoringRules" overrideModeDefault="Deny" /> |
| | | </sectionGroup> |
| | | <sectionGroup name="rewrite"> |
| | | <section name="allowedServerVariables" overrideModeDefault="Deny" /> |
| | | <section name="rules" overrideModeDefault="Allow" /> |
| | | <section name="outboundRules" overrideModeDefault="Allow" /> |
| | | <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> |
| | | <section name="providers" overrideModeDefault="Allow" /> |
| | | <section name="rewriteMaps" overrideModeDefault="Allow" /> |
| | | </sectionGroup> |
| | | <section name="webSocket" overrideModeDefault="Deny" /> |
| | | <section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup> |
| | | </configSections> |
| | | |
| | | <configProtectedData> |
| | | <providers> |
| | | <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> |
| | | <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" /> |
| | | <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" /> |
| | | </providers> |
| | | </configProtectedData> |
| | | |
| | | <system.applicationHost> |
| | | |
| | | <applicationPools> |
| | | <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
| | | <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> |
| | | <applicationPoolDefaults managedRuntimeVersion="v4.0"> |
| | | <processModel loadUserProfile="true" setProfileEnvironment="false" /> |
| | | </applicationPoolDefaults> |
| | | </applicationPools> |
| | | |
| | | <!-- |
| | | |
| | | The <listenerAdapters> section defines the protocols with which the |
| | | Windows Process Activation Service (WAS) binds. |
| | | |
| | | --> |
| | | <listenerAdapters> |
| | | <add name="http" /> |
| | | </listenerAdapters> |
| | | |
| | | <sites> |
| | | <site name="WebSite1" id="1" serverAutoStart="true"> |
| | | <application path="/"> |
| | | <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> |
| | | </application> |
| | | <bindings> |
| | | <binding protocol="http" bindingInformation=":8080:localhost" /> |
| | | </bindings> |
| | | </site> |
| | | <siteDefaults> |
| | | <!-- To enable logging, please change the below attribute "enabled" to "true" --> |
| | | <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" /> |
| | | <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" /> |
| | | </siteDefaults> |
| | | <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> |
| | | <virtualDirectoryDefaults allowSubDirConfig="true" /> |
| | | </sites> |
| | | |
| | | <webLimits /> |
| | | |
| | | </system.applicationHost> |
| | | |
| | | <system.webServer> |
| | | |
| | | <serverRuntime /> |
| | | |
| | | <asp scriptErrorSentToBrowser="true"> |
| | | <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> |
| | | <limits /> |
| | | </asp> |
| | | |
| | | <caching enabled="true" enableKernelCache="true"> |
| | | </caching> |
| | | |
| | | <cgi /> |
| | | |
| | | <defaultDocument enabled="true"> |
| | | <files> |
| | | <add value="Default.htm" /> |
| | | <add value="Default.asp" /> |
| | | <add value="index.htm" /> |
| | | <add value="index.html" /> |
| | | <add value="iisstart.htm" /> |
| | | <add value="default.aspx" /> |
| | | </files> |
| | | </defaultDocument> |
| | | |
| | | <directoryBrowse enabled="false" /> |
| | | |
| | | <fastCgi /> |
| | | |
| | | <!-- |
| | | |
| | | The <globalModules> section defines all native-code modules. |
| | | To enable a module, specify it in the <modules> section. |
| | | |
| | | --> |
| | | <globalModules> |
| | | <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> |
| | | <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> |
| | | <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> |
| | | <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> |
| | | <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> |
| | | <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> |
| | | <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> |
| | | <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> |
| | | <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> |
| | | <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> |
| | | <add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> |
| | | <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> |
| | | <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> |
| | | <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> |
| | | <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> |
| | | <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> |
| | | <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> |
| | | <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> |
| | | <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> |
| | | <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> |
| | | <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> |
| | | <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> |
| | | <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> |
| | | <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> |
| | | <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> |
| | | <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> |
| | | <add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> |
| | | <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> |
| | | <!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> |
| | | <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> |
| | | <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> |
| | | <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> |
| | | <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> |
| | | <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> |
| | | <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> |
| | | <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> |
| | | <add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" /> |
| | | <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" /> |
| | | </globalModules> |
| | | |
| | | <httpCompression directory="%TEMP%"> |
| | | <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> |
| | | <dynamicTypes> |
| | | <add mimeType="text/*" enabled="true" /> |
| | | <add mimeType="message/*" enabled="true" /> |
| | | <add mimeType="application/x-javascript" enabled="true" /> |
| | | <add mimeType="application/javascript" enabled="true" /> |
| | | <add mimeType="*/*" enabled="false" /> |
| | | </dynamicTypes> |
| | | <staticTypes> |
| | | <add mimeType="text/*" enabled="true" /> |
| | | <add mimeType="message/*" enabled="true" /> |
| | | <add mimeType="application/javascript" enabled="true" /> |
| | | <add mimeType="application/atom+xml" enabled="true" /> |
| | | <add mimeType="application/xaml+xml" enabled="true" /> |
| | | <add mimeType="image/svg+xml" enabled="true" /> |
| | | <add mimeType="*/*" enabled="false" /> |
| | | </staticTypes> |
| | | </httpCompression> |
| | | |
| | | <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> |
| | | <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> |
| | | <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> |
| | | <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> |
| | | <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> |
| | | <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> |
| | | <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> |
| | | <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> |
| | | <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> |
| | | <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> |
| | | </httpErrors> |
| | | |
| | | <httpLogging dontLog="false" /> |
| | | |
| | | <httpProtocol> |
| | | <customHeaders> |
| | | <clear /> |
| | | <add name="X-Powered-By" value="ASP.NET" /> |
| | | </customHeaders> |
| | | <redirectHeaders> |
| | | <clear /> |
| | | </redirectHeaders> |
| | | </httpProtocol> |
| | | |
| | | <httpRedirect enabled="false" /> |
| | | |
| | | <httpTracing /> |
| | | |
| | | <isapiFilters> |
| | | <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> |
| | | <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> |
| | | <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> |
| | | <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> |
| | | <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> |
| | | </isapiFilters> |
| | | |
| | | <odbcLogging /> |
| | | |
| | | <security> |
| | | |
| | | <access sslFlags="None" /> |
| | | |
| | | <applicationDependencies> |
| | | <application name="Active Server Pages" groupId="ASP" /> |
| | | </applicationDependencies> |
| | | |
| | | <authentication> |
| | | |
| | | <anonymousAuthentication enabled="true" userName="" /> |
| | | |
| | | <basicAuthentication enabled="false" /> |
| | | |
| | | <clientCertificateMappingAuthentication enabled="false" /> |
| | | |
| | | <digestAuthentication enabled="false" /> |
| | | |
| | | <iisClientCertificateMappingAuthentication enabled="false"> |
| | | </iisClientCertificateMappingAuthentication> |
| | | |
| | | <windowsAuthentication enabled="false"> |
| | | <providers> |
| | | <add value="Negotiate" /> |
| | | <add value="NTLM" /> |
| | | </providers> |
| | | </windowsAuthentication> |
| | | |
| | | </authentication> |
| | | |
| | | <authorization> |
| | | <add accessType="Allow" users="*" /> |
| | | </authorization> |
| | | |
| | | <ipSecurity allowUnlisted="true" /> |
| | | |
| | | <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> |
| | | <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
| | | <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
| | | <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
| | | <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
| | | </isapiCgiRestriction> |
| | | |
| | | <requestFiltering> |
| | | <fileExtensions allowUnlisted="true" applyToWebDAV="true"> |
| | | <add fileExtension=".asa" allowed="false" /> |
| | | <add fileExtension=".asax" allowed="false" /> |
| | | <add fileExtension=".ascx" allowed="false" /> |
| | | <add fileExtension=".master" allowed="false" /> |
| | | <add fileExtension=".skin" allowed="false" /> |
| | | <add fileExtension=".browser" allowed="false" /> |
| | | <add fileExtension=".sitemap" allowed="false" /> |
| | | <add fileExtension=".config" allowed="false" /> |
| | | <add fileExtension=".cs" allowed="false" /> |
| | | <add fileExtension=".csproj" allowed="false" /> |
| | | <add fileExtension=".vb" allowed="false" /> |
| | | <add fileExtension=".vbproj" allowed="false" /> |
| | | <add fileExtension=".webinfo" allowed="false" /> |
| | | <add fileExtension=".licx" allowed="false" /> |
| | | <add fileExtension=".resx" allowed="false" /> |
| | | <add fileExtension=".resources" allowed="false" /> |
| | | <add fileExtension=".mdb" allowed="false" /> |
| | | <add fileExtension=".vjsproj" allowed="false" /> |
| | | <add fileExtension=".java" allowed="false" /> |
| | | <add fileExtension=".jsl" allowed="false" /> |
| | | <add fileExtension=".ldb" allowed="false" /> |
| | | <add fileExtension=".dsdgm" allowed="false" /> |
| | | <add fileExtension=".ssdgm" allowed="false" /> |
| | | <add fileExtension=".lsad" allowed="false" /> |
| | | <add fileExtension=".ssmap" allowed="false" /> |
| | | <add fileExtension=".cd" allowed="false" /> |
| | | <add fileExtension=".dsprototype" allowed="false" /> |
| | | <add fileExtension=".lsaprototype" allowed="false" /> |
| | | <add fileExtension=".sdm" allowed="false" /> |
| | | <add fileExtension=".sdmDocument" allowed="false" /> |
| | | <add fileExtension=".mdf" allowed="false" /> |
| | | <add fileExtension=".ldf" allowed="false" /> |
| | | <add fileExtension=".ad" allowed="false" /> |
| | | <add fileExtension=".dd" allowed="false" /> |
| | | <add fileExtension=".ldd" allowed="false" /> |
| | | <add fileExtension=".sd" allowed="false" /> |
| | | <add fileExtension=".adprototype" allowed="false" /> |
| | | <add fileExtension=".lddprototype" allowed="false" /> |
| | | <add fileExtension=".exclude" allowed="false" /> |
| | | <add fileExtension=".refresh" allowed="false" /> |
| | | <add fileExtension=".compiled" allowed="false" /> |
| | | <add fileExtension=".msgx" allowed="false" /> |
| | | <add fileExtension=".vsdisco" allowed="false" /> |
| | | <add fileExtension=".rules" allowed="false" /> |
| | | </fileExtensions> |
| | | <verbs allowUnlisted="true" applyToWebDAV="true" /> |
| | | <hiddenSegments applyToWebDAV="true"> |
| | | <add segment="web.config" /> |
| | | <add segment="bin" /> |
| | | <add segment="App_code" /> |
| | | <add segment="App_GlobalResources" /> |
| | | <add segment="App_LocalResources" /> |
| | | <add segment="App_WebReferences" /> |
| | | <add segment="App_Data" /> |
| | | <add segment="App_Browsers" /> |
| | | </hiddenSegments> |
| | | </requestFiltering> |
| | | |
| | | </security> |
| | | |
| | | <serverSideInclude ssiExecDisable="false" /> |
| | | |
| | | <staticContent lockAttributes="isDocFooterFileName"> |
| | | <mimeMap fileExtension=".323" mimeType="text/h323" /> |
| | | <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> |
| | | <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> |
| | | <mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> |
| | | <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> |
| | | <mimeMap fileExtension=".aac" mimeType="audio/aac" /> |
| | | <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".accde" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> |
| | | <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> |
| | | <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> |
| | | <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> |
| | | <mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ai" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> |
| | | <mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> |
| | | <mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> |
| | | <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> |
| | | <mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> |
| | | <mimeMap fileExtension=".art" mimeType="image/x-jg" /> |
| | | <mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".asm" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> |
| | | <mimeMap fileExtension=".au" mimeType="audio/basic" /> |
| | | <mimeMap fileExtension=".avi" mimeType="video/avi" /> |
| | | <mimeMap fileExtension=".axs" mimeType="application/olescript" /> |
| | | <mimeMap fileExtension=".bas" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> |
| | | <mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".bmp" mimeType="image/bmp" /> |
| | | <mimeMap fileExtension=".c" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> |
| | | <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> |
| | | <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> |
| | | <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> |
| | | <mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> |
| | | <mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> |
| | | <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> |
| | | <mimeMap fileExtension=".cnf" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> |
| | | <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> |
| | | <mimeMap fileExtension=".cpp" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> |
| | | <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> |
| | | <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> |
| | | <mimeMap fileExtension=".csh" mimeType="application/x-csh" /> |
| | | <mimeMap fileExtension=".css" mimeType="text/css" /> |
| | | <mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dcr" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> |
| | | <mimeMap fileExtension=".dib" mimeType="image/bmp" /> |
| | | <mimeMap fileExtension=".dir" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".disco" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> |
| | | <mimeMap fileExtension=".dll.config" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dlm" mimeType="text/dlm" /> |
| | | <mimeMap fileExtension=".doc" mimeType="application/msword" /> |
| | | <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
| | | <mimeMap fileExtension=".dot" mimeType="application/msword" /> |
| | | <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> |
| | | <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dtd" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> |
| | | <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> |
| | | <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> |
| | | <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".dxr" mimeType="application/x-director" /> |
| | | <mimeMap fileExtension=".eml" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> |
| | | <mimeMap fileExtension=".eps" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" /> |
| | | <mimeMap fileExtension=".etx" mimeType="text/x-setext" /> |
| | | <mimeMap fileExtension=".evy" mimeType="application/envoy" /> |
| | | <mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".exe.config" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> |
| | | <mimeMap fileExtension=".fif" mimeType="application/fractals" /> |
| | | <mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".flv" mimeType="video/x-flv" /> |
| | | <mimeMap fileExtension=".gif" mimeType="image/gif" /> |
| | | <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" /> |
| | | <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> |
| | | <mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> |
| | | <mimeMap fileExtension=".h" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> |
| | | <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> |
| | | <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> |
| | | <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> |
| | | <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> |
| | | <mimeMap fileExtension=".hta" mimeType="application/hta" /> |
| | | <mimeMap fileExtension=".htc" mimeType="text/x-component" /> |
| | | <mimeMap fileExtension=".htm" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".html" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> |
| | | <mimeMap fileExtension=".hxt" mimeType="text/html" /> |
| | | <mimeMap fileExtension=".ico" mimeType="image/x-icon" /> |
| | | <mimeMap fileExtension=".ics" mimeType="text/calendar" /> |
| | | <mimeMap fileExtension=".ief" mimeType="image/ief" /> |
| | | <mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> |
| | | <mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> |
| | | <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> |
| | | <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> |
| | | <mimeMap fileExtension=".jar" mimeType="application/java-archive" /> |
| | | <mimeMap fileExtension=".java" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> |
| | | <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> |
| | | <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> |
| | | <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> |
| | | <mimeMap fileExtension=".js" mimeType="application/javascript" /> |
| | | <mimeMap fileExtension=".json" mimeType="application/json" /> |
| | | <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> |
| | | <mimeMap fileExtension=".jsx" mimeType="text/jscript" /> |
| | | <mimeMap fileExtension=".latex" mimeType="application/x-latex" /> |
| | | <mimeMap fileExtension=".less" mimeType="text/css" /> |
| | | <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> |
| | | <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> |
| | | <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> |
| | | <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> |
| | | <mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> |
| | | <mimeMap fileExtension=".m4v" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> |
| | | <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> |
| | | <mimeMap fileExtension=".map" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> |
| | | <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> |
| | | <mimeMap fileExtension=".mht" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".mid" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".midi" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> |
| | | <mimeMap fileExtension=".mno" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> |
| | | <mimeMap fileExtension=".mov" mimeType="video/quicktime" /> |
| | | <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> |
| | | <mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> |
| | | <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> |
| | | <mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> |
| | | <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> |
| | | <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> |
| | | <mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> |
| | | <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> |
| | | <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> |
| | | <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> |
| | | <mimeMap fileExtension=".nws" mimeType="message/rfc822" /> |
| | | <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".oda" mimeType="application/oda" /> |
| | | <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> |
| | | <mimeMap fileExtension=".ods" mimeType="application/oleobject" /> |
| | | <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> |
| | | <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> |
| | | <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> |
| | | <mimeMap fileExtension=".one" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onea" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> |
| | | <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> |
| | | <mimeMap fileExtension=".otf" mimeType="font/otf" /> |
| | | <mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> |
| | | <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> |
| | | <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> |
| | | <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> |
| | | <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> |
| | | <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> |
| | | <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> |
| | | <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> |
| | | <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> |
| | | <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> |
| | | <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> |
| | | <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> |
| | | <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> |
| | | <mimeMap fileExtension=".png" mimeType="image/png" /> |
| | | <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> |
| | | <mimeMap fileExtension=".pnz" mimeType="image/png" /> |
| | | <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> |
| | | <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> |
| | | <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> |
| | | <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> |
| | | <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> |
| | | <mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> |
| | | <mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ps" mimeType="application/postscript" /> |
| | | <mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> |
| | | <mimeMap fileExtension=".qt" mimeType="video/quicktime" /> |
| | | <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> |
| | | <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> |
| | | <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> |
| | | <mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> |
| | | <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> |
| | | <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> |
| | | <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> |
| | | <mimeMap fileExtension=".rmi" mimeType="audio/mid" /> |
| | | <mimeMap fileExtension=".roff" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> |
| | | <mimeMap fileExtension=".rtf" mimeType="application/rtf" /> |
| | | <mimeMap fileExtension=".rtx" mimeType="text/richtext" /> |
| | | <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> |
| | | <mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> |
| | | <mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> |
| | | <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> |
| | | <mimeMap fileExtension=".sgml" mimeType="text/sgml" /> |
| | | <mimeMap fileExtension=".sh" mimeType="application/x-sh" /> |
| | | <mimeMap fileExtension=".shar" mimeType="application/x-shar" /> |
| | | <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> |
| | | <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> |
| | | <mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> |
| | | <mimeMap fileExtension=".snd" mimeType="audio/basic" /> |
| | | <mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> |
| | | <mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> |
| | | <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> |
| | | <mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> |
| | | <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> |
| | | <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> |
| | | <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> |
| | | <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> |
| | | <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> |
| | | <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> |
| | | <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> |
| | | <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> |
| | | <mimeMap fileExtension=".t" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".tar" mimeType="application/x-tar" /> |
| | | <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> |
| | | <mimeMap fileExtension=".tex" mimeType="application/x-tex" /> |
| | | <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> |
| | | <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> |
| | | <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> |
| | | <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> |
| | | <mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tif" mimeType="image/tiff" /> |
| | | <mimeMap fileExtension=".tiff" mimeType="image/tiff" /> |
| | | <mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tr" mimeType="application/x-troff" /> |
| | | <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> |
| | | <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> |
| | | <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> |
| | | <mimeMap fileExtension=".txt" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".uls" mimeType="text/iuls" /> |
| | | <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> |
| | | <mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> |
| | | <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> |
| | | <mimeMap fileExtension=".vcs" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> |
| | | <mimeMap fileExtension=".vml" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> |
| | | <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> |
| | | <mimeMap fileExtension=".wasm" mimeType="application/wasm" /> |
| | | <mimeMap fileExtension=".wav" mimeType="audio/wav" /> |
| | | <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> |
| | | <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> |
| | | <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".webm" mimeType="video/webm" /> |
| | | <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> |
| | | <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> |
| | | <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> |
| | | <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> |
| | | <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> |
| | | <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> |
| | | <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> |
| | | <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> |
| | | <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> |
| | | <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> |
| | | <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> |
| | | <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> |
| | | <mimeMap fileExtension=".woff" mimeType="font/x-woff" /> |
| | | <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> |
| | | <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> |
| | | <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> |
| | | <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".wsdl" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> |
| | | <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> |
| | | <mimeMap fileExtension=".x" mimeType="application/directx" /> |
| | | <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> |
| | | <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> |
| | | <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> |
| | | <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> |
| | | <mimeMap fileExtension=".xdr" mimeType="text/plain" /> |
| | | <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> |
| | | <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> |
| | | <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
| | | <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> |
| | | <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> |
| | | <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> |
| | | <mimeMap fileExtension=".xml" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> |
| | | <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> |
| | | <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> |
| | | <mimeMap fileExtension=".xsd" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsf" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsl" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xslt" mimeType="text/xml" /> |
| | | <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> |
| | | <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> |
| | | <mimeMap fileExtension=".z" mimeType="application/x-compress" /> |
| | | <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> |
| | | </staticContent> |
| | | |
| | | <tracing> |
| | | |
| | | <traceFailedRequests> |
| | | <add path="*"> |
| | | <traceAreas> |
| | | <add provider="ASP" verbosity="Verbose" /> |
| | | <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> |
| | | <add provider="ISAPI Extension" verbosity="Verbose" /> |
| | | <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> |
| | | </traceAreas> |
| | | <failureDefinitions statusCodes="200-999" /> |
| | | </add> |
| | | </traceFailedRequests> |
| | | |
| | | <traceProviderDefinitions> |
| | | <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> |
| | | <areas> |
| | | <clear /> |
| | | <add name="Authentication" value="2" /> |
| | | <add name="Security" value="4" /> |
| | | <add name="Filter" value="8" /> |
| | | <add name="StaticFile" value="16" /> |
| | | <add name="CGI" value="32" /> |
| | | <add name="Compression" value="64" /> |
| | | <add name="Cache" value="128" /> |
| | | <add name="RequestNotifications" value="256" /> |
| | | <add name="Module" value="512" /> |
| | | <add name="Rewrite" value="1024" /> |
| | | <add name="FastCGI" value="4096" /> |
| | | <add name="WebSocket" value="16384" /> |
| | | <add name="ANCM" value="65536" /> |
| | | </areas> |
| | | </add> |
| | | <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> |
| | | <areas> |
| | | <clear /> |
| | | </areas> |
| | | </add> |
| | | <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> |
| | | <areas> |
| | | <clear /> |
| | | </areas> |
| | | </add> |
| | | <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> |
| | | <areas> |
| | | <add name="Infrastructure" value="1" /> |
| | | <add name="Module" value="2" /> |
| | | <add name="Page" value="4" /> |
| | | <add name="AppServices" value="8" /> |
| | | </areas> |
| | | </add> |
| | | </traceProviderDefinitions> |
| | | |
| | | </tracing> |
| | | |
| | | <urlCompression /> |
| | | |
| | | <validation /> |
| | | <webdav> |
| | | <globalSettings> |
| | | <propertyStores> |
| | | <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> |
| | | </propertyStores> |
| | | <lockStores> |
| | | <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> |
| | | </lockStores> |
| | | |
| | | </globalSettings> |
| | | <authoring> |
| | | <locks enabled="true" lockStore="webdav_simple_lock" /> |
| | | </authoring> |
| | | <authoringRules /> |
| | | </webdav> |
| | | <webSocket /> |
| | | <applicationInitialization /> |
| | | |
| | | </system.webServer> |
| | | <location path="" overrideMode="Allow"> |
| | | <system.webServer> |
| | | <modules> |
| | | <add name="IsapiFilterModule" lockItem="true" /> |
| | | <add name="BasicAuthenticationModule" lockItem="true" /> |
| | | <add name="IsapiModule" lockItem="true" /> |
| | | <add name="HttpLoggingModule" lockItem="true" /> |
| | | <add name="DynamicCompressionModule" lockItem="true" /> |
| | | <add name="StaticCompressionModule" lockItem="true" /> |
| | | <add name="DefaultDocumentModule" lockItem="true" /> |
| | | <add name="DirectoryListingModule" lockItem="true" /> |
| | | <add name="ProtocolSupportModule" lockItem="true" /> |
| | | <add name="HttpRedirectionModule" lockItem="true" /> |
| | | <add name="ServerSideIncludeModule" lockItem="true" /> |
| | | <add name="StaticFileModule" lockItem="true" /> |
| | | <add name="AnonymousAuthenticationModule" lockItem="true" /> |
| | | <add name="CertificateMappingAuthenticationModule" lockItem="true" /> |
| | | <add name="UrlAuthorizationModule" lockItem="true" /> |
| | | <add name="WindowsAuthenticationModule" lockItem="true" /> |
| | | <add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> |
| | | <add name="WebMatrixSupportModule" lockItem="true" /> |
| | | <add name="IpRestrictionModule" lockItem="true" /> |
| | | <add name="DynamicIpRestrictionModule" lockItem="true" /> |
| | | <add name="RequestFilteringModule" lockItem="true" /> |
| | | <add name="CustomLoggingModule" lockItem="true" /> |
| | | <add name="CustomErrorModule" lockItem="true" /> |
| | | <add name="FailedRequestsTracingModule" lockItem="true" /> |
| | | <add name="CgiModule" lockItem="true" /> |
| | | <add name="FastCgiModule" lockItem="true" /> |
| | | <!-- <add name="WebDAVModule" /> --> |
| | | <add name="RewriteModule" /> |
| | | <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> |
| | | <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> |
| | | <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> |
| | | <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> |
| | | <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> |
| | | <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> |
| | | <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> |
| | | <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> |
| | | <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> |
| | | <add name="ApplicationInitializationModule" lockItem="true" /> |
| | | <add name="WebSocketModule" lockItem="true" /> |
| | | <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="ConfigurationValidationModule" lockItem="true" /> |
| | | <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
| | | <add name="AspNetCoreModule" lockItem="true" /> |
| | | <add name="AspNetCoreModuleV2" lockItem="true" /> |
| | | </modules> |
| | | <handlers accessPolicy="Read, Script"> |
| | | <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> |
| | | <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
| | | <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
| | | <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
| | | <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
| | | <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
| | | <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
| | | <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
| | | <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
| | | <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
| | | <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> |
| | | <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> |
| | | <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
| | | <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
| | | <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> |
| | | <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> |
| | | </handlers> |
| | | </system.webServer> |
| | | </location> |
| | | </configuration> |
| New file |
| | |
| | | { |
| | | "ExpandedNodes": [ |
| | | "", |
| | | "\\pages", |
| | | "\\pages\\tiaomachaima" |
| | | ], |
| | | "SelectedNode": "\\pages\\tiaomachaima\\tiaomachaimaCopy_HK.vue", |
| | | "PreviewInSolutionExplorer": false |
| | | } |
| | |
| | | getUserInfo |
| | | } from "./utils/auth"; |
| | | import getuiUtils from "./utils/getuiUtils"; |
| | | import { overrideUniRequest, cancelAllRequest } from './utils/RequestQueue' |
| | | export default { |
| | | onLaunch: function() { |
| | | console.log('App Launch') |
| | |
| | | } |
| | | }, false); |
| | | // #endif |
| | | |
| | | |
| | | overrideUniRequest() |
| | | |
| | | // 路由跳转时取消所有请求 |
| | | this.setupRouteInterceptor() |
| | | }, |
| | | onShow: function() { |
| | | console.log('App Show') |
| | |
| | | } |
| | | }); |
| | | }, 300) |
| | | }, |
| | | setupRouteInterceptor() { |
| | | const methods = [ |
| | | 'navigateTo', |
| | | 'redirectTo', |
| | | 'navigateBack', |
| | | 'switchTab', |
| | | 'reLaunch' |
| | | ] |
| | | |
| | | methods.forEach((m) => { |
| | | uni.addInterceptor(m, { |
| | | invoke() { |
| | | cancelAllRequest() |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | sWhere += ` and CONVERT(varchar(100),日期, 23) between '${this.HBeginDate}' and '${this.HEndDate}'` |
| | | } |
| | | if (this.HPrdOrderBillNo) { |
| | | sWhere += ` and 生产订单号 like'%${this.HPrdOrderBillNo}%` |
| | | sWhere += ` and 生产订单号 like'%${this.HPrdOrderBillNo}%'` |
| | | } |
| | | if (this.HWorkShop != '全部车间') { |
| | | let workshopValue = this.HWorkShopValues.find(e => e.HName = this.HStatus ) |
| | |
| | | "HSourceBillType0": "收料通知单@1103", |
| | | "HSourceBillType1": "采购订单@1101", |
| | | "HSourceBillType2": "手工录入@-1" |
| | | |
| | | }, |
| | | "Kf_SellOutBackBill_PDA": { |
| | | "HSourceBillType0": "退货通知单@1403", |
| | | "HSourceBillType1": "销售订单@1401", |
| | | "HSourceBillType2": "手工录入@-1" |
| | | }, |
| | | "Gy": { |
| | | "HBarCode": "条码", |
| | |
| | | "HSecManagerName_Placeholder": "请选择验收员", |
| | | "HDeptName": "部门", |
| | | "HDeptName_Placeholder": "请选择部门", |
| | | "HCusName": "客户", |
| | | "HCusName_Placeholder": "请选择客户", |
| | | "HSupName": "供应商", |
| | | "HSupName_Placeholder": "请选择供应商", |
| | | "HStockOrgName": "组织", |
| | |
| | | "EquipNumber_Search": "设备编码", |
| | | "EquipName_Search": "设备名称", |
| | | "HDept_Search": "部门" |
| | | }, |
| | | "Kf_ProductInBill_PDA": { |
| | | "BarCode": "条码", |
| | | "Qty": "数量", |
| | | "BillNo": "单据号", |
| | | "BillID": "单据ID", |
| | | "Keeper": "保管", |
| | | "SecManager": "验收", |
| | | "Dept": "部门", |
| | | "StockOrg": "组织", |
| | | "Material": "物料", |
| | | "MaterModel": "规格", |
| | | "BatchNo": "批次", |
| | | "Unit": "单位", |
| | | "Capacity": "容量", |
| | | "btnSubmit": "提交", |
| | | "btnAdd": "新增", |
| | | "selectSource": "选择源单", |
| | | "tableInfo": "表头信息", |
| | | "materInfo": "物料信息", |
| | | "barInfo": "条码信息", |
| | | "removeShelvesInfo": "下架信息", |
| | | "btnExit": "退出", |
| | | "title": "生产入库单", |
| | | "select option": [ |
| | | "3710@生产任务单", |
| | | "3711@生产汇报单", |
| | | "3714@工序汇报单" |
| | | ], |
| | | "placeholder_BarCode": "请扫描(或输入)条码", |
| | | "placeholder_Qty": "请输入数量", |
| | | "placeholder_Warehouse": "请输入(或扫描)仓库", |
| | | "placeholder_StockPlace": "请输入(或扫描)仓位", |
| | | "placeholder_SourceBillNo": "请输入源单单号", |
| | | "table_SourceBillNo": "源单单号", |
| | | "table_SourceBillQty": "源单数量", |
| | | "table_BarQty": "数量", |
| | | "table_BarNum": "条码个数", |
| | | "table_MaterModel": "规格型号", |
| | | "table_Aux": "辅助属性", |
| | | "Warehouse": "仓库", |
| | | "StockPlace": "仓位", |
| | | "SourceBillType": "源单类型", |
| | | "SourceBillNo": "源单单号", |
| | | "Date": "日期", |
| | | "Maker": "制单人", |
| | | "bt_HMaterNumber": "物料代码", |
| | | "bt_HMaterName": "物料名称", |
| | | "bt_HModel": "规格型号", |
| | | "bt_ForFilteringSchemes": "是否启用", |
| | | "btnReSearch": "重置", |
| | | "set_AddNew": "新增", |
| | | "get_use": "启用", |
| | | "get_createBarCode": "生成条码", |
| | | "set_DeleteBill": "删除", |
| | | "set_HideColumn": "列设置", |
| | | "get_Refresh": "刷新", |
| | | "btn_MaterPackQtyExcel": "Excel导入", |
| | | "get_Exit": "退出" |
| | | } |
| | | |
| | | } |
| | |
| | | if (res.data && res.data.token) { |
| | | uni.setStorageSync('Token', res.data.token) |
| | | } |
| | | |
| | | |
| | | |
| | | // 401 自动跳登录 |
| | | if (res.statusCode === 401) { |
| | |
| | | uni.showModal({ |
| | | title: '温馨提示', |
| | | content: res.data.Message, |
| | | showCancel:false, |
| | | showCancel: false, |
| | | success: () => { |
| | | uni.reLaunch({ |
| | | url: '/pages/index/login' |
| | |
| | | } |
| | | }) |
| | | } |
| | | // 403 返回上一个页面 |
| | | // 403 返回上一个页面 |
| | | if (res.statusCode === 403) { |
| | | uni.showModal({ |
| | | title: '温馨提示', |
| | | content: res.data.Message, |
| | | showCancel:false, |
| | | showCancel: false, |
| | | success: () => { |
| | | uni.navigateBack() |
| | | } |
| | |
| | | "name" : "智云LMES", |
| | | "appid" : "__UNI__B002F49", |
| | | "description" : "", |
| | | "versionName" : "3.002", |
| | | "versionCode" : 302, |
| | | |
| | | "versionName" : "3.018", |
| | | "versionCode" : 318, |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | |
| | | "uqrcodejs": "^4.0.7", |
| | | "vue-i18n": "^9.1.9" |
| | | } |
| | | } |
| | | } |
| | |
| | | "navigationBarTitleText": "设备维修记录单", |
| | | "enablePullDownRefresh": true |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/weiwaigxOut/firstCheck", |
| | | "style": { |
| | | "navigationBarTitleText": "首件检验单", |
| | | "enablePullDownRefresh": true |
| | | } |
| | | }, { |
| | | "path": "pages/gongxuIn/Cj_StationInBill", |
| | | "style": { |
| | |
| | | "navigationBarTitleText": "销售出库单(验证)" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/tiaomamingxi/tiaomamingxi", |
| | | "style": { |
| | | "navigationBarTitleText": "条码明细" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/CustomerComplaintsBill/CustomerComplaintsBillList", |
| | | "style": { |
| | |
| | | this.getHGroupList() |
| | | this.getHShiftsList() |
| | | this.getHProcList() |
| | | this.getHShiftCurrent() |
| | | //先获取角色列表,然后获取用户绑定的角色 |
| | | this.getRoleList().then(() => { |
| | | this.getUserBoundRoles(); |
| | |
| | | } |
| | | } |
| | | }, |
| | | async getHShiftCurrent() { |
| | | // 根据当前用户绑定的工作中心和部门获取到班次信息(没有则不获取) |
| | | let HDeptID = getUserInfo()["HDeptID"] |
| | | let HCenterID = getUserInfo()["HWorkCenterID"] |
| | | console.log(HDeptID, HCenterID) |
| | | if(!HDeptID || !HCenterID) { |
| | | return |
| | | } |
| | | try{ |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Gy_ShiftsController/Get_HWorkShift", |
| | | data: { |
| | | HDeptID, |
| | | HCenterID |
| | | } |
| | | }) |
| | | |
| | | let {count, data,Message} = res.data |
| | | if(count == 1) { |
| | | this.hform.HShiftsID = data[0]["HInterID"] |
| | | this.hform.HShiftsName = data[0]["班次"] |
| | | }else { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: `获取班次信息失败: ${Message}` |
| | | }) |
| | | } |
| | | }catch(err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: `获取班次信息失败: ${err.message}` |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | // 获取用户已绑定的角色 |
| | | async getUserBoundRoles() { |
| | | try { |
| | |
| | | <view class="form" :style="{ |
| | | height: containerHeight + 'px', |
| | | overflow: 'auto' |
| | | }"> |
| | | <view class="list" v-for="(item,index) in HMaterList" :key="index"> |
| | | }"> |
| | | <!-- 物料列表 - 使用排序后的数据 --> |
| | | <view class="list" v-for="(item,index) in paginatedMaterList" :key="index"> |
| | | <uni-card :title="item.物料名称" :extra="item.物料代码" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | |
| | | <view class="detail" v-if="item.辅助属性"> |
| | | <text>辅助属性:</text>{{item.辅助属性}} |
| | | </view> |
| | | <!-- 兴达客户 功能 --> |
| | | <view class="detail" v-if="materMeta[0].HWHName && /兴达/.test(hform.HStockOrgName |
| | | )"> |
| | | <view class="detail" v-if="materMeta[0].HWHName && /兴达/.test(hform.HStockOrgName)"> |
| | | <text>仓库:</text>{{materMeta[0].HWHName}} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="HMaterList.length == 0">暂无数据</view> |
| | | <view style="padding: 10px; background: #f5f5f5; display: flex; justify-content: space-between; align-items: center;"> |
| | | <text>共 {{ sortedMaterList.length }} 条</text> |
| | | <view> |
| | | <button size="mini" @click="prevPage" :disabled="currentPage === 1" style="margin-right: 10px;">上一页</button> |
| | | <text>{{ currentPage }}/{{ totalPages }}</text> |
| | | <button size="mini" @click="nextPage" :disabled="currentPage === totalPages" style="margin-left: 10px;">下一页</button> |
| | | </view> |
| | | </view> |
| | | <view class="over" v-if="sortedMaterList.length == 0">暂无数据</view> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | sortedMaterList: [], // 排序后的物料列表 |
| | | paginatedMaterList: [] ,// 当前页显示的物料 |
| | | tabs: 0, |
| | | hcpFocus: false, |
| | | barCodeFocus: false, |
| | |
| | | this.barCodeFocus = true; |
| | | }, 100); |
| | | }, |
| | | // 排序物料(有数量的排在前面) |
| | | sortMaterList(list) { |
| | | if (!list || list.length === 0) return [] |
| | | return [...list].sort((a, b) => { |
| | | // 数量大于0的排在前面 |
| | | if (a.数量 > 0 && b.数量 <= 0) return -1 |
| | | if (a.数量 <= 0 && b.数量 > 0) return 1 |
| | | return b.数量 - a.数量 // 都有数量或都没有,按数量降序 |
| | | }) |
| | | }, |
| | | |
| | | // 更新当前页数据 |
| | | updatePageData() { |
| | | const start = (this.currentPage - 1) * this.pageSize |
| | | const end = start + this.pageSize |
| | | this.paginatedMaterList = this.sortedMaterList.slice(start, end) |
| | | }, |
| | | |
| | | // 上一页 |
| | | prevPage() { |
| | | if (this.currentPage > 1) { |
| | | this.currentPage-- |
| | | this.updatePageData() |
| | | } |
| | | }, |
| | | |
| | | // 下一页 |
| | | nextPage() { |
| | | if (this.currentPage < Math.ceil(this.sortedMaterList.length / this.pageSize)) { |
| | | this.currentPage++ |
| | | this.updatePageData() |
| | | } |
| | | }, |
| | | async set_InitBillSubType(){ |
| | | try{ |
| | | let res = await CommonUtils.doRequest2Async({ |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | // 器具删除 |
| | | async delMould(item) { |
| | | uni.showModal({ |
| | |
| | | this.FIFOlist = data.FIFOlist |
| | | } |
| | | } |
| | | this.sortedMaterList = this.sortMaterList(this.HMaterList) |
| | | this.currentPage = 1 |
| | | this.updatePageData() |
| | | |
| | | // 根据是否是箱条码配置仓位信息 |
| | | if (sBarCodePrefix == 'PAK') { |
| | |
| | | <view class="detail" v-if="item.计划结束时间点"> |
| | | <text>计划结束时间点:</text>{{item.计划结束时间点.substr(0,10)}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养计划单主ID:</text>{{item.HPlanHInterID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养计划单子ID:</text>{{item.HPlanHEntryID}} |
| | | </view> |
| | | </view> |
| | | <view class="card-detail" v-if="showDetail == item.hmainid"> |
| | | <view class="detail" v-if="item.制单人"> |
| | |
| | | total: 0, |
| | | } |
| | | }, |
| | | { |
| | | label: '逾期待保养', |
| | | type: 3, |
| | | count: 0, |
| | | listData: [], // 添加这个 |
| | | pageMeta: { // 添加这个 |
| | | curPage: 1, |
| | | size: 50, |
| | | total: 0, |
| | | } |
| | | }, |
| | | { |
| | | label: '近日全部任务', |
| | | type: 2, |
| | |
| | | }, |
| | | methods: { |
| | | pushBill(currTab, item) { |
| | | let Query = `?operationType=4&HBarCode=${item['设备代码']}` |
| | | let Query = `?operationType=4&HBarCode=${item['设备代码']}&HPlanHInterID=${item['HPlanHInterID']}&HPlanHEntryID=${item['HPlanHEntryID']}` |
| | | if(currTab == 0) { |
| | | uni.navigateTo({ |
| | | url: '/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill' + Query |
| | |
| | | |
| | | if (data && data.h_p_Sb_EquipMaintainTaskReport_APP2) { |
| | | // 更新待验收页签 |
| | | this.tabs[2].listData = data.h_p_Sb_EquipMaintainTaskReport_APP2 |
| | | this.tabs[2].pageMeta.total = data.h_p_Sb_EquipMaintainTaskReport_APP2.length |
| | | this.tabs[2].count = data.h_p_Sb_EquipMaintainTaskReport_APP2.length |
| | | this.tabs[3].listData = data.h_p_Sb_EquipMaintainTaskReport_APP2 |
| | | this.tabs[3].pageMeta.total = data.h_p_Sb_EquipMaintainTaskReport_APP2.length |
| | | this.tabs[3].count = data.h_p_Sb_EquipMaintainTaskReport_APP2.length |
| | | } |
| | | |
| | | if (data && data.h_p_Sb_EquipMaintainTaskReport_APP3) { |
| | | // 更新待验收页签 |
| | | this.tabs[2].listData = data.h_p_Sb_EquipMaintainTaskReport_APP3 |
| | | this.tabs[2].pageMeta.total = data.h_p_Sb_EquipMaintainTaskReport_APP3.length |
| | | this.tabs[2].count = data.h_p_Sb_EquipMaintainTaskReport_APP3.length |
| | | } |
| | | |
| | | |
| | | uni.stopPullDownRefresh() |
| | |
| | | <view class="detail" v-if="item.计划结束时间点"> |
| | | <text>计划结束时间点:</text>{{item.计划结束时间点.substr(0,10)}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养计划单主ID:</text>{{item.HPlanHInterID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养计划单子ID:</text>{{item.HPlanHEntryID}} |
| | | </view> |
| | | </view> |
| | | <view class="card-detail" v-if="showDetail == item.hmainid"> |
| | | <view class="detail" v-if="item.制单人"> |
| | |
| | | </view> |
| | | |
| | | <view class="op" v-if="operations == item.hmainid"> |
| | | <button class="op1" v-if="activeTab == 0" size="mini" plain |
| | | <button class="op1" v-if="activeTab == 0 || 3" size="mini" plain |
| | | @tap.stop="pushBill(0,item)">下推保养单</button> |
| | | <button class="op5" size="mini" plain @tap.stop="operations = -1">取消操作</button> |
| | | </view> |
| | |
| | | { |
| | | label: '近日已保养', |
| | | type: 1, |
| | | count: 0, |
| | | listData: [], // 添加这个 |
| | | showData: [], |
| | | pageMeta: { // 添加这个 |
| | | curPage: 1, |
| | | size: 20, |
| | | total: 0, |
| | | } |
| | | }, |
| | | { |
| | | label: '逾期未保养', |
| | | type: 3, |
| | | count: 0, |
| | | listData: [], // 添加这个 |
| | | showData: [], |
| | |
| | | }, |
| | | methods: { |
| | | pushBill(currTab, item) { |
| | | let Query = `?operationType=4&HBarCode=${item['器具编号']}` |
| | | let Query = `?operationType=4&HBarCode=${item['器具编号']}&HPlanHInterID=${item['HPlanHInterID']}&HPlanHEntryID=${item['HPlanHEntryID']}` |
| | | if (currTab == 0) { |
| | | uni.navigateTo({ |
| | | url: '/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill' + Query |
| | |
| | | |
| | | if (data && data.h_p_Sc_MouldMaintainTaskReport_APP2) { |
| | | // 更新待验收页签 |
| | | this.tabs[2].listData = data.h_p_Sc_MouldMaintainTaskReport_APP2 |
| | | this.tabs[3].listData = data.h_p_Sc_MouldMaintainTaskReport_APP2 |
| | | this.tabs[3].showData = data.h_p_Sc_MouldMaintainTaskReport_APP.slice( |
| | | (this.tabs[3].pageMeta.curPage-1)*this.tabs[3].pageMeta.size, |
| | | (this.tabs[3].pageMeta.curPage)*this.tabs[3].pageMeta.size |
| | | ) |
| | | this.tabs[3].pageMeta.total = data.h_p_Sc_MouldMaintainTaskReport_APP2.length |
| | | this.tabs[3].count = data.h_p_Sc_MouldMaintainTaskReport_APP2.length |
| | | } |
| | | |
| | | if (data && data.h_p_Sc_MouldMaintainTaskReport_APP3) { |
| | | // 更新待验收页签 |
| | | this.tabs[2].listData = data.h_p_Sc_MouldMaintainTaskReport_APP3 |
| | | this.tabs[2].showData = data.h_p_Sc_MouldMaintainTaskReport_APP.slice( |
| | | (this.tabs[2].pageMeta.curPage-1)*this.tabs[2].pageMeta.size, |
| | | (this.tabs[2].pageMeta.curPage)*this.tabs[2].pageMeta.size |
| | | ) |
| | | this.tabs[2].pageMeta.total = data.h_p_Sc_MouldMaintainTaskReport_APP2.length |
| | | this.tabs[2].count = data.h_p_Sc_MouldMaintainTaskReport_APP2.length |
| | | this.tabs[2].pageMeta.total = data.h_p_Sc_MouldMaintainTaskReport_APP3.length |
| | | this.tabs[2].count = data.h_p_Sc_MouldMaintainTaskReport_APP3.length |
| | | } |
| | | |
| | | |
| | |
| | | }"> |
| | | <view class="form-item"> |
| | | <view class="title">源单类型:</view> |
| | | <zxz-uni-data-select class="right" :localdata="[{value: '3772', key: '工序流转卡'}]" dataKey="key" |
| | | <zxz-uni-data-select class="righton" disabled :localdata="[{value: '3772', key: '工序流转卡'}]" dataKey="key" |
| | | dataValue="value" v-model="hform.HMainSourceBillType"> |
| | | </zxz-uni-data-select> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">源单单号:</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HMainSourceBillNo" /> |
| | | <view class="righton"> |
| | | <input type="text" disabled v-model="hform.HMainSourceBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">流转卡号:</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HProcExchBillNo" /> |
| | | <view class="righton"> |
| | | <input type="text" disabled v-model="hform.HProcExchBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">生产订单号:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HICMOBillNo" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HICMOBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">工序号:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HProcNo" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HProcNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料代码:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HMaterNumber" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterNumber" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料名称:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HMaterName" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">规格型号:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HMaterModel" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterModel" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">工序:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HProcName" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HProcName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">生产资源:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HSourceName" /> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HSourceName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | |
| | | "HMax": item["上限值"], |
| | | "HMin": item["下限值"], |
| | | "HRemark": item["采集来源"], |
| | | "HResult": (item["数采值"] <= item["上限值"] && item["数采值"] >= item["下限值"]) ? |
| | | "OK" : "NG", |
| | | HResult: (() => { |
| | | const val = Number(item["数采值"]) |
| | | const min = Number(item["下限值"]) |
| | | const max = Number(item["上限值"]) |
| | | if (isNaN(val) || isNaN(min) || isNaN(max)) { |
| | | return "" |
| | | } |
| | | return val >= min && val <= max ? "OK" : "NG" |
| | | })(), |
| | | "HIsRequired": item["HIsRequired"] |
| | | } |
| | | }) |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">设备名称:</view> |
| | | <view class="title required">设备名称:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarName" disabled /> |
| | | </view> |
| | |
| | | } |
| | | }, |
| | | async submit() { |
| | | if(!this.hform.HBillNo) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 单据号不存在' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if(!this.hform.HEquipID) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 设备不能为空' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | try { |
| | | let oMain = JSON.stringify(this.hform); |
| | | let sSubStr = JSON.stringify(this.HCheckFileList); |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">设备名称:</view> |
| | | <view class="title required">设备名称:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarName" disabled /> |
| | | </view> |
| | |
| | | state: false |
| | | } |
| | | } |
| | | |
| | | if (!this.hform.HBillNo) { |
| | | return { |
| | | Message: "单据号为空 不允许提交!", |
| | | state: false |
| | | } |
| | | } |
| | | |
| | | return { |
| | | Message: "", |
| | |
| | | this.hform.HQty = 1 |
| | | |
| | | // 获取检验规程 |
| | | this.GetItemByEquipFile() |
| | | await this.GetItemByEquipFile() |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | |
| | | } |
| | | } |
| | | }, |
| | | onLoad(e) { |
| | | async onLoad(e) { |
| | | console.log('e: ', e); |
| | | if (!e.operationType) { |
| | | this.operationType = 1 |
| | |
| | | } else if (this.operationType == 4) { |
| | | // 下推 |
| | | let HBarCode = e.HBarCode |
| | | let HPlanHInterID = e.HPlanHInterID |
| | | let HPlanHEntryID = e.HPlanHEntryID |
| | | this.getMaxNum() |
| | | this.GetMessageByBarCode(HBarCode) |
| | | //this.GetMessageByBarCode(HBarCode) |
| | | if (HBarCode) { |
| | | await this.GetMessageByBarCode(HBarCode) |
| | | if(uni.getStorageSync('Organization')=='宁波市华舟包装有限公司'){ |
| | | //保养计划的ID根据保养任务下推的实际id进行赋值 |
| | | this.hform.HEquipMaintainPlanInterID = (HPlanHInterID == null ? this.hform.HEquipMaintainPlanInterID : HPlanHInterID) =="" ? this.hform.HEquipMaintainPlanInterID : HPlanHInterID |
| | | this.hform.HEquipMaintainPlanEntryID = (HPlanHEntryID == null ? this.hform.HEquipMaintainPlanEntryID : HPlanHEntryID) =="" ? this.hform.HEquipMaintainPlanEntryID : HPlanHEntryID |
| | | this.hform.HMainSourceInterID = (HPlanHInterID == null ? this.hform.HMainSourceInterID : HPlanHInterID) =="" ? this.hform.HMainSourceInterID : HPlanHInterID |
| | | this.hform.HMainSourceEntryID = (HPlanHEntryID == null ? this.hform.HMainSourceEntryID : HPlanHEntryID) =="" ? this.hform.HMainSourceEntryID : HPlanHEntryID |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.getHDeptList() |
| | |
| | | <template> |
| | | <view> |
| | | <view class="tabs" id="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">基本信息</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">明细信息</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">其他信息</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">附件信息</view> |
| | | </view> |
| | | <!-- 基本信息 --> |
| | | <template v-if="tabs == 0"> |
| | | <view class="form" :style="{height: containerHeight + 'px',overflow: 'auto' }"> |
| | | <view class="form-item"> |
| | | <view class="title">模具条码:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HBarCode" @confirm="GetMessageByBarCode(hform.HBarCode)" |
| | | placeholder="请输入(或扫描)模具条码" /> |
| | | </view> |
| | | <view class="icon-wrapper" @click="toScanCode"> |
| | | <uni-icons type="scan" size="20" ></uni-icons> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养开始:</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate"> |
| | | <input :value="hform.HBeginDate" /> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养结束:</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate"> |
| | | <input :value="hform.HEndDate" /> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item" v-if="false"> |
| | | <view class="title">数量:</view> |
| | | <view class="right"> |
| | | <input type="number" v-model="hform.HQty" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">最终结论:</view> |
| | | <view class="right none-border"> |
| | | <radio-group @change="radioChange" class="radio_Container"> |
| | | <label> |
| | | <view> |
| | | <radio value="OK" :checked="hform.HLastResult == 'OK'" /> |
| | | <text>OK</text> |
| | | </view> |
| | | </label> |
| | | </label> |
| | | <view> |
| | | <radio value="NG" :checked="hform.HLastResult == 'NG'" /> |
| | | <text>NG</text> |
| | | </view> |
| | | </label> |
| | | </radio-group> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据日期:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">备注:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HRemark" placeholder="请输入备注" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具名称:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarName" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具规格:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarSpec" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具型号:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarModel" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养计划:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HPlanNo" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养级别:</view> |
| | | <zxz-uni-data-select class="right" :localdata="HMaintainLevList" dataKey="保养级别名称" |
| | | dataValue="HItemID" v-model="hform.HMaintainLevID"> |
| | | </zxz-uni-data-select> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <!-- 明细信息 --> |
| | | <template v-if="tabs == 1"> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="left"> |
| | | 模具保养规程 |
| | | </view> |
| | | <view class="right"> |
| | | <input type="text" :value="hform.HMouldMaintainRuleInterNo" /> |
| | | </view> |
| | | <view class="icon-wrapper" @click="toCheckFile"> |
| | | <uni-icons type="search" size="20" ></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="list" v-for="(item,index) in HCheckFileList" :key="index"> |
| | | <uni-card style="margin: 10px;"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>序号:</text>{{index+1}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>结果:</text> |
| | | <checkbox-group style="display: inline-block;" |
| | | @change="checkBoxChangeHandler(index, $event)"> |
| | | <checkbox value="enabled" :checked="item.HMaintainResult" /> |
| | | </checkbox-group> |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养项目ID:</text>{{item.HMaintainItemID}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>保养项目:</text>{{item.HMaintainItem}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>保养部位:</text>{{item.HMaintainPart}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>具体要求:</text>{{item.HClaim}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>负责人ID:</text>{{item.HManagerID}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>负责人名称:</text>{{item.HManagerName}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>备注:</text>{{item.HRemark}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单ID:</text>{{item.HSourceInterID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单子ID:</text>{{item.HSourceEntryID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单号:</text>{{item.HSourceBillNo}} |
| | | </view> |
| | | <view> |
| | | <view class="tabs" id="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">基本信息</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">明细信息</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">其他信息</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">附件信息</view> |
| | | </view> |
| | | <!-- 基本信息 --> |
| | | <template v-if="tabs == 0"> |
| | | <view class="form" :style="{height: containerHeight + 'px',overflow: 'auto' }"> |
| | | <view class="form-item"> |
| | | <view class="title">模具条码:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HBarCode" @confirm="GetMessageByBarCode(hform.HBarCode)" |
| | | placeholder="请输入(或扫描)模具条码" /> |
| | | </view> |
| | | <view class="icon-wrapper" @click="toScanCode"> |
| | | <uni-icons type="scan" size="20"></uni-icons> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养开始:</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate"> |
| | | <input :value="hform.HBeginDate" /> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养结束:</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate"> |
| | | <input :value="hform.HEndDate" /> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item" v-if="false"> |
| | | <view class="title">数量:</view> |
| | | <view class="right"> |
| | | <input type="number" v-model="hform.HQty" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">最终结论:</view> |
| | | <view class="right none-border"> |
| | | <radio-group @change="radioChange" class="radio_Container"> |
| | | <label> |
| | | <view> |
| | | <radio value="OK" :checked="hform.HLastResult == 'OK'" /> |
| | | <text>OK</text> |
| | | </view> |
| | | </label> |
| | | </label> |
| | | <view> |
| | | <radio value="NG" :checked="hform.HLastResult == 'NG'" /> |
| | | <text>NG</text> |
| | | </view> |
| | | </label> |
| | | </radio-group> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据日期:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">备注:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HRemark" placeholder="请输入备注" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title required">模具名称:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarName" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具规格:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarSpec" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具型号:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarModel" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养计划:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HPlanNo" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保养级别:</view> |
| | | <zxz-uni-data-select class="right" :localdata="HMaintainLevList" dataKey="保养级别名称" |
| | | dataValue="HItemID" v-model="hform.HMaintainLevID"> |
| | | </zxz-uni-data-select> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <!-- 明细信息 --> |
| | | <template v-if="tabs == 1"> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="left"> |
| | | 模具保养规程 |
| | | </view> |
| | | <view class="right"> |
| | | <input type="text" :value="hform.HMouldMaintainRuleInterNo" /> |
| | | </view> |
| | | <view class="icon-wrapper" @click="toCheckFile"> |
| | | <uni-icons type="search" size="20"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="list" v-for="(item,index) in HCheckFileList" :key="index"> |
| | | <uni-card style="margin: 10px;"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>序号:</text>{{index+1}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>结果:</text> |
| | | <checkbox-group style="display: inline-block;" |
| | | @change="checkBoxChangeHandler(index, $event)"> |
| | | <checkbox value="enabled" :checked="item.HMaintainResult" /> |
| | | </checkbox-group> |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>保养项目ID:</text>{{item.HMaintainItemID}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>保养项目:</text>{{item.HMaintainItem}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>保养部位:</text>{{item.HMaintainPart}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>具体要求:</text>{{item.HClaim}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>负责人ID:</text>{{item.HManagerID}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>负责人名称:</text>{{item.HManagerName}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>备注:</text>{{item.HRemark}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单ID:</text>{{item.HSourceInterID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单子ID:</text>{{item.HSourceEntryID}} |
| | | </view> |
| | | <view class="detail" v-if="false"> |
| | | <text>源单号:</text>{{item.HSourceBillNo}} |
| | | </view> |
| | | |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="HCheckFileList.length == 0">暂无数据</view> |
| | | <view style="height: 120rpx;"></view> |
| | | </template> |
| | | <!-- 其他信息 --> |
| | | <template v-if="tabs == 2"> |
| | | <view class="form" :style="{height: containerHeight + 'px', overflow: 'auto'}"> |
| | | <view class="form-item"> |
| | | <view class="title">创建人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">创建日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HMakeDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">修改人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HUpDater" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">修改日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HUpDateDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">审核人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HChecker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">审核时间:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HCheckDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">作废人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HDeleteMan" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">作废日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HDeleteDate" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="HCheckFileList.length == 0">暂无数据</view> |
| | | <view style="height: 120rpx;"></view> |
| | | </template> |
| | | <!-- 其他信息 --> |
| | | <template v-if="tabs == 2"> |
| | | <view class="form" :style="{height: containerHeight + 'px', overflow: 'auto'}"> |
| | | <view class="form-item"> |
| | | <view class="title">创建人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">创建日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HMakeDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">修改人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HUpDater" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">修改日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HUpDateDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">审核人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HChecker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">审核时间:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HCheckDate" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">作废人:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HDeleteMan" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">作废日期:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HDeleteDate" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | </template> |
| | | <!-- 附件信息 --> |
| | | <template v-if="tabs == 3"> |
| | | <view class="card-item-wrapper"> |
| | | <view class="attachment-btns"> |
| | | <button type="primary" size="mini" @tap="fileUpload">选择文件</button> |
| | | <view style="flex: 1;"></view> |
| | | </view> |
| | | <view v-for="(item, index) in attachmentInfo" :key="index"> |
| | | <uni-card :title="item['fileName']" :thumbnail="item.filePath"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>大小:</text>{{item["size"]}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>状态:</text>{{item["status"]}} |
| | | </view> |
| | | <view class="detail operation" v-if="item['status']!='上传成功'"> |
| | | <text>操作:</text> |
| | | <button class="btn-a" size="mini" @tap.stop="uploadFile(index)">上传</button> |
| | | <button class="btn-b" size="mini" @tap.stop="delFile(index)">删除</button> |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <!-- 操作按钮 --> |
| | | <view class="buttons" id="buttons"> |
| | | <button class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <view style="flex: 1;"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload> |
| | | </view> |
| | | </template> |
| | | <!-- 附件信息 --> |
| | | <template v-if="tabs == 3"> |
| | | <view class="card-item-wrapper"> |
| | | <view class="attachment-btns"> |
| | | <button type="primary" size="mini" @tap="fileUpload">选择文件</button> |
| | | <view style="flex: 1;"></view> |
| | | </view> |
| | | <view v-for="(item, index) in attachmentInfo" :key="index"> |
| | | <uni-card :title="item['fileName']" :thumbnail="item.filePath"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>大小:</text>{{item["size"]}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>状态:</text>{{item["status"]}} |
| | | </view> |
| | | <view class="detail operation" v-if="item['status']!='上传成功'"> |
| | | <text>操作:</text> |
| | | <button class="btn-a" size="mini" @tap.stop="uploadFile(index)">上传</button> |
| | | <button class="btn-b" size="mini" @tap.stop="delFile(index)">删除</button> |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <!-- 操作按钮 --> |
| | | <view class="buttons" id="buttons"> |
| | | <button class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <view style="flex: 1;"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import dayjs from "dayjs"; |
| | | import { |
| | | CommonUtils |
| | | } from "@/utils/common"; |
| | | import { |
| | | MpaasScan |
| | | } from "@/utils/mpaasScan.js" |
| | | import { |
| | | getUserInfo |
| | | } from "../../../utils/auth"; |
| | | import { |
| | | TrackOpTypes |
| | | } from "vue"; |
| | | export default { |
| | | name: 'Sc_MouldMaintainBill', |
| | | data() { |
| | | return { |
| | | tabs: 0, |
| | | HMainSourceBillType: "", |
| | | btnTop: 0, |
| | | tabsBottom: 0, |
| | | HModName: "Sc_MouldMaintainBill", |
| | | HBillType: '3819', |
| | | operationType: 1, |
| | | uploadOptions: {}, |
| | | import dayjs from "dayjs"; |
| | | import { |
| | | CommonUtils |
| | | } from "@/utils/common"; |
| | | import { |
| | | MpaasScan |
| | | } from "@/utils/mpaasScan.js" |
| | | import { |
| | | getUserInfo |
| | | } from "../../../utils/auth"; |
| | | import { |
| | | TrackOpTypes |
| | | } from "vue"; |
| | | export default { |
| | | name: 'Sc_MouldMaintainBill', |
| | | data() { |
| | | return { |
| | | tabs: 0, |
| | | HMainSourceBillType: "", |
| | | btnTop: 0, |
| | | tabsBottom: 0, |
| | | HModName: "Sc_MouldMaintainBill", |
| | | HBillType: '3819', |
| | | operationType: 1, |
| | | uploadOptions: {}, |
| | | |
| | | HMaintainLevList: [], |
| | | HCheckFileList: [], |
| | | attachmentInfo: [], |
| | | HMaintainLevList: [], |
| | | HCheckFileList: [], |
| | | attachmentInfo: [], |
| | | |
| | | hform: { |
| | | HBarCode: "", |
| | | HBeginDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HEndDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HQty: 1, |
| | | HBillNo: "", |
| | | HInterID: 0, |
| | | HDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HMaintainLevName: "", |
| | | HMaintainLevID: 0, |
| | | HRemark: "", |
| | | HBarName: "", |
| | | HMouldID: 0, |
| | | HBarSpec: "", |
| | | HBarModel: "", |
| | | HPlanNo: "", |
| | | HPlanInterID: 0, |
| | | HMouldMaintainRuleInterID: 0, |
| | | HMouldMaintainRuleInterNo: "", |
| | | HRequestComDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HRecentMainModule: 0, |
| | | HCumulativeModule: 0, |
| | | HProductionModule: 0, |
| | | HExplanation: "", |
| | | HInnerBillNo: "", |
| | | HMainSourceInterID: 0, |
| | | HMainSourceEntryID: 0, |
| | | HMainSourceBillNo: "", |
| | | HMaker: getUserInfo()['Czymc'], |
| | | HMakeDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HUpDater: "", |
| | | HUpDateDate: "", |
| | | HChecker: "", |
| | | HCheckDate: "", |
| | | HDeleteMan: "", |
| | | HDeleteDate: "", |
| | | lngBillKey: 0, |
| | | lngBillSubKey: 0, |
| | | HLastResult: "OK" |
| | | } |
| | | }; |
| | | }, |
| | | computed: { |
| | | containerHeight: { |
| | | get() { |
| | | return this.btnTop - this.tabsBottom - 5 |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | addNew() { |
| | | uni.redirectTo({ |
| | | url: "./Sc_MouldMaintainBill?operationType=1" |
| | | }) |
| | | }, |
| | | goBack() { |
| | | uni.navigateBack() |
| | | }, |
| | | checkBoxChangeHandler(index, e) { |
| | | let cr = e.detail.value |
| | | if (cr.length == 0) { |
| | | this.HCheckFileList[index]["HMaintainResult"] = false |
| | | } else { |
| | | this.HCheckFileList[index]["HMaintainResult"] = true |
| | | } |
| | | }, |
| | | uploadFile(index) { |
| | | console.log('filePath: ', this.attachmentInfo[index].filePath); |
| | | // 通过临时路径读取文件 |
| | | uni.uploadFile({ |
| | | url: CommonUtils.getServerUrl() + "/Sc_MouldMaintainBill/UploadFile", |
| | | filePath: this.attachmentInfo[index].filePath, |
| | | name: 'file', |
| | | formData: { |
| | | HBillNo: this.hform.HBillNo, |
| | | HRemark: "", |
| | | HUserName: getUserInfo()["Czymc"] |
| | | }, |
| | | success: (uploadRes) => { |
| | | CommonUtils.showTips({ |
| | | message: "上传成功" |
| | | }) |
| | | this.attachmentInfo[index].status = "上传成功" |
| | | }, |
| | | fail: (err) => { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `上传失败: ${err}` |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | delFile(index) { |
| | | console.log('attachmentInfo: ', this.attachmentInfo[index]); |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 " ' + this.attachmentInfo[index].fileName + ' " 删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | this.attachmentInfo.splice(index, 1) |
| | | } |
| | | }, |
| | | }) |
| | | hform: { |
| | | HBarCode: "", |
| | | HBeginDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HEndDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HQty: 1, |
| | | HBillNo: "", |
| | | HInterID: 0, |
| | | HDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HMaintainLevName: "", |
| | | HMaintainLevID: 0, |
| | | HRemark: "", |
| | | HBarName: "", |
| | | HMouldID: 0, |
| | | HBarSpec: "", |
| | | HBarModel: "", |
| | | HPlanNo: "", |
| | | HPlanInterID: 0, |
| | | HMouldMaintainRuleInterID: 0, |
| | | HMouldMaintainRuleInterNo: "", |
| | | HRequestComDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HRecentMainModule: 0, |
| | | HCumulativeModule: 0, |
| | | HProductionModule: 0, |
| | | HExplanation: "", |
| | | HInnerBillNo: "", |
| | | HMainSourceInterID: 0, |
| | | HMainSourceEntryID: 0, |
| | | HMainSourceBillNo: "", |
| | | HMaker: getUserInfo()['Czymc'], |
| | | HMakeDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HUpDater: "", |
| | | HUpDateDate: "", |
| | | HChecker: "", |
| | | HCheckDate: "", |
| | | HDeleteMan: "", |
| | | HDeleteDate: "", |
| | | lngBillKey: 0, |
| | | lngBillSubKey: 0, |
| | | HLastResult: "OK" |
| | | } |
| | | }; |
| | | }, |
| | | computed: { |
| | | containerHeight: { |
| | | get() { |
| | | return this.btnTop - this.tabsBottom - 5 |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | addNew() { |
| | | uni.redirectTo({ |
| | | url: "./Sc_MouldMaintainBill?operationType=1" |
| | | }) |
| | | }, |
| | | goBack() { |
| | | uni.navigateBack() |
| | | }, |
| | | checkBoxChangeHandler(index, e) { |
| | | let cr = e.detail.value |
| | | if (cr.length == 0) { |
| | | this.HCheckFileList[index]["HMaintainResult"] = false |
| | | } else { |
| | | this.HCheckFileList[index]["HMaintainResult"] = true |
| | | } |
| | | }, |
| | | uploadFile(index) { |
| | | console.log('filePath: ', this.attachmentInfo[index].filePath); |
| | | // 通过临时路径读取文件 |
| | | uni.uploadFile({ |
| | | url: CommonUtils.getServerUrl() + "/Sc_MouldMaintainBill/UploadFile", |
| | | filePath: this.attachmentInfo[index].filePath, |
| | | name: 'file', |
| | | formData: { |
| | | HBillNo: this.hform.HBillNo, |
| | | HRemark: "", |
| | | HUserName: getUserInfo()["Czymc"] |
| | | }, |
| | | success: (uploadRes) => { |
| | | CommonUtils.showTips({ |
| | | message: "上传成功" |
| | | }) |
| | | this.attachmentInfo[index].status = "上传成功" |
| | | }, |
| | | fail: (err) => { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `上传失败: ${err}` |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | delFile(index) { |
| | | console.log('attachmentInfo: ', this.attachmentInfo[index]); |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 " ' + this.attachmentInfo[index].fileName + ' " 删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | this.attachmentInfo.splice(index, 1) |
| | | } |
| | | }, |
| | | }) |
| | | |
| | | }, |
| | | handleUploadCallback(res) { // 文件上传回调 |
| | | console.log('file: ', res); |
| | | let fileInfo = res.data[0] |
| | | this.attachmentInfo.push({ |
| | | fileName: fileInfo.name, |
| | | size: fileInfo.size, |
| | | status: '等待上传', |
| | | filePath: fileInfo.tempFilePath |
| | | }) |
| | | }, |
| | | // 上传文件 |
| | | fileUpload() { |
| | | this.$refs.XeUpload.upload('file', {}); |
| | | }, |
| | | //获取保养级别数据 |
| | | async getHMaintainLevList() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_BadReason/Gy_MaintainLevList', |
| | | data: { |
| | | sWhere: " and HUSEORGID = " + uni.getStorageSync('OrganizationID'), |
| | | user: uni.getStorageSync('HUserName') |
| | | } |
| | | }) |
| | | }, |
| | | handleUploadCallback(res) { // 文件上传回调 |
| | | console.log('file: ', res); |
| | | let fileInfo = res.data[0] |
| | | this.attachmentInfo.push({ |
| | | fileName: fileInfo.name, |
| | | size: fileInfo.size, |
| | | status: '等待上传', |
| | | filePath: fileInfo.tempFilePath |
| | | }) |
| | | }, |
| | | // 上传文件 |
| | | fileUpload() { |
| | | this.$refs.XeUpload.upload('file', {}); |
| | | }, |
| | | //获取保养级别数据 |
| | | async getHMaintainLevList() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_BadReason/Gy_MaintainLevList', |
| | | data: { |
| | | sWhere: " and HUSEORGID = " + uni.getStorageSync('OrganizationID'), |
| | | user: uni.getStorageSync('HUserName') |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.HMaintainLevList = data |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: Message |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: err |
| | | }) |
| | | } |
| | | }, |
| | | toScanCode() { |
| | | MpaasScan.scanCode(cb => { |
| | | this.hform.HBarCode = cb |
| | | this.GetMessageByBarCode(cb) |
| | | }) |
| | | }, |
| | | async GetMessageByBarCode(HBarCode) { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/QJ_PDA_MouldDotCheckBill/txtHBarCode_KeyDown", |
| | | data: { |
| | | HBarCode: HBarCode, |
| | | user: uni.getStorageSync('HUserName') |
| | | }, |
| | | }) |
| | | if (!res) { |
| | | return |
| | | } |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.HMaintainLevList = data |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: Message |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: err |
| | | }) |
| | | } |
| | | }, |
| | | toScanCode() { |
| | | MpaasScan.scanCode(cb => { |
| | | this.hform.HBarCode = cb |
| | | this.GetMessageByBarCode(cb) |
| | | }) |
| | | }, |
| | | async GetMessageByBarCode(HBarCode) { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/QJ_PDA_MouldDotCheckBill/txtHBarCode_KeyDown", |
| | | data: { |
| | | HBarCode: HBarCode, |
| | | user: uni.getStorageSync('HUserName') |
| | | }, |
| | | }) |
| | | if (!res) { |
| | | return |
| | | } |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | |
| | | console.log('data: ', data); |
| | | this.hform.HMouldID = data[0].HInterID |
| | | this.hform.HBarName = data[0].HName |
| | | this.hform.HBarSpec = data[0].HModel |
| | | this.hform.HBarModel = data[0].HModel2 |
| | | this.hform.HQty = 1 |
| | | // 获取检验规程 |
| | | this.GetItemByMouldFile() |
| | | } catch (err) { |
| | | console.log('data: ', data); |
| | | this.hform.HMouldID = data[0].HInterID |
| | | this.hform.HBarName = data[0].HName |
| | | this.hform.HBarSpec = data[0].HModel |
| | | this.hform.HBarModel = data[0].HModel2 |
| | | this.hform.HQty = 1 |
| | | // 获取保养规程 |
| | | await this.GetItemByMouldFile() |
| | | } catch (err) { |
| | | |
| | | } |
| | | }, |
| | | async GetItemByMouldFile() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Web/GetItemByMouldFile", |
| | | data: { |
| | | "MouldProjectID": this.hform.HMouldID, |
| | | "Type": "BY", |
| | | "HDate": this.hform.HBeginDate |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | async GetItemByMouldFile() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Web/GetItemByMouldFile", |
| | | data: { |
| | | "MouldProjectID": this.hform.HMouldID, |
| | | "Type": "BY", |
| | | "HDate": this.hform.HBeginDate |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.hform.HMouldMaintainRuleInterID = data[0].HMouldMaintainRuleID |
| | | this.hform.HMouldMaintainRuleInterNo = data[0].器具保养规程 |
| | | this.hform.HPlanNo = data[0].单据号 |
| | | this.hform.HMouldMaintainPlanInterID = (data[0].hmainid == null ? 0 : data[0].hmainid) == |
| | | "" ? |
| | | 0 : data[0].hmainid |
| | | this.hform.HMouldMaintainPlanEntryID = (data[0].HEntryID == null ? 0 : data[0].HEntryID) == |
| | | "" ? 0 : data[0].HEntryID |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.hform.HMouldMaintainRuleInterID = data[0].HMouldMaintainRuleID |
| | | this.hform.HMouldMaintainRuleInterNo = data[0].器具保养规程 |
| | | this.hform.HPlanNo = data[0].单据号 |
| | | this.hform.HMouldMaintainPlanInterID = (data[0].hmainid == null ? 0 : data[0].hmainid) == |
| | | "" ? |
| | | 0 : data[0].hmainid |
| | | this.hform.HMouldMaintainPlanEntryID = (data[0].HEntryID == null ? 0 : data[0].HEntryID) == |
| | | "" ? 0 : data[0].HEntryID |
| | | |
| | | this.HCheckFileList = Array.from(data).map(item => { |
| | | return { |
| | | // "HMaintainResult": item.默认结论 == 1 ? true : false, |
| | | "HMaintainItemID": item.保养项目ID, |
| | | "HMaintainItem": item.保养项目名称, |
| | | "HMaintainPart": item.保养部位, // 修改字段名 |
| | | "HClaim": item.具体要求, |
| | | "HManagerID": item.负责人ID, |
| | | "HManagerName": item.负责人名称, |
| | | "HSourceInterID": item.hmainid == null ? 0 : item.hmainid, // 需确认是否正确 |
| | | "HSourceEntryID": item.HEntryID == null ? 0 : item.HEntryID, // 需确认是否正确 |
| | | "HSourceBillNo": item.单据号, // 需确认是否正确 |
| | | "HMaintainResult": item.默认保养结果 == 'OK' ? true : false |
| | | } |
| | | }) |
| | | this.HCheckFileList = Array.from(data).map(item => { |
| | | return { |
| | | // "HMaintainResult": item.默认结论 == 1 ? true : false, |
| | | "HMaintainItemID": item.保养项目ID, |
| | | "HMaintainItem": item.保养项目名称, |
| | | "HMaintainPart": item.保养部位, // 修改字段名 |
| | | "HClaim": item.具体要求, |
| | | "HManagerID": item.负责人ID, |
| | | "HManagerName": item.负责人名称, |
| | | "HSourceInterID": item.hmainid == null ? 0 : item.hmainid, // 需确认是否正确 |
| | | "HSourceEntryID": item.HEntryID == null ? 0 : item.HEntryID, // 需确认是否正确 |
| | | "HSourceBillNo": item.单据号, // 需确认是否正确 |
| | | "HMaintainResult": item.默认保养结果 == 'OK' ? true : false |
| | | } |
| | | }) |
| | | |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取保养规程错误: ${Message}` |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取保养规程错误: ${err}` |
| | | }) |
| | | } |
| | | }, |
| | | toCheckFile() { |
| | | // 判断是否已扫描模具 |
| | | if (!this.hform.HMouldID || this.hform.HMouldID == 0) { |
| | | uni.showToast({ |
| | | title: '请先扫描模具二维码带出模具信息', |
| | | icon: 'none' |
| | | }); |
| | | return; |
| | | } |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取保养规程错误: ${Message}` |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取保养规程错误: ${err}` |
| | | }) |
| | | } |
| | | }, |
| | | toCheckFile() { |
| | | // 判断是否已扫描模具 |
| | | if (!this.hform.HMouldID || this.hform.HMouldID == 0) { |
| | | uni.showToast({ |
| | | title: '请先扫描模具二维码带出模具信息', |
| | | icon: 'none' |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 打开保养规程选择页面 |
| | | uni.navigateTo({ |
| | | url: '/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainRuleBillList?mouldId=' + this.hform |
| | | .HMouldID, |
| | | success: (res) => { |
| | | // 通过事件通道监听返回的数据 |
| | | res.eventChannel.on('selectedPlanData', (data) => { |
| | | console.log('接收到选择的数据:', data); |
| | | // 赋值字段 |
| | | this.hform.HMouldMaintainRuleInterNo = data.单据号; |
| | | this.hform.HMouldMaintainRuleInterID = data.hmainid; |
| | | this.hform.HPlanNo = data.保养计划号 == null ? "" : data.保养计划号; |
| | | this.hform.HPlanInterID = data.保养计划id == null ? 0 : data.保养计划id, |
| | | this.hform.HMouldMaintainPlanInterID = data.保养计划id == null ? 0 : |
| | | data.保养计划id; |
| | | this.hform.HMouldMaintainPlanEntryID = data.保养计划子id == null ? 0 : data |
| | | .保养计划子id; |
| | | this.hform.HMainSourceBillNo = data.保养计划号 == null ? "" : data.保养计划号; |
| | | this.hform.HMaintainLevName = data.保养级别; |
| | | this.hform.HMaintainLevID = data.HMaintainLevID; |
| | | // 打开保养规程选择页面 |
| | | uni.navigateTo({ |
| | | url: '/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainRuleBillList?mouldId=' + this.hform |
| | | .HMouldID, |
| | | success: (res) => { |
| | | // 通过事件通道监听返回的数据 |
| | | res.eventChannel.on('selectedPlanData', (data) => { |
| | | console.log('接收到选择的数据:', data); |
| | | // 赋值字段 |
| | | this.hform.HMouldMaintainRuleInterNo = data.单据号; |
| | | this.hform.HMouldMaintainRuleInterID = data.hmainid; |
| | | this.hform.HPlanNo = data.保养计划号 == null ? "" : data.保养计划号; |
| | | this.hform.HPlanInterID = data.保养计划id == null ? 0 : data.保养计划id, |
| | | this.hform.HMouldMaintainPlanInterID = data.保养计划id == null ? 0 : |
| | | data.保养计划id; |
| | | this.hform.HMouldMaintainPlanEntryID = data.保养计划子id == null ? 0 : data |
| | | .保养计划子id; |
| | | this.hform.HMainSourceBillNo = data.保养计划号 == null ? "" : data.保养计划号; |
| | | this.hform.HMaintainLevName = data.保养级别; |
| | | this.hform.HMaintainLevID = data.HMaintainLevID; |
| | | |
| | | // 调用获取保养项目的方法 |
| | | this.get_MaintainItem2(); |
| | | }); |
| | | // 调用获取保养项目的方法 |
| | | this.get_MaintainItem2(); |
| | | }); |
| | | |
| | | res.eventChannel.on('closePage', () => { |
| | | console.log('关闭选择页面'); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | res.eventChannel.on('closePage', () => { |
| | | console.log('关闭选择页面'); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 获取保养规则项目 |
| | | async get_MaintainItem2() { |
| | | try { |
| | | // 验证是否已选择保养规程 |
| | | if (!this.hform.HMouldMaintainRuleInterID || this.hform.HMouldMaintainRuleInterID == 0) { |
| | | uni.showToast({ |
| | | title: '请先选择保养规程', |
| | | icon: 'none' |
| | | }); |
| | | return; |
| | | } |
| | | // 获取保养规则项目 |
| | | async get_MaintainItem2() { |
| | | try { |
| | | // 验证是否已选择保养规程 |
| | | if (!this.hform.HMouldMaintainRuleInterID || this.hform.HMouldMaintainRuleInterID == 0) { |
| | | uni.showToast({ |
| | | title: '请先选择保养规程', |
| | | icon: 'none' |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Web/GetMaintainItemByMaintainRuleID/Mould', |
| | | data: { |
| | | "HMouldMaintainRuleInterID": this.hform.HMouldMaintainRuleInterID |
| | | } |
| | | }); |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Web/GetMaintainItemByMaintainRuleID/Mould', |
| | | data: { |
| | | "HMouldMaintainRuleInterID": this.hform.HMouldMaintainRuleInterID |
| | | } |
| | | }); |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data; |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data; |
| | | |
| | | if (count == 1) { |
| | | if (data && data.length > 0) { |
| | | this.HCheckFileList = Array.from(data).map(item => { |
| | | return { |
| | | "HMaintainItemID": item.HMaintainItemID || 0, |
| | | "HMaintainItem": item.保养项目 || "", |
| | | "HMaintainPart": item.保养部位 || "", |
| | | "HClaim": item.具体要求 || "", |
| | | "HManagerID": item.负责人ID || 0, |
| | | "HManagerCode": item.负责人代码 || "", |
| | | "HManagerName": item.负责人名称 || "", |
| | | "HMaintainResult": item.默认保养结果 == 'OK' ? true : false, |
| | | "HRemark": item.表体备注 || "", |
| | | }; |
| | | }); |
| | | } else { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: '该保养规程暂无保养项目记录', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | } else { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: Message || '获取保养项目失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | } catch (err) { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: `获取保养项目失败: ${err}`, |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }, |
| | | radioChange(e) { |
| | | console.log('radioChange:', e.detail.value); |
| | | this.hform.HLastResult = e.detail.value; |
| | | }, |
| | | getEditData(hmainid) { |
| | | // 主表数据 |
| | | uni.request({ |
| | | url: CommonUtils.getServerUrl() + |
| | | '/Sc_MouldMaintainBill/Sc_MouldMaintainBillListCheckDetai', |
| | | data: { |
| | | HID: hmainid |
| | | }, |
| | | success: (res) => { |
| | | console.log('编辑接口返回数据:', res.data); |
| | | if (res.data.code == 1) { |
| | | var data = res.data.data.h_v_Sc_MouldMaintain[0]; |
| | | this.hform = { |
| | | HInterID: hmainid, |
| | | HBillNo: data.单据号, |
| | | HDate: data.日期.substr(0, 10), |
| | | HMouldID: data.HMouldID || 0, |
| | | HBarCode: data.模具条码 || "", |
| | | HBarName: data.产品模具 || "", |
| | | HBarSpec: data.模具规格 || "", |
| | | HBarModel: data.模具型号 || "", |
| | | HPlanNo: data.保养计划编号 || "", |
| | | HPlanInterID: data.保养计划内码 || 0, |
| | | HBeginDate: data.保养开始日期 ? data.保养开始日期.substr(0, 10) : dayjs(new Date()) |
| | | .format("YYYY-MM-DD HH:mm:ss"), |
| | | HEndDate: data.保养结束日期 ? data.保养结束日期.substr(0, 10) : dayjs(new Date()) |
| | | .format("YYYY-MM-DD HH:mm:ss"), |
| | | HLastResult: data.最终结论 === '合格' ? 'OK' : (data.最终结论 === '不合格' ? 'NG' : |
| | | 'OK'), |
| | | HMouldMaintainRuleInterID: data.HMouldMaintainRuleInterID || 0, |
| | | HMouldMaintainRuleInterNo: data.器具保养规程 || "", |
| | | HRemark: data.备注 || "", |
| | | HMaintainLevID: data.HMaintainLevID || 0, |
| | | HMaintainLevName: data.保养级别名称 || "", |
| | | HQty: data.数量 || 1, |
| | | HMaker: data.制单人 || getUserInfo()['Czymc'], |
| | | HMakeDate: data.制单日期 ? data.制单日期.substr(0, 10) : dayjs(new Date()) |
| | | .format( |
| | | "YYYY-MM-DD"), |
| | | HUpDater: data.修改人 || "", |
| | | HUpDateDate: data.修改日期 ? data.修改日期.substr(0, 10) : "", |
| | | HChecker: data.审核人 || "", |
| | | HCheckDate: data.审核日期 ? data.审核日期.substr(0, 10) : "", |
| | | HDeleteMan: data.作废人 || "", |
| | | HDeleteDate: data.作废日期 ? data.作废日期.substr(0, 10) : "", |
| | | lngBillKey: 0, |
| | | lngBillSubKey: 0, |
| | | HInnerBillNo: data.内部单据号 || "", |
| | | HExplanation: data.摘要 || "", |
| | | HRequestComDate: data.要求完成日期 ? data.要求完成日期.substr(0, 10) : "", |
| | | HRecentMainModule: data.最近保养模数 || 0, |
| | | HCumulativeModule: data.累计模数 || 0, |
| | | HProductionModule: data.本次生产模数 || 0 |
| | | }; |
| | | if (count == 1) { |
| | | if (data && data.length > 0) { |
| | | this.HCheckFileList = Array.from(data).map(item => { |
| | | return { |
| | | "HMaintainItemID": item.HMaintainItemID || 0, |
| | | "HMaintainItem": item.保养项目 || "", |
| | | "HMaintainPart": item.保养部位 || "", |
| | | "HClaim": item.具体要求 || "", |
| | | "HManagerID": item.负责人ID || 0, |
| | | "HManagerCode": item.负责人代码 || "", |
| | | "HManagerName": item.负责人名称 || "", |
| | | "HMaintainResult": item.默认保养结果 == 'OK' ? true : false, |
| | | "HRemark": item.表体备注 || "", |
| | | }; |
| | | }); |
| | | } else { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: '该保养规程暂无保养项目记录', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | } else { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: Message || '获取保养项目失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | } catch (err) { |
| | | this.HCheckFileList = []; |
| | | uni.showToast({ |
| | | title: `获取保养项目失败: ${err}`, |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }, |
| | | radioChange(e) { |
| | | console.log('radioChange:', e.detail.value); |
| | | this.hform.HLastResult = e.detail.value; |
| | | }, |
| | | getEditData(hmainid) { |
| | | // 主表数据 |
| | | uni.request({ |
| | | url: CommonUtils.getServerUrl() + |
| | | '/Sc_MouldMaintainBill/Sc_MouldMaintainBillListCheckDetai', |
| | | data: { |
| | | HID: hmainid |
| | | }, |
| | | success: (res) => { |
| | | console.log('编辑接口返回数据:', res.data); |
| | | if (res.data.code == 1) { |
| | | var data = res.data.data.h_v_Sc_MouldMaintain[0]; |
| | | this.hform = { |
| | | HInterID: hmainid, |
| | | HBillNo: data.单据号, |
| | | HDate: data.日期.substr(0, 10), |
| | | HMouldID: data.HMouldID || 0, |
| | | HBarCode: data.模具条码 || "", |
| | | HBarName: data.产品模具 || "", |
| | | HBarSpec: data.模具规格 || "", |
| | | HBarModel: data.模具型号 || "", |
| | | HPlanNo: data.保养计划编号 || "", |
| | | HPlanInterID: data.保养计划内码 || 0, |
| | | HBeginDate: data.保养开始日期 ? data.保养开始日期.substr(0, 10) : dayjs(new Date()) |
| | | .format("YYYY-MM-DD HH:mm:ss"), |
| | | HEndDate: data.保养结束日期 ? data.保养结束日期.substr(0, 10) : dayjs(new Date()) |
| | | .format("YYYY-MM-DD HH:mm:ss"), |
| | | HLastResult: data.最终结论 === '合格' ? 'OK' : (data.最终结论 === '不合格' ? 'NG' : |
| | | 'OK'), |
| | | HMouldMaintainRuleInterID: data.HMouldMaintainRuleInterID || 0, |
| | | HMouldMaintainRuleInterNo: data.器具保养规程 || "", |
| | | HRemark: data.备注 || "", |
| | | HMaintainLevID: data.HMaintainLevID || 0, |
| | | HMaintainLevName: data.保养级别名称 || "", |
| | | HQty: data.数量 || 1, |
| | | HMaker: data.制单人 || getUserInfo()['Czymc'], |
| | | HMakeDate: data.制单日期 ? data.制单日期.substr(0, 10) : dayjs(new Date()) |
| | | .format( |
| | | "YYYY-MM-DD"), |
| | | HUpDater: data.修改人 || "", |
| | | HUpDateDate: data.修改日期 ? data.修改日期.substr(0, 10) : "", |
| | | HChecker: data.审核人 || "", |
| | | HCheckDate: data.审核日期 ? data.审核日期.substr(0, 10) : "", |
| | | HDeleteMan: data.作废人 || "", |
| | | HDeleteDate: data.作废日期 ? data.作废日期.substr(0, 10) : "", |
| | | lngBillKey: 0, |
| | | lngBillSubKey: 0, |
| | | HInnerBillNo: data.内部单据号 || "", |
| | | HExplanation: data.摘要 || "", |
| | | HRequestComDate: data.要求完成日期 ? data.要求完成日期.substr(0, 10) : "", |
| | | HRecentMainModule: data.最近保养模数 || 0, |
| | | HCumulativeModule: data.累计模数 || 0, |
| | | HProductionModule: data.本次生产模数 || 0 |
| | | }; |
| | | |
| | | // 获取部门列表并设置保养级别 |
| | | if (data.HMaintainLevID) { |
| | | this.$nextTick(() => { |
| | | this.hform.HMaintainLevID = data.HMaintainLevID; |
| | | }); |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message || '获取数据失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log('主表请求失败:', res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | complete: () => { |
| | | // 获取子表数据 |
| | | this.getSubEditData(hmainid); |
| | | } |
| | | }); |
| | | }, |
| | | // 获取部门列表并设置保养级别 |
| | | if (data.HMaintainLevID) { |
| | | this.$nextTick(() => { |
| | | this.hform.HMaintainLevID = data.HMaintainLevID; |
| | | }); |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message || '获取数据失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log('主表请求失败:', res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | complete: () => { |
| | | // 获取子表数据 |
| | | this.getSubEditData(hmainid); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 获取子表数据 |
| | | getSubEditData(hmainid) { |
| | | uni.request({ |
| | | url: CommonUtils.getServerUrl() + |
| | | '/Sc_MouldMaintainBill/Sc_MouldMaintainBillListProjectDetaiNew', |
| | | data: { |
| | | "HInterID": hmainid |
| | | }, |
| | | success: (res) => { |
| | | console.log('子表数据:', res.data); |
| | | if (res.data.count == 1) { |
| | | this.HCheckFileList = res.data.list[0].map(item => { |
| | | const isChecked = item.HMaintainResult === '合格' ? true : false; |
| | | return { |
| | | "HMaintainItemID": item.HMaintainItemID || 0, |
| | | "HMaintainItem": item.HMaintainItem || "", |
| | | "HMaintainPart": item.HMaintainPart || "", |
| | | "HClaim": item.HClaim || "", |
| | | "HManagerID": item.HManagerID || 0, |
| | | "HManagerName": item.HManagerName || "", |
| | | "HMaintainResult": isChecked, |
| | | "HRemark": item.HManagerName || "" |
| | | }; |
| | | }); |
| | | } else { |
| | | console.log('子表数据为空或获取失败:', res.data.Message); |
| | | this.HCheckFileList = []; |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log('子表请求失败:', res); |
| | | this.HCheckFileList = []; |
| | | } |
| | | }); |
| | | }, |
| | | async getMaxNum() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Web/GetMAXNum", |
| | | data: { |
| | | "HBillType": this.HBillType |
| | | } |
| | | }) |
| | | // 获取子表数据 |
| | | getSubEditData(hmainid) { |
| | | uni.request({ |
| | | url: CommonUtils.getServerUrl() + |
| | | '/Sc_MouldMaintainBill/Sc_MouldMaintainBillListProjectDetaiNew', |
| | | data: { |
| | | "HInterID": hmainid |
| | | }, |
| | | success: (res) => { |
| | | console.log('子表数据:', res.data); |
| | | if (res.data.count == 1) { |
| | | this.HCheckFileList = res.data.list[0].map(item => { |
| | | const isChecked = item.HMaintainResult === '合格' ? true : false; |
| | | return { |
| | | "HMaintainItemID": item.HMaintainItemID || 0, |
| | | "HMaintainItem": item.HMaintainItem || "", |
| | | "HMaintainPart": item.HMaintainPart || "", |
| | | "HClaim": item.HClaim || "", |
| | | "HManagerID": item.HManagerID || 0, |
| | | "HManagerName": item.HManagerName || "", |
| | | "HMaintainResult": isChecked, |
| | | "HRemark": item.HManagerName || "" |
| | | }; |
| | | }); |
| | | } else { |
| | | console.log('子表数据为空或获取失败:', res.data.Message); |
| | | this.HCheckFileList = []; |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log('子表请求失败:', res); |
| | | this.HCheckFileList = []; |
| | | } |
| | | }); |
| | | }, |
| | | async getMaxNum() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Web/GetMAXNum", |
| | | data: { |
| | | "HBillType": this.HBillType |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | count, |
| | | data, |
| | | Message |
| | | } = res.data |
| | | console.log('data: ', data); |
| | | this.hform.HInterID = 0 |
| | | this.hform.HBillNo = data[0]["HBillNo"] |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "获取单据信息异常: " + err |
| | | }) |
| | | } |
| | | }, |
| | | async submit() { |
| | | try { |
| | | let oMain = JSON.stringify(this.hform); |
| | | let sSubStr = JSON.stringify(this.HCheckFileList); |
| | | let sMainSub = oMain + ';' + sSubStr + ';' + uni.getStorageSync('HUserName'); |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/Sc_MouldMaintainBill/SaveGetMouldMaintainBillListAPP", |
| | | data: { |
| | | "msg": sMainSub |
| | | }, |
| | | method: "POST" |
| | | }) |
| | | let { |
| | | count, |
| | | data, |
| | | Message |
| | | } = res.data |
| | | console.log('data: ', data); |
| | | this.hform.HInterID = 0 |
| | | this.hform.HBillNo = data[0]["HBillNo"] |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "获取单据信息异常: " + err |
| | | }) |
| | | } |
| | | }, |
| | | async submit() { |
| | | if (!this.hform.HBillNo) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 单据号不存在' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | if (!this.hform.HMouldID) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 模具不能为空' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let { |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill?operationType=1' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "提交单据失败: " + Message |
| | | }) |
| | | } |
| | | try { |
| | | let oMain = JSON.stringify(this.hform); |
| | | let sSubStr = JSON.stringify(this.HCheckFileList); |
| | | let sMainSub = oMain + ';' + sSubStr + ';' + uni.getStorageSync('HUserName'); |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/Sc_MouldMaintainBill/SaveGetMouldMaintainBillListAPP", |
| | | data: { |
| | | "msg": sMainSub |
| | | }, |
| | | method: "POST" |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | let { |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill?operationType=1' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "提交单据失败: " + Message |
| | | }) |
| | | } |
| | | |
| | | |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "提交单据失败: " + err |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | onLoad(e) { |
| | | console.log('e: ', e); |
| | | this.getHMaintainLevList() |
| | | if (!e.operationType) { |
| | | this.operationType = 1 |
| | | } else { |
| | | this.operationType = e.operationType |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: "提交单据失败: " + err |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | async onLoad(e) { |
| | | console.log('e: ', e); |
| | | this.getHMaintainLevList() |
| | | if (!e.operationType) { |
| | | this.operationType = 1 |
| | | } else { |
| | | this.operationType = e.operationType |
| | | } |
| | | |
| | | if (this.operationType == 1) { |
| | | // 新增 |
| | | this.getMaxNum() |
| | | } else if (this.operationType == 2) { |
| | | // 复制 |
| | | } else if (this.operationType == 3) { |
| | | // 编辑 |
| | | this.getEditData(e.hmainid) |
| | | } else if (this.operationType == 4) { |
| | | // 浏览 |
| | | // 下推 |
| | | let HBarCode = e.HBarCode |
| | | this.getMaxNum() |
| | | if (HBarCode) { |
| | | this.GetMessageByBarCode(HBarCode) |
| | | } |
| | | if (this.operationType == 1) { |
| | | // 新增 |
| | | this.getMaxNum() |
| | | } else if (this.operationType == 2) { |
| | | // 复制 |
| | | } else if (this.operationType == 3) { |
| | | // 编辑 |
| | | this.getEditData(e.hmainid) |
| | | } else if (this.operationType == 4) { |
| | | // 浏览 |
| | | // 下推 |
| | | let HBarCode = e.HBarCode |
| | | let HPlanHInterID = e.HPlanHInterID |
| | | let HPlanHEntryID = e.HPlanHEntryID |
| | | this.getMaxNum() |
| | | if (HBarCode) { |
| | | await this.GetMessageByBarCode(HBarCode) |
| | | if (uni.getStorageSync('Organization') == '宁波市华舟包装有限公司') { |
| | | this.hform.HMouldMaintainPlanInterID = (HPlanHInterID == null ? this.hform.HMouldMaintainPlanInterID : HPlanHInterID) == "" ? this.hform.HMouldMaintainPlanInterID : HPlanHInterID |
| | | this.hform.HMouldMaintainPlanEntryID = (HPlanHEntryID == null ? this.hform.HMouldMaintainPlanEntryID : HPlanHEntryID) == "" ? this.hform.HMouldMaintainPlanEntryID : HPlanHEntryID |
| | | } |
| | | } |
| | | |
| | | } |
| | | }, |
| | | onReady() { |
| | | const query = uni.createSelectorQuery().in(this) |
| | | query.select("#buttons") |
| | | .boundingClientRect() |
| | | .select("#tabs") |
| | | .boundingClientRect() |
| | | .exec(res => { |
| | | this.btnTop = Math.floor(res[0].top) |
| | | this.tabsBottom = Math.ceil(res[1].bottom) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | onReady() { |
| | | const query = uni.createSelectorQuery().in(this) |
| | | query.select("#buttons") |
| | | .boundingClientRect() |
| | | .select("#tabs") |
| | | .boundingClientRect() |
| | | .exec(res => { |
| | | this.btnTop = Math.floor(res[0].top) |
| | | this.tabsBottom = Math.ceil(res[1].bottom) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import "@/pages/MJGL/style/MJBillStyle.scss" |
| | | @import "@/pages/MJGL/style/MJBillStyle.scss" |
| | | </style> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">模具名称:</view> |
| | | <view class="title required">模具名称:</view> |
| | | <view class="righton"> |
| | | <input v-model="hform.HBarName" disabled /> |
| | | </view> |
| | |
| | | HDeleteDate: "", |
| | | lngBillKey: 0, |
| | | lngBillSubKey: 0, |
| | | HLastResult: "OK" |
| | | HLastResult: "OK", |
| | | HExplanation: "", |
| | | HInnerBillNo: "", |
| | | } |
| | | }; |
| | | }, |
| | |
| | | if (count == 1) { |
| | | this.hform.HMouldDotCheckRuleNo = data[0].HBillNo |
| | | this.hform.HMouldDotCheckRuleID = data[0].HInterID |
| | | this.hform.HPlanNo = data[0].单据号 |
| | | this.hform.HPlanNo = data[0].单据号 || "" |
| | | this.hform.HPlanInterID = (data[0].hmainid == null ? 0 : data[0].hmainid) == "" ? 0 : data[0] |
| | | .hmainid |
| | | this.hform.HPlanEntryID = (data[0].HEntryID == null ? 0 : data[0].HEntryID) == "" ? 0 : data[0] |
| | |
| | | "HClaim": item.具体要求, |
| | | "HManagerID": item.负责人ID, |
| | | "HManagerName": item.负责人名称, |
| | | "HCloseMan": "", |
| | | "HCloseType": 0, |
| | | "HRemark": "", |
| | | "HSourceInterID": item.hmainid == null ? 0 : item.hmainid, |
| | | "HSourceEntryID": item.HEntryID == null ? 0 : item.HEntryID, |
| | | "HSourceBillNo": item.单据号, |
| | | "HSourceBillNo": item.单据号 || '', |
| | | "HSourceBillType": item.源单类型 || '', |
| | | "HDotCheckItemClassID": item.HDotCheckItemClassID || 0, |
| | | "HDotCheckItemClassName": item.点检项目分类名称 || "", |
| | | "HDotCheckItemMethodID": item.点检方法id || 0, |
| | | "HDotCheckItemMethodName": item.点检方法 || "", |
| | | "HRelationQty": 0, |
| | | "HRelationMoney": 0, |
| | | // "HDotCheckResult": item.默认结论 == 1 ? true : false |
| | | "HDotCheckResult": item.默认点检结果 == 'OK' ? true : false |
| | | } |
| | |
| | | } |
| | | }, |
| | | async submit() { |
| | | if(!this.hform.HBillNo) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 单据号不存在' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if(!this.hform.HMouldID) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: '单据提交失败: 模具不能为空' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | try { |
| | | let oMain = JSON.stringify(this.hform); |
| | | let sSubStr = JSON.stringify(this.HCheckFileList); |
| | |
| | | HMouldName_B: '', |
| | | HMouldID_B: '', |
| | | HMouldCount_B: '', |
| | | |
| | | HExplanation: "", |
| | | HRemark: "", |
| | | HInnerBillNo: "", |
| | | HMainSourceBillNo: "", |
| | | |
| | | } |
| | | } |
| | | }, |
| | |
| | | HCheckEmpID: getUserInfo().HEmpID, |
| | | HCopyMan: '', //抄送人 |
| | | |
| | | HCheckResult: 'completed', |
| | | HCheckResult: '完成', |
| | | HLevel: 'normal', |
| | | HBillTypeName: '', |
| | | HPlanBillNo: '', |
| | |
| | | |
| | | HBadReasonID: '0', |
| | | HBadReasonName: '', |
| | | HHandleResult: 'completed', |
| | | HHandleResult: '处理完成', |
| | | HLevel: 'normal', |
| | | HBillTypeName: '', |
| | | HPlanBillNo: '', |
| New file |
| | |
| | | <template> |
| | | <view> |
| | | <!-- 主表区域 --> |
| | | <view class="bill-main-area"> |
| | | <!-- 主表页签 --> |
| | | <view class="bill-main-tabs"> |
| | | <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">基本信息</view> |
| | | <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">其他信息</view> |
| | | <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">制单信息</view> |
| | | </view> |
| | | <!-- 主表内容 --> |
| | | <view class="bill-main-contents"> |
| | | <!-- 基本信息 --> |
| | | <view class="bill-main-content" v-if="mainTabSelected == 1"> |
| | | <view class="form-item"> |
| | | <view class="left">单据号</view> |
| | | <view class="right disabled"> |
| | | <input type="text" :value="hform.HBillNo" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">日期</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate"> |
| | | <view>{{ hform.HDate }}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">发生日期</view> |
| | | <view class="right"> |
| | | <uni-datetime-picker type="datetime" :clear-icon="false" v-model="hform.HHappendDate"> |
| | | <view>{{ hform.HHappendDate }}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">生产订单</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HICMOBillNos" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">产品编码</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HMaterNumbers" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">产品名称</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HMaterNames"/> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">规格型号</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HMaterModels"/> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">计量单位</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HUnitNames"/> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">产品类型</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaterTypes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良数量</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HUnRightQtys" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">车间</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HDeptNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">发生工序</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HProcNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良现象</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HBadPhenomenaNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良品SN码</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HBarCodes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">销售订单</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HSeOrderBillNos" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">问题现象简述</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HReasonNotes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 紧急程度 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">紧急程度</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HLevs" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 是否停线 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">是否停线</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HIsStops" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 是否批量问题 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">是否批量问题</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HIsBatchUnRights" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 处理部门 --> |
| | | <view class="form-item"> |
| | | <view class="left">处理部门</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="DeptNameList" placeholder="请选择处理部门" v-model="hform.HDisposeDeptName" |
| | | @input="HDisposeDeptChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 发起人 --> |
| | | <view class="form-item"> |
| | | <view class="left">发起人</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="GyEmpNameList" placeholder="请选择发起人" |
| | | v-model="hform.HSendMan" @input="HSendManChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 接收人 --> |
| | | <view class="form-item"> |
| | | <view class="left">接收人</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="GyEmpNameList" placeholder="请选择接收人" |
| | | v-model="hform.HReceiveMan" @input="HReceiveManChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 抄送人 - 改为下拉框 --> |
| | | <view class="form-item"> |
| | | <view class="left">抄送人</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="GyEmpNameList" placeholder="请选择抄送人" |
| | | v-model="hform.HCopyMan" @input="HCopyManChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 源单类型 - 修复版 --> |
| | | <view class="form-item"> |
| | | <view class="left">源单类型</view> |
| | | <view class="right" v-show="showHMainSourceBillType"> |
| | | <picker :range="arrayHMainSourceBillType" @change="HMainSourceBillTypeChange" mode="selector"> |
| | | <view class="picker-value">{{ HMainSourceBillTypeDisplay || '请选择源单类型' }}</view> |
| | | </picker> |
| | | </view> |
| | | <view class="right disabled" v-show="!showHMainSourceBillType"> |
| | | <view class="picker-value">{{ HMainSourceBillTypeDisplay }}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 源单单号 --> |
| | | <view class="form-item"> |
| | | <view class="left">源单号</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HMainSourceBillNo" placeholder="请输入或扫描源单号" |
| | | @confirm="GetMessageByHSourceBillNo" /> |
| | | </view> |
| | | <view class="icon-wrapper" @click="openSourceBillSelector"> |
| | | <uni-icons type="search" size="20"></uni-icons> |
| | | </view> |
| | | <view class="icon-wrapper" @click="scanSourceBill"> |
| | | <uni-icons type="scan" size="20"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 处理工序 --> |
| | | <view class="form-item"> |
| | | <view class="left">处理工序</view> |
| | | <view class="right disabled"> |
| | | <input type="text" disabled v-model="hform.HDisposeProcName" /> |
| | | </view> |
| | | <view class="icon-wrapper-big"> |
| | | <uni-icons type="search" size="20" :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'" |
| | | :disabled="hasSourceBill" |
| | | @click="showSelectorModule(8)"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 不良类型 --> |
| | | <view class="form-item"> |
| | | <view class="left">不良类型</view> |
| | | <view class="right disabled"> |
| | | <input type="text" disabled v-model="hform.HBadTypeName" /> |
| | | </view> |
| | | <view class="icon-wrapper-big"> |
| | | <uni-icons type="search" size="20" :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'" |
| | | :disabled="hasSourceBill" |
| | | @click="showSelectorModule(7)"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 不良原因 --> |
| | | <view class="form-item"> |
| | | <view class="left">不良原因</view> |
| | | <view class="right disabled"> |
| | | <input type="text" disabled v-model="hform.HBadReasonName" /> |
| | | </view> |
| | | <view class="icon-wrapper-big"> |
| | | <uni-icons type="search" size="20" :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'" |
| | | :disabled="hasSourceBill" |
| | | @click="showSelectorModule(2)"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 处理结论详情 --> |
| | | <view class="form-item"> |
| | | <view class="left">处理结论详情</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HDisposeNote" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 纠正及预防措施 --> |
| | | <view class="form-item"> |
| | | <view class="left">纠正及预防措施</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HNote" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 处理结论 --> |
| | | <view class="form-item"> |
| | | <view class="left">处理结论</view> |
| | | <view class="right select-border"> |
| | | <uni-data-select |
| | | v-model="hform.HCheckerResult" |
| | | :localdata="conclusionList" |
| | | :clear="false" |
| | | placeholder="请选择处理结论" |
| | | :disabled="hasSourceBill" |
| | | class="no-border-select" |
| | | ></uni-data-select> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="bill-main-content" v-if="mainTabSelected == 2"> |
| | | <view class="form-item"> |
| | | <view class="left">工序流转卡</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HProcExchBillNos" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">产品编码</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaterNumbers" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">产品名称</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaterNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">规格型号</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaterModels" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">计量单位</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HUnitNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">产品类型</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaterTypes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良数量</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HUnRightQtys" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">车间</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HDeptNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">发生工序</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HProcNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良现象</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HBadPhenomenaNames" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良品SN码</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HBarCodes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">销售订单</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HSeOrderBillNos" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">问题现象简述</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HReasonNotes" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 紧急程度 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">紧急程度</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HLevs" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 是否停线 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">是否停线</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HIsStops" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 是否批量问题 - 显示文本 --> |
| | | <view class="form-item"> |
| | | <view class="left">是否批量问题</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HIsBatchUnRights" disabled /> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 原有的备注和组织字段 --> |
| | | <view class="form-item"> |
| | | <view class="left">备注</view> |
| | | <view class="right"> |
| | | <input type="text" v-model="hform.HRemark" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">组织</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.Organization" disabled /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 制单信息 --> |
| | | <view class="bill-main-content" v-if="mainTabSelected == 3"> |
| | | <view class="form-item"> |
| | | <view class="left">制单人</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMaker" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">制单日期</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HMakeDate" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">修改人</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HUpDater" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">修改日期</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HUpDateDate" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">审核人</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HChecker" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">审核日期</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HCheckDate" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">关闭人</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HCloseMan" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">关闭日期</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HCloseDate" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">作废人</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HDeleteMan" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">作废日期</view> |
| | | <view class="right disabled"> |
| | | <input type="text" v-model="hform.HDeleteDate" disabled /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view style="height: 120rpx"></view> |
| | | |
| | | <!-- 底部按钮 --> |
| | | <view class="bottom-btn"> |
| | | <button class="btn-a" size="mini" @tap="submit">保存</button> |
| | | <view style="flex: 1"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | |
| | | <!-- 弹窗组件 --> |
| | | <GyBadReasonPopup ref="GyBadReasonPopup" @update="CheckItemComplete" :bindKey="currentChechItemIDCache"> |
| | | </GyBadReasonPopup> |
| | | <ProcessPopupVue ref="processPopup" @update="HProcComplete" :bindKey="0"></ProcessPopupVue> |
| | | <GyBadTypePopupVue ref="GyBadTypePopupVue" @update="HQCSchemeComplete" :bindKey="0"></GyBadTypePopupVue> |
| | | <BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HMainSourceBillType" |
| | | :HStockOrgID="hform.HStockOrgID" @BillSelectComplete="handleSourceBill"></BillListPopupVue> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import dayjs from "dayjs"; |
| | | import { |
| | | CommonUtils |
| | | } from "../../../utils/common"; |
| | | import GyBadReasonPopup from "../../../components/ZLGL/GyBadReasonPopup.vue"; |
| | | import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue"; |
| | | import GyBadTypePopupVue from "../../../components/ZLGL/GyBadTypePopup.vue"; |
| | | import BillListPopupVue from "@/components/BillListPopup/BillListPopup.vue"; |
| | | import { |
| | | getUserInfo |
| | | } from "../../../utils/auth"; |
| | | |
| | | export default { |
| | | components: { |
| | | GyBadReasonPopup, |
| | | ProcessPopupVue, |
| | | GyBadTypePopupVue, |
| | | BillListPopupVue, |
| | | }, |
| | | data() { |
| | | return { |
| | | operationType: 1, |
| | | mainTabSelected: 1, |
| | | hasSourceBill: false, |
| | | |
| | | enablePopupModule: "", |
| | | PopupModuleNameList: [ |
| | | "", "", "GyBadReasonPopup", "", "", "", "", "GyBadTypePopupVue", "ProcessPopupVue" |
| | | ], |
| | | conclusionList: [ |
| | | { value: '处理完成', text: '处理完成' }, |
| | | { value: '无法处理', text: '无法处理' }, |
| | | { value: '处理失败', text: '处理失败' } |
| | | ], |
| | | emergencyList: [ |
| | | { value: '普通', text: '普通' }, |
| | | { value: '紧急', text: '紧急' } |
| | | ], |
| | | yesNoList: [ |
| | | { value: '否', text: '否' }, |
| | | { value: '是', text: '是' } |
| | | ], |
| | | currentChechItemIDCache: -1, |
| | | GyEmpList: [], |
| | | GyEmpNameList: [], |
| | | DeptNameList: [], |
| | | DeptList: [], |
| | | |
| | | HMainSourceBillTypeDisplay: "", // 用于显示的源单类型 |
| | | arrayHMainSourceBillType: ["不良品评审申请单", "工序出站汇报单"], |
| | | arrayHMainSourceBillTypeID: ["7512", "3791"], |
| | | showHMainSourceBillType: true, |
| | | |
| | | hform: { |
| | | // 单据信息 |
| | | HInterID: "0", |
| | | HEntryID: "0", |
| | | HBillNo: "", |
| | | HDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HHappendDate:dayjs(new Date()).format("YYYY-MM-DD HH:MM"), |
| | | HBillType: '7514', |
| | | |
| | | // 申请信息 |
| | | HBillNos: "", |
| | | HDates: "", |
| | | HHappendDates: "", |
| | | |
| | | // 生产订单 |
| | | HICMOBillNos: "", |
| | | HICMOInterIDs: "0", |
| | | HICMOEntryIDs: "0", |
| | | |
| | | // 产品信息 |
| | | HMaterNumbers: "", |
| | | HMaterNames: "", |
| | | HMaterModels: "", |
| | | HMaterIDs: "0", |
| | | HUnitNames: "", |
| | | HUnitIDs: "0", |
| | | HMaterTypes: "", |
| | | |
| | | // 工序流转卡 |
| | | HProcExchBillNos: "", |
| | | HProcExchInterIDs: "0", |
| | | HProcExchEntryIDs: "0", |
| | | |
| | | // 不良信息 |
| | | HUnRightQtys: "", |
| | | HLevs: "普通", |
| | | HIsStops: "否", |
| | | HIsBatchUnRights: "否", |
| | | HBarCodes: "", |
| | | HBadPhenomenaNames: "", |
| | | HBadPhenomenaIDs: "0", |
| | | HReasonNotes: "", |
| | | |
| | | // 部门工序 |
| | | HDeptNames: "", |
| | | HDeptIDs: "0", |
| | | HProcNames: "", |
| | | HProcIDs: "0", |
| | | |
| | | // 销售订单 |
| | | HSeOrderBillNos: "", |
| | | |
| | | // 源单信息 |
| | | HMainSourceBillType: "", |
| | | HMainSourceBillNo: "", |
| | | HMainSourceInterID: "0", |
| | | HMainSourceEntryID: "0", |
| | | |
| | | HSendMan: "", |
| | | HCopyMan: "", |
| | | |
| | | HDisposeDeptName: "", |
| | | HDisposeDeptID: "0", |
| | | HDisposeProcName: "", |
| | | HDisposeProcID: "0", |
| | | HDisposeEmpName: "", |
| | | HSendManID: "0", |
| | | HReceiveManID: "0", |
| | | HDisposeEmpID: "0", |
| | | HCheckerResult: "处理完成", |
| | | HDisposeNote: "", |
| | | |
| | | // 不良原因类型 |
| | | HBadTypeName: "", |
| | | HBadTypeID: "0", |
| | | HBadReasonName: "", |
| | | HBadReasonID: "0", |
| | | |
| | | // 备注 |
| | | HNote: "", |
| | | HRemark: "", |
| | | |
| | | // 组织信息 |
| | | Organization: getUserInfo()["Organization"] || "", |
| | | HStockOrgID: uni.getStorageSync('OrganizationID') || "0", |
| | | |
| | | // 制单信息 |
| | | HMaker: getUserInfo()["Czymc"] || "", |
| | | HMakeDate: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"), |
| | | HUpDater: "", |
| | | HUpDateDate: "", |
| | | HChecker: "", |
| | | HCheckDate: "", |
| | | HCloseMan: "", |
| | | HCloseDate: "", |
| | | HDeleteMan: "", |
| | | HDeleteDate: "", |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | // 显示选择器弹窗 |
| | | async showSelectorModule(index) { |
| | | if (this.hasSourceBill) { |
| | | uni.showToast({ title: '已有源单,不能修改', icon: 'none' }); |
| | | return; |
| | | } |
| | | |
| | | this.currentChechItemIDCache = 0; |
| | | this.enablePopupModule = this.PopupModuleNameList[index]; |
| | | |
| | | await this.$nextTick(); |
| | | |
| | | let popupRef = null; |
| | | if (index === 2) popupRef = this.$refs.GyBadReasonPopup; |
| | | else if (index === 7) popupRef = this.$refs.GyBadTypePopupVue; |
| | | else if (index === 8) popupRef = this.$refs.processPopup; |
| | | |
| | | if (popupRef) { |
| | | popupRef.showPopup(); |
| | | } |
| | | }, |
| | | // 初始化职员数据的方法(仿照 InitHEmp) |
| | | async InitGyEmp() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Gy_Employee/list", |
| | | data: { |
| | | sWhere: ` and 组织名称 = '${uni.getStorageSync("Organization")}' and 禁用标记 = ''`, |
| | | user: getUserInfo()["Czymc"], |
| | | Organization: uni.getStorageSync("Organization"), |
| | | }, |
| | | }); |
| | | |
| | | let { data, Message, count } = res.data; |
| | | |
| | | if (count == 1) { |
| | | this.GyEmpList = data; |
| | | this.GyEmpNameList = Array.from(data).map((e) => e["职员名称"]); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: `初始化职员失败: ${Message}`, |
| | | }); |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: `初始化职员失败: ${err}`, |
| | | }); |
| | | } |
| | | }, |
| | | // 不良原因选择完成 |
| | | // 新增:扫码获取源单号 |
| | | scanSourceBill() { |
| | | // 调用微信扫码功能 |
| | | uni.scanCode({ |
| | | scanType: ['barCode', 'qrCode'], |
| | | success: (res) => { |
| | | // 将扫码结果赋值给源单号 |
| | | this.hform.HMainSourceBillNo = res.result; |
| | | // 自动触发查询 |
| | | this.GetMessageByHSourceBillNo(); |
| | | }, |
| | | fail: (err) => { |
| | | console.error('扫码失败:', err); |
| | | uni.showToast({ |
| | | title: '扫码失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | CheckItemComplete(e) { |
| | | if (e && e.retVal) { |
| | | let data = Object.values(e.retVal)[0]; |
| | | this.hform.HBadReasonID = String(data.HItemID || 0); |
| | | this.hform.HBadReasonName = data.不良原因名称 || ""; |
| | | } |
| | | this.$refs.GyBadReasonPopup?.exit(); |
| | | this.enablePopupModule = ""; |
| | | }, |
| | | |
| | | // 不良类型选择完成 |
| | | HQCSchemeComplete(e) { |
| | | if (e && e.retVal) { |
| | | let data = Object.values(e.retVal)[0]; |
| | | this.hform.HBadTypeID = String(data.HItemID || 0); |
| | | this.hform.HBadTypeName = data.不良类型名称 || ""; |
| | | } |
| | | this.$refs.GyBadTypePopupVue?.exit(); |
| | | this.enablePopupModule = ""; |
| | | }, |
| | | |
| | | // 工序选择完成 |
| | | HProcComplete(e) { |
| | | if (e && e.retVal) { |
| | | let data = Object.values(e.retVal)[0]; |
| | | this.hform.HDisposeProcID = String(data.HItemID || 0); |
| | | this.hform.HDisposeProcName = data.工序名称 || ""; |
| | | } |
| | | this.$refs.processPopup?.exit(); |
| | | this.enablePopupModule = ""; |
| | | }, |
| | | |
| | | // 初始化部门 |
| | | async InitDept() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/PublicPageMethod/DeptList', |
| | | data: { sWhere: 'where 1=1' } |
| | | }); |
| | | if (res.data.count == 1) { |
| | | this.DeptList = res.data.data; |
| | | this.DeptNameList = res.data.data.map(e => e['HName']); |
| | | } |
| | | } catch (err) { |
| | | console.error('初始化部门错误:', err); |
| | | } |
| | | }, |
| | | |
| | | // 初始化职员 |
| | | async InitHEmp() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Gy_Employee/list", |
| | | data: { |
| | | sWhere: ` and 组织名称 = '${uni.getStorageSync("Organization")}' and 禁用标记 = ''`, |
| | | }, |
| | | }); |
| | | |
| | | if (res.data.count == 1) { |
| | | this.GyEmpList = res.data.data; |
| | | this.GyEmpNameList = res.data.data.map(e => e["职员名称"]); |
| | | } |
| | | } catch (err) { |
| | | console.error('初始化职员失败:', err); |
| | | } |
| | | }, |
| | | |
| | | // 打开源单选择器 |
| | | openSourceBillSelector() { |
| | | if (!this.hform.HMainSourceBillType) { |
| | | uni.showToast({ title: '请先选择源单类型', icon: 'none' }); |
| | | return; |
| | | } |
| | | this.$refs.billList.showPopup(); |
| | | }, |
| | | |
| | | // 接收源单 |
| | | handleSourceBill(e) { |
| | | this.hform.HMainSourceBillNo = e.HBillNo; |
| | | |
| | | this.GetMessageByHSourceBillNo(); |
| | | this.$refs.billList?.exit(); |
| | | |
| | | }, |
| | | |
| | | // 获取源单数据 |
| | | async GetMessageByHSourceBillNo() { |
| | | if (!this.hform.HMainSourceBillType) { |
| | | uni.showToast({ title: '请选择源单类型', icon: 'none' }); |
| | | return; |
| | | } |
| | | if (!this.hform.HMainSourceBillNo ) { |
| | | uni.showToast({ title: '请输入或者扫码源单号', icon: 'none' }); |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | let res; |
| | | let user = getUserInfo()["Czymc"] || ""; |
| | | let Organization = uni.getStorageSync('OrganizationID') || ""; |
| | | |
| | | // 根据源单类型调用不同的接口 |
| | | if (this.hform.HMainSourceBillType === "7512") { |
| | | |
| | | res = await CommonUtils.doRequest2Async({ |
| | | url: "/Sc_ProcessMangement/Get_QC_NoPassProdRequestBillList", |
| | | type: "GET", |
| | | data: { |
| | | "sWhere": ` and 单据号 = '${this.hform.HMainSourceBillNo}'`, |
| | | "user": user |
| | | } |
| | | }); |
| | | } else if (this.hform.HMainSourceBillType === "3791") { |
| | | |
| | | res = await CommonUtils.doRequest2Async({ |
| | | url: "/Cj_StationOutBill/get_Display_byPage", |
| | | type: "GET", |
| | | data: { |
| | | "sWhere": `and 单据号 = ''${this.hform.HMainSourceBillNo}''`, |
| | | "user": user, |
| | | "Organization": Organization, |
| | | "page": 1, |
| | | "size": 1, |
| | | "HBillSubType": "3791" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | uni.hideLoading(); |
| | | |
| | | // 获取第一条数据 |
| | | let data = null; |
| | | if (res.data) { |
| | | if (Array.isArray(res.data) && res.data.length > 0) { |
| | | data = res.data[0]; |
| | | } else if (res.data.data && res.data.data.length > 0) { |
| | | data = res.data.data[0]; |
| | | } else if (res.data.rows && res.data.rows.length > 0) { |
| | | data = res.data.rows[0]; |
| | | } else if (res.data.list && res.data.list.length > 0) { |
| | | data = res.data.list[0]; |
| | | } |
| | | } |
| | | |
| | | if (data) { |
| | | // 根据源单类型处理数据 |
| | | if (this.hform.HMainSourceBillType === "7512") { |
| | | // 处理不良品评审申请单数据(第一组数据) |
| | | this.hform.HBillNos = data.单据号 || ""; |
| | | this.hform.HDates = data.日期 ? data.日期.split('T')[0] : ""; |
| | | this.hform.HHappendDates = data.发生时间 ? data.发生时间.replace('T', ' ') : ""; |
| | | this.hform.HICMOBillNos = data.任务单号 || ""; |
| | | this.hform.HProcExchBillNos = data.工序流转卡号 || ""; |
| | | this.hform.HMaterNumbers = data.产品代码 || ""; |
| | | this.hform.HMaterNames = data.产品名称 || ""; |
| | | this.hform.HMaterModels = data.规格型号 || ""; |
| | | this.hform.HUnitNames = data.计量单位名称 || ""; |
| | | this.hform.HMaterTypes = data.产品类型 === "1" ? "产成品" : data.产品类型 || ""; |
| | | this.hform.HUnRightQtys = data.不良数量 || "0"; |
| | | this.hform.HDeptNames = data.车间名称 || ""; |
| | | this.hform.HProcNames = data.工序 || ""; |
| | | this.hform.HBadPhenomenaNames = data.不良现象 || ""; |
| | | this.hform.HBarCodes = data.不良品SN码 || ""; |
| | | this.hform.HSeOrderBillNos = data.销售订单 || ""; |
| | | this.hform.HReasonNotes = data.问题现象简述 || ""; |
| | | this.hform.HLevs = data.紧急程度 || "普通"; |
| | | this.hform.HIsStops = data.是否停线 || "否"; |
| | | this.hform.HIsBatchUnRights = data.是否批量问题 || "否"; |
| | | |
| | | // 源单ID信息 |
| | | this.hform.HMainSourceInterID = data.hmainid || "0"; |
| | | this.hform.HMainSourceEntryID = data.任务单子内码 || "0"; |
| | | |
| | | } else if (this.hform.HMainSourceBillType === "3791") { |
| | | // 处理工序出站汇报单数据(第二组数据) |
| | | this.hform.HBillNos = data.单据号 || ""; |
| | | this.hform.HDates = data.日期 ? data.日期.split('T')[0] : ""; |
| | | this.hform.HHappendDates = data.出站时间 ? data.出站时间.replace('T', ' ') : ""; |
| | | this.hform.HICMOBillNos = data.任务单 || ""; |
| | | this.hform.HProcExchBillNos = data.工序流转卡号 || ""; |
| | | this.hform.HMaterNumbers = data.产品代码 || ""; |
| | | this.hform.HMaterNames = data.产品名称 || ""; |
| | | this.hform.HMaterModels = data.规格型号 || ""; |
| | | this.hform.HUnitNames = data.计量单位 || ""; |
| | | this.hform.HMaterTypes = data.产品类型 || ""; |
| | | |
| | | // 不良数量 - 第二组数据中可能是不良数量字段 |
| | | this.hform.HUnRightQtys = data.不良数量 || data.报废数量 || "0"; |
| | | this.hform.HDeptNames = data.车间 || data.部门 || ""; |
| | | this.hform.HProcNames = data.当前工序 || ""; |
| | | |
| | | // 不良现象 - 第二组数据可能没有这个字段 |
| | | this.hform.HBadPhenomenaNames = data.不良现象 || ""; |
| | | |
| | | // 其他字段 |
| | | this.hform.HBarCodes = data.批次号 || data.不良品SN码 || ""; |
| | | this.hform.HSeOrderBillNos = data.销售订单 || ""; |
| | | this.hform.HReasonNotes = data.问题现象简述 || ""; |
| | | this.hform.HLevs = data.紧急程度 || "普通"; |
| | | this.hform.HIsStops = data.是否停线 || "否"; |
| | | this.hform.HIsBatchUnRights = data.是否批量问题 || "否"; |
| | | |
| | | // 源单ID信息 |
| | | this.hform.HMainSourceInterID = data.hmainid || data.HProcExchInterID || "0"; |
| | | this.hform.HMainSourceEntryID = data.HProcExchEntryID || "1"; |
| | | } |
| | | |
| | | // 设置源单类型显示 |
| | | let index = this.arrayHMainSourceBillTypeID.findIndex(id => id == this.hform.HMainSourceBillType); |
| | | if (index != -1) { |
| | | this.HMainSourceBillTypeDisplay = this.arrayHMainSourceBillType[index]; |
| | | } |
| | | |
| | | this.hasSourceBill = false; |
| | | uni.showToast({ title: '加载成功', icon: 'success' }); |
| | | |
| | | // 强制更新视图 |
| | | this.$forceUpdate(); |
| | | |
| | | } else { |
| | | uni.showToast({ title: '未找到源单', icon: 'none' }); |
| | | } |
| | | } catch (err) { |
| | | uni.hideLoading(); |
| | | console.error('获取失败:', err); |
| | | |
| | | // 显示更详细的错误信息 |
| | | if (err.response && err.response.data) { |
| | | console.error('错误详情:', err.response.data); |
| | | uni.showToast({ title: err.response.data.Message || '获取失败', icon: 'none' }); |
| | | } else { |
| | | uni.showToast({ title: '获取失败', icon: 'none' }); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 处理部门选择 |
| | | HDisposeDeptChange(val) { |
| | | let index = this.DeptNameList.findIndex(e => e == val); |
| | | if (index == -1) { |
| | | this.hform.HDisposeDeptName = ''; |
| | | this.hform.HDisposeDeptID = '0'; |
| | | return; |
| | | } |
| | | this.hform.HDisposeDeptName = this.DeptList[index]['HName']; |
| | | this.hform.HDisposeDeptID = String(this.DeptList[index]['HItemID']); |
| | | }, |
| | | |
| | | // 发起人选择 |
| | | HSendManChange(val) { |
| | | let index = this.GyEmpList.findIndex(e => e["职员名称"] == val); |
| | | if (index == -1) { |
| | | this.hform.HSendMan = ""; |
| | | return; |
| | | } |
| | | this.hform.HSendMan = this.GyEmpList[index]["职员名称"]; |
| | | }, |
| | | |
| | | // 接收人选择 |
| | | HReceiveManChange(val) { |
| | | let index = this.GyEmpList.findIndex(e => e["职员名称"] == val); |
| | | if (index == -1) { |
| | | this.hform.HReceiveMan = ""; |
| | | return; |
| | | } |
| | | this.hform.HReceiveMan = this.GyEmpList[index]["职员名称"]; |
| | | }, |
| | | |
| | | // 抄送人选择 - |
| | | HCopyManChange(val) { |
| | | let index = this.GyEmpList.findIndex(e => e["职员名称"] == val); |
| | | if (index == -1) { |
| | | this.hform.HCopyMan = ""; |
| | | return; |
| | | } |
| | | this.hform.HCopyMan = this.GyEmpList[index]["职员名称"]; |
| | | }, |
| | | |
| | | // 源单类型选择 |
| | | HMainSourceBillTypeChange(e) { |
| | | let index = e.detail.value; |
| | | this.HMainSourceBillTypeDisplay = this.arrayHMainSourceBillType[index]; |
| | | this.hform.HMainSourceBillType = this.arrayHMainSourceBillTypeID[index]; |
| | | }, |
| | | |
| | | // 获取单据号 |
| | | async getMaxBillNo() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/Web/GetMAXNum", |
| | | data: { HBillType: "7512" }, |
| | | }); |
| | | |
| | | if (res?.data?.count == 1) { |
| | | this.hform.HInterID = res.data.data[0].HInterID; |
| | | this.hform.HBillNo = res.data.data[0].HBillNo; |
| | | } |
| | | } catch (err) { |
| | | console.error('获取单据号异常:', err); |
| | | } |
| | | }, |
| | | |
| | | // 验证 |
| | | checkSubmitValidate() { |
| | | if (!this.hform.HBillNo) { |
| | | uni.showToast({ title: '单据号不能为空', icon: 'none' }); |
| | | return false; |
| | | } |
| | | if (!this.hform.HSendMan) { |
| | | uni.showToast({ title: '发起人不能为空', icon: 'none' }); |
| | | return false; |
| | | } |
| | | if (!this.hform.HReceiveMan) { |
| | | uni.showToast({ title: '接收人不能为空', icon: 'none' }); |
| | | return false; |
| | | } |
| | | return true; |
| | | }, |
| | | |
| | | async getEditData(HInterID) { |
| | | if (!HInterID || HInterID === "0") return; |
| | | |
| | | uni.showLoading({ title: '加载中...' }); |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Sc_ProcessMangement/Edit_QC_NoPassProdDisposeBill", |
| | | type: "GET", |
| | | data: { "HID": HInterID } |
| | | }); |
| | | |
| | | if (res.data && res.data.data && res.data.data.length > 0) { |
| | | let data = res.data.data[0]; |
| | | |
| | | this.hform = { |
| | | ...this.hform, // 保留原有的默认值 |
| | | |
| | | HInterID: data.hmainid || "0", |
| | | HEntryID: data.HEntryID || "0", |
| | | HBillNo: data.单据号 || "", |
| | | HDate: data.日期 ? data.日期.split('T')[0] : dayjs().format("YYYY-MM-DD"), |
| | | HBillType: data.HBillType || '7513', |
| | | |
| | | |
| | | HBillNos: data.源单号 || "", // 这是源单号 |
| | | HDates: data.日期 ? data.日期.split('T')[0] : "", // 源单日期 |
| | | HHappendDates: data.发生时间 ? data.发生时间.replace('T', ' ') : "", |
| | | |
| | | |
| | | HICMOBillNos: data.生产订单|| "", |
| | | HICMOInterIDs: data.HICMOInterIDs || "0", |
| | | HICMOEntryIDs: data.HICMOEntryIDs || "0", |
| | | |
| | | |
| | | HMaterNumbers: data.产品代码 || "", |
| | | HMaterNames: data.产品名称 || "", |
| | | HMaterModels: data.规格型号 || "", |
| | | HMaterIDs: data.HMaterID || "0", |
| | | HUnitNames: data.计量单位名称 || "", |
| | | HUnitIDs: data.HUnitID || "0", |
| | | HMaterTypes: data.产品类型 === "1" ? "产品类型" : data.产品类型 || "", |
| | | |
| | | |
| | | HProcExchBillNos: data.工序流转卡号 || "", |
| | | HProcExchInterIDs: data.HProcExchInterIDs || "0", |
| | | HProcExchEntryIDs: data.HProcExchEntryIDs || "0", |
| | | |
| | | HDisposeEmpName:data.处理人 , |
| | | HUnRightQtys: data.不良数量 || "0", |
| | | HLevs: data.紧急程度 || "普通", |
| | | HIsStops: data.是否停线 || "否", |
| | | HIsBatchUnRights: data.是否批量问题 || "否", |
| | | HBarCodes: data.不良品SN码 || "", |
| | | HBadPhenomenaNames: data.不良现象 || "", |
| | | HBadPhenomenaIDs: data.HBadPhenomenaID || "0", |
| | | HReasonNotes: data.问题现象简述 || "", |
| | | HNote:data.纠正及预防措施, |
| | | HDeptNames: data.车间名称 || "", |
| | | HDeptIDs: data.HDeptID || "0", |
| | | HProcNames: data.工序 || "", |
| | | HProcIDs: data.HProcID || "0", |
| | | |
| | | |
| | | HSeOrderBillNos: data.销售订单 || "", |
| | | HMainSourceBillType: data.源单类型 || "", |
| | | HMainSourceBillNo: data.源单号 || "", |
| | | HMainSourceInterID: data.源单ID || data.hmainid || "0", |
| | | HMainSourceEntryID: data.源单子ID || data.任务单子内码 || "0", |
| | | HSendMan: data.发送人 || "", |
| | | HReceiveMan: data.接收人 || "", |
| | | HCopyMan: data.抄送 || "", |
| | | HDisposeDeptName: data.处理部门 || "", |
| | | HDisposeDeptID: data.HDisposeDeptID || "0", |
| | | HDisposeProcID:data.HDisposeProcID || "0", |
| | | HDisposeProcName: data.处理工序 || "", |
| | | HDisposeEmpID: data.HDisposeEmpID || "0", |
| | | HCheckerResult: data.处理结论 || "", |
| | | HDisposeNote: data.处理结论详情 || "", |
| | | HBadTypeName: data.不良类型 || "", |
| | | HBadTypeID: data.HBadTypeID || "0", |
| | | HBadReasonName: data.不良原因 || "", |
| | | HBadReasonID: data.HBadReasonID || "0", |
| | | HRemark: data.表头备注 || "", |
| | | |
| | | |
| | | Organization: data.Organization || getUserInfo()["Organization"] || "", |
| | | HStockOrgID: data.HStockOrgID || uni.getStorageSync('OrganizationID') || "0", |
| | | HMaker: data.制单人 || "", |
| | | HMakeDate: data.制单日期 ? data.制单日期.replace('T', ' ') : "", |
| | | HUpDater: data.修改人 || "", |
| | | HUpDateDate: data.修改日期 ? data.修改日期.replace('T', ' ') : "", |
| | | HChecker: data.审核人 || "", |
| | | HCheckDate: data.审核日期 ? data.审核日期.replace('T', ' ') : "", |
| | | HCloseMan: data.关闭人 || "", |
| | | HCloseDate: data.关闭日期 ? data.关闭日期.replace('T', ' ') : "", |
| | | HDeleteMan: data.作废人 || "", |
| | | HDeleteDate: data.作废日期 ? data.作废日期.replace('T', ' ') : "", |
| | | }; |
| | | |
| | | |
| | | if (data.源单类型) { |
| | | let index = this.arrayHMainSourceBillTypeID.findIndex(id => id == data.源单类型); |
| | | if (index != -1) { |
| | | this.HMainSourceBillTypeDisplay = this.arrayHMainSourceBillType[index]; |
| | | } |
| | | } |
| | | |
| | | |
| | | this.hasSourceBill = false; |
| | | |
| | | |
| | | this.$forceUpdate(); |
| | | |
| | | console.log('赋值后的hform:', this.hform); |
| | | } |
| | | } catch (err) { |
| | | console.error('获取数据失败:', err); |
| | | uni.showToast({ title: '获取数据失败', icon: 'none' }); |
| | | } finally { |
| | | uni.hideLoading(); |
| | | } |
| | | }, |
| | | |
| | | // 保存 |
| | | async submit() { |
| | | if (!this.checkSubmitValidate()) return; |
| | | |
| | | let operation = this.operationType == 1 ? "Add" : "Update"; |
| | | |
| | | // 编辑时设置修改人和修改时间 |
| | | if (this.operationType == 3) { |
| | | this.hform.HUpDater = getUserInfo()["Czymc"]; |
| | | this.hform.HUpDateDate = dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"); |
| | | } |
| | | |
| | | try { |
| | | let sMainStr = JSON.stringify(this.hform); |
| | | let sMainSub = sMainStr + ';' + operation + ';' + getUserInfo()["Czymc"]; |
| | | |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: "/Sc_ProcessMangement/SaveQC_NoPassProdDisposeBill", |
| | | data: { "msg": sMainSub }, |
| | | method: "POST", |
| | | }); |
| | | |
| | | if (res?.data?.count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '保存成功,是否继续新增?', |
| | | success: (r) => { |
| | | if (r.confirm) { |
| | | uni.redirectTo({ |
| | | url: "/pages/ZLGL/QCNoPassProdDisposeBillMainList/QCNoPassProdDisposeBillMain?operationType=1", |
| | | }); |
| | | } else { |
| | | uni.navigateBack(); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ title: res?.data?.Message || '保存失败', icon: 'none' }); |
| | | } |
| | | } catch (err) { |
| | | console.error('保存失败:', err); |
| | | uni.showToast({ title: '保存失败', icon: 'none' }); |
| | | } |
| | | }, |
| | | |
| | | // 新增 |
| | | addNew() { |
| | | uni.redirectTo({ |
| | | url: "/pages/ZLGL/QCNoPassProdDisposeBillMainList/QCNoPassProdDisposeBillMain?operationType=1", |
| | | }); |
| | | }, |
| | | |
| | | // 返回 |
| | | goBack() { |
| | | uni.navigateBack(); |
| | | }, |
| | | }, |
| | | |
| | | async onLoad(e) { |
| | | this.operationType = parseInt(e.operationType) || 1; |
| | | this.hform.HInterID = e.HInterID || "0"; |
| | | |
| | | const organization = uni.getStorageSync('Organization'); |
| | | this.hform.Organization = organization || ''; |
| | | |
| | | |
| | | await this.InitGyEmp(); |
| | | await this.InitDept(); |
| | | |
| | | if (this.operationType == 1) { |
| | | await this.getMaxBillNo(); |
| | | this.hform.HSendMan = getUserInfo()["Czymc"] || ""; |
| | | } else if (this.operationType == 3) { |
| | | await this.getEditData(e.HInterID); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | /* 样式保持不变 */ |
| | | input { width: inherit; font-size: 26rpx; } |
| | | .uni-input { padding: 0; } |
| | | |
| | | .bill-main-tabs { |
| | | box-sizing: border-box; |
| | | width: 730rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex-wrap: nowrap; |
| | | gap: 20rpx; |
| | | border-bottom: 1px solid #ddd; |
| | | padding: 20rpx 10rpx; |
| | | |
| | | view { |
| | | width: auto; |
| | | font-size: 26rpx; |
| | | color: #555; |
| | | text-align: center; |
| | | padding: 16rpx 0; |
| | | } |
| | | |
| | | .selected { |
| | | color: #3a78ff; |
| | | font-weight: bold; |
| | | border-bottom: 3px solid #3a78ff; |
| | | } |
| | | } |
| | | |
| | | .bill-main-content { |
| | | box-sizing: border-box; |
| | | padding: 0 30rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .form-item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | padding: 6rpx 0; |
| | | |
| | | .left { width: 208rpx; } |
| | | .right { |
| | | padding: 8rpx 20rpx; |
| | | font-size: 26rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | |
| | | .uni-combox { padding: 0; height: auto; } |
| | | .uni-combox::v-deep input { height: inherit; font-size: 26rpx; } |
| | | |
| | | input { |
| | | width: 100%; |
| | | border: none; |
| | | outline: none; |
| | | background: transparent; |
| | | } |
| | | } |
| | | .disabled { border: 1px solid #e4e4e4; background-color: #f5f5f5; } |
| | | } |
| | | } |
| | | |
| | | .bottom-btn { |
| | | box-sizing: border-box; |
| | | width: 100%; |
| | | height: 120rpx; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | background-color: #fff; |
| | | box-shadow: 0 2rpx 10rpx 2rpx rgba(0,0,0,0.4); |
| | | padding: 30rpx 40rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 10rpx; |
| | | |
| | | button { |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | .btn-a { background-color: #3a78ff; color: #fff; } |
| | | .btn-c { background-color: #acacac; color: #fff; } |
| | | } |
| | | |
| | | .select-border { |
| | | border: 1px solid #acacac !important; |
| | | border-radius: 22rpx !important; |
| | | } |
| | | |
| | | .no-border-select ::v-deep .uni-select { |
| | | border: none !important; |
| | | } |
| | | |
| | | .icon-wrapper, .icon-wrapper-big { |
| | | background-color: #3a78ff; |
| | | border-radius: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex-shrink: 0; |
| | | margin-left: 20rpx; |
| | | .uni-icons { color: #fff !important; } |
| | | } |
| | | |
| | | .icon-wrapper { width: 40rpx; height: 40rpx; } |
| | | .icon-wrapper-big { width: 50rpx; height: 50rpx; } |
| | | |
| | | .enable-icon-button { background-color: #3a78ff; } |
| | | .disable-icon-button { background-color: lightgray; pointer-events: none; } |
| | | |
| | | |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | </template> |
| | | |
| | | <script> |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">{{ $t("QC_TakeSampleCheckBill.HSourceName") == "QC_TakeSampleCheckBill.HSourceName" ? "生产资源:" : $t("QC_TakeSampleCheckBill.HSourceName") }}</view> |
| | | <view class="title required">{{ $t("QC_TakeSampleCheckBill.HSourceName") == "QC_TakeSampleCheckBill.HSourceName" ? "生产资源:" : $t("QC_TakeSampleCheckBill.HSourceName") }}</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="HSourceNameArray" name="HSourceName" id="HSourceName" :placeholder="$t('QC_TakeSampleCheckBill.HSourceName_Placeholder') == 'QC_TakeSampleCheckBill.HSourceName_Placeholder' ? '请选择生产资料' : $t('QC_TakeSampleCheckBill.HSourceName_Placeholder')" v-model="hform.HSourceName" @input="HSourceNameChangeHandler"></uni-combox> |
| | | </view> |
| | |
| | | HProcID: 0, |
| | | HQty: '', |
| | | HSampleDamageQty: 0, |
| | | TestType: 'first', |
| | | TestType: '首检', |
| | | HBadNote: '', |
| | | HDeptName: getUserInfo().HDeptName, |
| | | HDeptID: getUserInfo().HDeptID, |
| | |
| | | if (code == 1) { |
| | | this.HBarCode = '' |
| | | let data1 = data.h_v_Sc_ProcessExchangeBillList |
| | | this.hform = Object.assign(this.hform, { |
| | | Object.assign(this.hform, { |
| | | "HMaterID": data1[0].HMaterID, //产品ID |
| | | "HMaterCode": data1[0].产品代码, //产品代码 |
| | | "HMaterName": data1[0].产品, //产品名称 |
| | | "HMaterSpec": data1[0].规格型号, //产品规格 |
| | | "HMaterSpec": data1[0].规格型号.replace(/["]/g, "'"), //产品规格 |
| | | "HUnitID": data1[0].HUnitID, //计量单位id |
| | | "HUnitName": data1[0].单位, //计量单位 |
| | | "HMainSourceBillNo": data1[0].单据号, //源单单号 |
| | |
| | | "HICMOBillNo": data1[0].任务单号, //生产订单 |
| | | "HDeptID": data1[0].HWorkShopID, //车间ID |
| | | "HDeptName": data1[0].生产车间, //车间 |
| | | |
| | | "HSampleDamageQty": data1[0]["HSampleDamageQty"] || 0 |
| | | }) |
| | | |
| | | if (data1 && data1.length === 1) { |
| | | // 获取工序ID |
| | | let procId = data1[0].HProcID |
| | |
| | | }) |
| | | }, |
| | | submit() { |
| | | console.log('this.hform: ',this.hform); |
| | | if (this.hform.HProcID == 0) { |
| | | return uni.showToast({ |
| | | icon: 'none', |
| | | title: this.$t('QC_TakeSampleCheckBill.noProcess') == 'QC_TakeSampleCheckBill.noProcess' ? '工序没有选择' : this.$t('QC_TakeSampleCheckBill.noProcess') |
| | | }) |
| | | } |
| | | if (this.hform.HQty == '') { |
| | | if (this.hform.HQty === '') { |
| | | return uni.showToast({ |
| | | icon: 'none', |
| | | title: this.$t('QC_TakeSampleCheckBill.sampleQtyEmpty') == 'QC_TakeSampleCheckBill.sampleQtyEmpty' ? '取样数量不能为空' : this.$t('QC_TakeSampleCheckBill.sampleQtyEmpty') |
| | | }) |
| | | } |
| | | if (this.hform.HSampleDamageQty == '') { |
| | | console.log('this.hform.HSampleDamageQty: ',this.hform.HSampleDamageQty); |
| | | console.log('this.hform.HSampleDamageQty: ',this.hform.HSampleDamageQty == ''); |
| | | if (this.hform.HSampleDamageQty === "") { |
| | | return uni.showToast({ |
| | | icon: 'none', |
| | | title: this.$t('QC_TakeSampleCheckBill.damageQtyEmpty') == 'QC_TakeSampleCheckBill.damageQtyEmpty' ? '破坏性实验数量不能为空' : this.$t('QC_TakeSampleCheckBill.damageQtyEmpty') |
| | |
| | | </view> |
| | | |
| | | <view class="op" v-if="operations == index"> |
| | | <button class="op3" size="mini" plain @tap.stop="Xt_FistCheck(item)">下推首件单</button> |
| | | <button class="op3" size="mini" plain @tap.stop="doAudit(item)">{{ item.单据状态 == '已审核'? "反审核": "审核" }}</button> |
| | | <button class="op4" size="mini" plain @tap.stop="del(item)">删除</button> |
| | | <button class="op5" size="mini" plain @tap.stop="operations = -1">取消操作</button> |
| | | </view> |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | async doAudit(item) { |
| | | let type = 0 |
| | | if(item["单据状态"] == "已审核"){ |
| | | type = 1 |
| | | }else { |
| | | type = 0 |
| | | } |
| | | try{ |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/QC_TakeSampleCheckBill/AuditQC_TakeSampleCheckBillMain", |
| | | data: { |
| | | "HInterID": item.hmainid, |
| | | "IsAudit": type, |
| | | "CurUserName": getUserInfo()["Czymc"] |
| | | } |
| | | }) |
| | | |
| | | console.log('res: ',res); |
| | | let {data, count , Message} = res.data |
| | | if(count == 1) { |
| | | this.onSearchClickHandler() |
| | | } |
| | | |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: Message |
| | | }) |
| | | }catch(err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: err |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | // 新增取样单 |
| | | onAddClickHandler() { |
| | | uni.navigateTo({ |
| | | url: "/pages/quyangdan/TakeSampleCheckBill?operationType=0" |
| | | url: "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill?operationType=0" |
| | | }) |
| | | }, |
| | | Xt_FistCheck(item){ |
| | |
| | | <view class="form-item"> |
| | | <view class="title">{{$t("Gy.EquipNumber_Search")}}:</view> |
| | | <view class="right"> |
| | | <input type="text" :value="condition.HNumber" /> |
| | | <input type="text" v-model="condition.HNumber" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">{{$t("Gy.EquipName_Search")}}:</view> |
| | | <view class="right"> |
| | | <input type="text" :value="condition.HName" /> |
| | | <input type="text" v-model="condition.HName" /> |
| | | </view> |
| | | </view> |
| | | <view class="search-buttons"> |
| | |
| | | <button class="btn-a" size="mini" type="default" @tap="clear">重置</button> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <!-- 显示列表 --> |
| | | <view class="list" v-for="(item,index) in displayData" :key="index"> |
| | | <uni-card :title="item.设备名称" style="margin: 10px;" |
| | | > |
| | | <uni-card :title="item.设备名称" style="margin: 10px;"> |
| | | <view class="card-detail"> |
| | | <template v-for="(HBillField, index) in CommonUtils.emptyValueFilter(item,fieldData).slice(0,10)"> |
| | | <view class="detail" v-if="HBillField.ColmType == 'DateTime'"> |
| | |
| | | <text>{{ HBillField.ColmCols }}:</text>{{ item[HBillField.ColmCols] }} |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="more" v-if="showDetail == index && operations != index"> |
| | | <view class="part" style="border-right: 1px solid #eee;"> |
| | | <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>收起 |
| | |
| | | <view class="over" v-if="!readCompelete">正在获取数据...</view> |
| | | <view class="over" v-if="readCompelete">没有更多数据...</view> |
| | | </template> |
| | | |
| | | |
| | | <ba-tree-picker ref="treePicker" :multiple='false' @select-change="selectChange" title="选择部门" |
| | | :localdata="reportTreeList" valueKey="id" textKey="title" childrenKey="children" /> |
| | | </view> |
| | |
| | | CommonUtils, |
| | | showDetail: -1, |
| | | operations: -1, |
| | | |
| | | |
| | | reportTreeList: [], |
| | | selectedList: [], |
| | | displayData: [], |
| | | fieldData: [], |
| | | |
| | | |
| | | readCompelete: false, |
| | | page: 1, |
| | | size: 20, |
| | | |
| | | |
| | | HDateMiddle: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | |
| | | |
| | | |
| | | |
| | | condition: { |
| | | HDeptID: 0, |
| | | HDeptName: "", |
| | |
| | | methods: { |
| | | search() { |
| | | this.page = 1 |
| | | this.displayData = [] |
| | | this.getReport() |
| | | }, |
| | | clear() { |
| | | |
| | | this.page = 1 |
| | | this.displayData = [] |
| | | this.condition.HDeptID = 0 |
| | | this.condition.HDeptName = "" |
| | | this.condition.HBeginDate = dayjs(new Date()).format("YYYY-MM-DD") |
| | | this.condition.HEndDate = dayjs(new Date()).format("YYYY-MM-DD") |
| | | this.condition.HNumber = "" |
| | | this.condition.HName = "" |
| | | }, |
| | | showPicker() { |
| | | this.$refs.treePicker._show(); |
| | |
| | | try { |
| | | let sWhere = "" |
| | | sWhere += this.combineSWhereStr(sWhere) |
| | | |
| | | |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/SB_EquipRunningStatus/Report", |
| | | url: "/SB_EquipRunningStatus/ReportPage", |
| | | data: { |
| | | sWhere, |
| | | user: getUserInfo()["Czymc"], |
| | |
| | | size: this.size |
| | | } |
| | | }) |
| | | |
| | | let {data, count, Message, list} = res.data |
| | | |
| | | if(count == 1) { |
| | | if(data.length == 0) { |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message, |
| | | list |
| | | } = res.data |
| | | |
| | | if (count == 1) { |
| | | if (data.length == 0) { |
| | | // 数据已经读完 |
| | | this.page-- |
| | | this.readCompelete = true |
| | | return |
| | | } |
| | | |
| | | |
| | | this.displayData.push(...data) |
| | | this.fieldData = CommonUtils.fieldListFilterRole({ |
| | | FieldList: list, |
| | | ExcludeKeys: ["设备名称"] |
| | | }).data || [] |
| | | }else { |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取报表信息失败: ${Message}` |
| | |
| | | |
| | | if (this.condition.HBeginDate && this.condition.HEndDate) { |
| | | sWhere += |
| | | ` and CONVERT(varchar(100),所属日期, 23) >= '${this.condition.HBeginDate}' and CONVERT(varchar(100),所属日期, 23) <= '${this.condition.HEndDate}'` |
| | | ` and CONVERT(varchar(100),所属日期, 23) >= '${this.condition.HBeginDate}' and CONVERT(varchar(100),所属日期, 23) <= '${this.condition.HEndDate}' ` |
| | | } |
| | | |
| | | if (this.condition.HNumber) { |
| | | sWhere += ` and 设备编码 like '%${this.condition.HNumber}'%` |
| | | sWhere += ` and 设备编码 like '%${this.condition.HNumber}%' ` |
| | | } |
| | | |
| | | if (this.condition.HName) { |
| | | sWhere += ` and 设备名称 like '%${this.condition.HName}'%` |
| | | sWhere += ` and 设备名称 like '%${this.condition.HName}%' ` |
| | | } |
| | | |
| | | return sWhere |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.GetReportTreeList() |
| | | this.GetReportTreeList(); |
| | | this.getReport(); |
| | | }, |
| | | onReachBottom(){ |
| | | onReachBottom() { |
| | | this.page++ |
| | | this.getReport() |
| | | } |
| | |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: 'bottom' |
| | | top: 'bottom', |
| | | itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑) |
| | | itemHeight: 12, // 图例图标高度(可选) |
| | | textStyle: { |
| | | fontSize: 11 // 字体大小(可选,避免太占空间) |
| | | } |
| | | }, |
| | | series: [{ |
| | | name: '点检次数', |
| | |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: 'bottom' |
| | | top: 'bottom', |
| | | itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑) |
| | | itemHeight: 12, // 图例图标高度(可选) |
| | | textStyle: { |
| | | fontSize: 11 // 字体大小(可选,避免太占空间) |
| | | } |
| | | }, |
| | | series: [{ |
| | | name: '保养次数', |
| | |
| | | condition: { |
| | | year: dayjs(new Date()).format("YYYY"), |
| | | month: dayjs(new Date()).format("M"), |
| | | dimension: '器具' |
| | | dimension: '保养项目' |
| | | } |
| | | }; |
| | | }, |
| | |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: 'bottom' |
| | | top: 'bottom', |
| | | itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑) |
| | | itemHeight: 12, // 图例图标高度(可选) |
| | | textStyle: { |
| | | fontSize: 11 // 字体大小(可选,避免太占空间) |
| | | } |
| | | }, |
| | | series: [{ |
| | | name: '保养次数', |
| | |
| | | condition: { |
| | | year: dayjs(new Date()).format("YYYY"), |
| | | month: dayjs(new Date()).format("M"), |
| | | dimension: '器具' |
| | | dimension: '责任人' |
| | | } |
| | | }; |
| | | }, |
| | |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | top: 'bottom' |
| | | top: 'bottom', |
| | | itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑) |
| | | itemHeight: 12, // 图例图标高度(可选) |
| | | textStyle: { |
| | | fontSize: 11 // 字体大小(可选,避免太占空间) |
| | | } |
| | | }, |
| | | series: [{ |
| | | name: '维修项目比例', |
| | |
| | | <input type="number" v-model="hform.HCheckQty" :disabled="hasCheckQty" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="left">不良数量</view> |
| | | <view class="right"> |
| | | {{ totalNum }} |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left">检验员</view> |
| | | <view class="right-select"> |
| | |
| | | BillListPopupVue, |
| | | }, |
| | | computed: { |
| | | // 计算 num 合计 |
| | | totalNum() { |
| | | if (!this.HBadReasonList || this.HBadReasonList.length === 0) return 0; |
| | | return this.HBadReasonList.reduce((sum, item) => sum + (item.num || 0), 0); |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | |
| | | }, |
| | | async onLoad(e) { |
| | | this.setAuto(); |
| | | //this.setAuto(); |
| | | this.operationType = e.operationType || 1; |
| | | this.hform.HInterID = e.linterid || 0; |
| | | if (this.operationType == 1) { |
| | |
| | | }, |
| | | }, |
| | | async onLoad(e) { |
| | | this.setAuto(); |
| | | //this.setAuto(); |
| | | this.operationType = e.operationType || 1; |
| | | this.hform.HInterID = e.linterid || 0; |
| | | console.log(this.hform.HFirstCheckEmp) |
| | |
| | | </view> |
| | | <view class="card-item-wrapper"> |
| | | <view v-for="(item, index) in materialManifest" :key="index"> |
| | | <uni-card :title="item.HSourceBillNo" @tap="toDetail(item, index)"> |
| | | <uni-card :title="item.HSourceBillNo" :extra="item.客户订单号 ? '订单号:' + item.客户订单号 : ''" |
| | | @tap="toDetail(item, index)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>物料代码:</text>{{item.HMaterNumber}} |
| | |
| | | <view class="title">质检员:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="HKeeperNameList" placeholder="请选择质检员" |
| | | v-model="detailManifestItem.HKeeperName" @input="HKeeperNameChange"></uni-combox> |
| | | v-model="sourceBillInfo.HKeeperName" @input="HKeeperNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | |
| | | sourceBillInfo: { |
| | | HSourceBillNo: '', |
| | | HBillNo: '', |
| | | HInterID: '' |
| | | HInterID: '', |
| | | HKeeperID: getUserInfo()["HEmpID"], |
| | | HKeeperName: getUserInfo()["HEmpName"] |
| | | }, |
| | | // 物料清单 |
| | | materialManifest: [], |
| | |
| | | detailManifestItem: { |
| | | "HMaterNumber": "", |
| | | "HMaterID": "", |
| | | "F_WPVT_Text_tzk": "", |
| | | "HMaterName": "", |
| | | "HMaterModel": "", |
| | | "HUnitName": "", |
| | |
| | | }) |
| | | }, |
| | | HKeeperNameChange(e) { |
| | | console.log(this.HKeeperList) |
| | | let keeperItem = this.HKeeperList.find(elem => elem.HName == e) |
| | | console.log(keeperItem) |
| | | this.detailManifestItem.HKeeperID = keeperItem.HItemID |
| | | this.detailManifestItem.HKeeperName = keeperItem.HName |
| | | this.sourceBillInfo.HKeeperID = keeperItem.HItemID |
| | | this.sourceBillInfo.HKeeperName = keeperItem.HName |
| | | |
| | | |
| | | }, |
| | |
| | | HSPID: data[0].HSPID, |
| | | HSupID: data[0].HSupID, |
| | | HMaterID: data[0].HMaterID, |
| | | F_WPVT_Text_tzk: data[0].F_WPVT_Text_tzk, |
| | | HSourceBillType: data[0].HSourceBillType, |
| | | HSLInterID: data[0].HSLInterID, |
| | | HSLEntryID: data[0].HSLEntryID, |
| | |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | if (data[0].HCheckDate == null){ |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `该单据未审核` |
| | | }) |
| | | return |
| | | } |
| | | this.materialManifest = data |
| | | this.tabs = 1 |
| | | } else { |
| | |
| | | "HWHID": this.detailManifestItem.HWHID || 0, |
| | | "HSPID": this.detailManifestItem.HSPID || 0, |
| | | "HSupID": this.detailManifestItem.HSupID || 0, |
| | | "HKeeperID": this.detailManifestItem.HKeeperID || 0, |
| | | "HKeeperID": this.sourceBillInfo.HKeeperID || 0, |
| | | "HMaterID": this.detailManifestItem.HMaterID, |
| | | "F_WPVT_Text_tzk": this.detailManifestItem.F_WPVT_Text_tzk, |
| | | "HSourceBillType": this.detailManifestItem.HSourceBillType, |
| | | "HSLInterID": this.detailManifestItem.HSLInterID, |
| | | "HSLEntryID": this.detailManifestItem.HSLEntryID, |
| | |
| | | } = res.data |
| | | if (count == 1) { |
| | | CommonUtils.showTips({ |
| | | message: `上传成功` |
| | | title: '提示', |
| | | message: '上传成功' |
| | | }) |
| | | this.attachmentInfo = [] |
| | | // 刷新单据号,防止单据号重复 |
| | |
| | | </view> |
| | | <view class="card-item-wrapper"> |
| | | <view v-for="(item, index) in materialManifest" :key="index"> |
| | | <uni-card :class="item.selected?'card-selected':''" :title="item.HSourceBillNo" |
| | | <uni-card :class="item.selected?'card-selected':''" :title="item.HSourceBillNo" |
| | | :extra="item.客户订单号 ? '订单号:' + item.客户订单号 : ''" |
| | | @tap="selectMater(item, index)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | |
| | | detailManifest: [], |
| | | detailManifestItem: { |
| | | "HMaterNumber": "", |
| | | "F_WPVT_Text_tzk": "", |
| | | "HMaterID": "", |
| | | "HMaterName": "", |
| | | "HMaterModel": "", |
| | |
| | | HSPID: data[0].HSPID, |
| | | HSupID: data[0].HSupID, |
| | | HMaterID: data[0].HMaterID, |
| | | F_WPVT_Text_tzk: data[0].F_WPVT_Text_tzk, |
| | | HSourceBillType: data[0].HSourceBillType, |
| | | HSLInterID: data[0].HSLInterID, |
| | | HSLEntryID: data[0].HSLEntryID, |
| | |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | if (data[0].HCheckDate == null){ |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `该单据未审核` |
| | | }) |
| | | return |
| | | } |
| | | this.sourceBillInfo.HSourceInterID = data[0].HSourceInterID |
| | | this.sourceBillInfo.HSourceBillType = '1103' |
| | | this.materialManifest = data |
| | |
| | | }); |
| | | return false; |
| | | } |
| | | this.hform.HCheckQty = this.hform.HCheckQty || 0 |
| | | if (this.hform.HCheckQty == 0) { |
| | | CommonUtils.showTips({ |
| | | message: "检验数量不得为0!", |
| | |
| | | for (let key in this.checkItems) { |
| | | if (this.checkItems.hasOwnProperty(key)) { |
| | | let element = this.checkItems[key]; |
| | | if(element.HResult == 0){ |
| | | if(element.HResult == 2){ |
| | | count ++ |
| | | } |
| | | |
| | |
| | | }, |
| | | }, |
| | | async onLoad(e) { |
| | | this.setAuto(); |
| | | //this.setAuto(); |
| | | this.operationType = e.operationType || 1; |
| | | this.hform.HInterID = e.linterid || 0; |
| | | if (this.operationType == 1) { |
| | |
| | | // 判断 最后结果为不合格的情况下,检验项目中是否有不合格项 |
| | | if(this.hform.HLastResult == 0 || this.hform.HLastResult == false){ |
| | | let count = 0 |
| | | console.log('this.checkItems: ',this.checkItems); |
| | | for (let key in this.checkItems) { |
| | | if (this.checkItems.hasOwnProperty(key)) { |
| | | let element = this.checkItems[key]; |
| | | if(element.HResult == 0){ |
| | | if(element.HResult == 2){ |
| | | count ++ |
| | | } |
| | | |
| | |
| | | </view> |
| | | <view class="icon-wrapper-big"> |
| | | <uni-icons class="right-icon" type="scan" |
| | | style="background-color: #3a78ff;padding: 6rpx; color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanCode"></uni-icons> |
| | | :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'" |
| | | :disabled="hasSourceBill" size="20" @click="toScanCode"></uni-icons> |
| | | </view> |
| | | <view class="icon-wrapper-big"> |
| | | <uni-icons class="right-icon" type="search" |
| | | :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'" |
| | | :disabled="hasSourceBill" size="20" @click="toBillSelector"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | <view class="item" v-for="(item,index) in popList" :key="index" @tap="toAbnm(item)">{{item}}</view> |
| | | </view> |
| | | </uni-popup> |
| | | <BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HSourceBillType" |
| | | :HStockOrgID="hform.HStockOrgID" @BillSelectComplete="HandleBillSelectComplete"></BillListPopupVue> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue"; |
| | | import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue"; |
| | | import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue"; |
| | | import BillListPopupVue from "../../../components/BillListPopup/BillListPopup.vue"; |
| | | import { |
| | | getUserInfo |
| | | } from "../../../utils/auth"; |
| | |
| | | ProcExchBillPopupVue, |
| | | ProcessPopupVue, |
| | | CheckProjectPopupVue, |
| | | BillListPopupVue, |
| | | }, |
| | | computed: { |
| | | judgeConclusion: { |
| | |
| | | ], |
| | | // 主表属性 |
| | | hform: { |
| | | HBillType: '7520', |
| | | HSourceBillType: "3790", |
| | | HSourceBillNo: "", |
| | | HBillNo: "", |
| | |
| | | HMainSourceInterID: "0", |
| | | HMainSourceEntryID: "1", |
| | | HMainSourceBillNo: "", |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | }, |
| | | // 检验项目和抽样检验 值 |
| | | checkItems: {}, |
| | |
| | | HSourceBillTypeNameChange(e) { |
| | | this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value]; |
| | | this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value]; |
| | | const pages = getCurrentPages() |
| | | // 获取页面栈中的最后一个元素,也就是当前显示的页面 |
| | | const currentPage = pages[pages.length - 1] |
| | | // 选择源单类型后 缓存当前页面选择 |
| | | uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, { |
| | | HSourceBillTypeName: this.HSourceBillType, |
| | | HSourceBillType: this.hform.HSourceBillType |
| | | }) |
| | | }, |
| | | // 读取缓存 |
| | | loadCache() { |
| | | const pages = getCurrentPages() |
| | | // 获取页面栈中的最后一个元素,也就是当前显示的页面 |
| | | const currentPage = pages[pages.length - 1] |
| | | let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`) |
| | | if (HBillTypeCache) { |
| | | this.HSourceBillType = HBillTypeCache.HSourceBillTypeName |
| | | this.hform.HSourceBillType = HBillTypeCache.HSourceBillType |
| | | this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType |
| | | } |
| | | }, |
| | | toBillSelector() { |
| | | this.$refs['billList'].showPopup() |
| | | }, |
| | | toScanCode() { |
| | | MpaasScan.scanCode((res) => { |
| | |
| | | }, |
| | | async getSourceBillInfo(HBarCode) { |
| | | console.log('HBarCode: ', HBarCode); |
| | | // 根据单据类型,调用不同的下推函数 |
| | | if (this.hform.HSourceBillType == 3790) { |
| | | // 工序进站接收单列表首检 |
| | | await this.LoadingInformation_StationInBill(HBarCode); |
| | | if ( |
| | | (uni.getStorageSync("OrganizationID") == "7667152" && |
| | | uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") || |
| | | (uni.getStorageSync("OrganizationID") == "100199" && |
| | | uni.getStorageSync("Organization") == "杭州斯莫尔磁性材料有限公司") |
| | | ) { |
| | | await this.GetCheckItemID(); // 客户为斯莫尔,进入按照质检方案表头上的物料绑定带出默认方案 |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/WEBSController/get_CheckBillBarCode_Json_CheckItem", |
| | | data: { |
| | | HBillType: this.hform.HBillType, |
| | | HSourceBillType: this.hform.HSourceBillType, |
| | | HBarCode: HBarCode, |
| | | HInterID: 0, |
| | | HEntryID: 0, |
| | | Mode: 1, //扫码模式 |
| | | user: getUserInfo()["Czymc"] |
| | | } |
| | | return; |
| | | }) |
| | | |
| | | console.log(res) |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | if (this.hform.HSourceBillType == "3772") { |
| | | // 工序流转卡 |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0]['单据号'] |
| | | this.hform.HSourceBillNo = data[0]['单据号'] |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].HSourceBillQty |
| | | this.hasSourceBill = true |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HProcExchBillNo = data[0].单据号 |
| | | this.hform.HProcExchInterID = data[0].HInterID |
| | | this.hform.HProcExchEntryID = data[0].HEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | } else if (this.hform.HSourceBillType == "3790") { |
| | | // 工序进站接收单 |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0].单据号 |
| | | this.hform.HSourceBillNo = data[0].单据号 |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].检验数量 |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HCheckQty = data[0].进站数量 |
| | | this.hform.HProcExchBillNo = data[0].HProcExchBillNo |
| | | this.hform.HProcExchInterID = data[0].HProcExchInterID |
| | | this.hform.HProcExchEntryID = data[0].HProcExchEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | this.hform.HTakeSampleCheckBillNo = data[0].单据号 |
| | | this.hform.HTakeSampleCheckBillID = data[0].HInterID |
| | | } else { |
| | | // 其他类型(3793工序委外接收单、3710生产订单) |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0]['单据号'] |
| | | this.hform.HSourceBillNo = data[0]['单据号'] |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].HSourceBillQty |
| | | this.hasSourceBill = true |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HProcExchBillNo = data[0].单据号 |
| | | this.hform.HProcExchInterID = data[0].HInterID |
| | | this.hform.HProcExchEntryID = data[0].HEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | } |
| | | this.get_CheckItem(); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: Message |
| | | }) |
| | | } |
| | | if (this.hform.HSourceBillType == 3793) { |
| | | // 工序委外接收单列表首检 |
| | | await this.LoadingInformation_StationEntrustOutBill(HBarCode); |
| | | if ( |
| | | (uni.getStorageSync("OrganizationID") == "7667152" && |
| | | uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") || |
| | | (uni.getStorageSync("OrganizationID") == "100199" && |
| | | uni.getStorageSync("Organization") == "杭州斯莫尔磁性材料有限公司") |
| | | ) { |
| | | await this.GetCheckItemID(); // 客户为斯莫尔,进入按照质检方案表头上的物料绑定带出默认方案 |
| | | |
| | | }, |
| | | async HandleBillSelectComplete(e) { |
| | | console.log('e: ', e); |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/WEBSController/get_CheckBillBarCode_Json_CheckItem", |
| | | data: { |
| | | HBillType: this.hform.HBillType, |
| | | HSourceBillType: this.hform.HSourceBillType, |
| | | HBarCode: "", |
| | | HInterID: e?.HInterID, |
| | | HEntryID: e?.HEntryID, |
| | | Mode: 2, //选单模式 |
| | | user: getUserInfo()["Czymc"] |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | if (this.hform.HSourceBillType == "3772") { |
| | | // 工序流转卡 |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0]['单据号'] |
| | | this.hform.HSourceBillNo = data[0]['单据号'] |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].HSourceBillQty |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HProcExchBillNo = data[0].单据号 |
| | | this.hform.HProcExchInterID = data[0].HInterID |
| | | this.hform.HProcExchEntryID = data[0].HEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | } else if (this.hform.HSourceBillType == "3790") { |
| | | // 工序进站接收单 |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0].单据号 |
| | | this.hform.HSourceBillNo = data[0].单据号 |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].检验数量 |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HCheckQty = data[0].进站数量 |
| | | this.hform.HProcExchBillNo = data[0].HProcExchBillNo |
| | | this.hform.HProcExchInterID = data[0].HProcExchInterID |
| | | this.hform.HProcExchEntryID = data[0].HProcExchEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | this.hform.HTakeSampleCheckBillNo = data[0].单据号 |
| | | this.hform.HTakeSampleCheckBillID = data[0].HInterID |
| | | } else { |
| | | // 其他类型(3793工序委外接收单、3710生产订单) |
| | | this.hform.HMaterID = data[0]['HMaterID'] |
| | | this.hform.HMaterName = data[0]['产品名称'] |
| | | this.hform.HMaterNumber = data[0]['产品代码'] |
| | | this.hform.HMainSourceBillNo = data[0]['单据号'] |
| | | this.hform.HSourceBillNo = data[0]['单据号'] |
| | | this.hform.HMainSourceInterID = data[0].HInterID |
| | | this.hform.HMainSourceEntryID = data[0].HEntryID |
| | | this.hform.HQCSchemeName = data[0].检验方案名称 |
| | | this.hform.HQCSchemeID = data[0].检验方案ID |
| | | this.hform.HSourceBillQty = data[0].HSourceBillQty |
| | | this.hform.HICMOBillNo = data[0].任务单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | this.hform.HICMOQty = data[0].生产数量 |
| | | this.hform.HProcExchBillNo = data[0].单据号 |
| | | this.hform.HProcExchInterID = data[0].HInterID |
| | | this.hform.HProcExchEntryID = data[0].HEntryID |
| | | this.hform.HProcExchQty = data[0].流转卡数量 |
| | | this.hform.HSourceName = data[0].生产资源 |
| | | this.hform.HSourceID = data[0].HSourceID |
| | | this.hform.HProcID = data[0].HProcID |
| | | this.hform.HProcName = data[0].当前工序 |
| | | } |
| | | |
| | | console.log('获取源单:', data) |
| | | |
| | | this.get_CheckItem(); |
| | | this.hasSourceBill = true; |
| | | this.$refs['billList'].exit(); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: Message |
| | | }) |
| | | } |
| | | return; |
| | | } |
| | | if (this.hform.HSourceBillType == 3710) { |
| | | // 生产订单列表首检 |
| | | await this.LoadingInformation_ICMO(HBarCode); |
| | | if ( |
| | | (uni.getStorageSync("OrganizationID") == "7667152" && |
| | | uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") || |
| | | (uni.getStorageSync("OrganizationID") == "100199" && |
| | | uni.getStorageSync("Organization") == "杭州斯莫尔磁性材料有限公司") |
| | | ) { |
| | | await this.GetCheckItemID(); // 客户为斯莫尔,进入按照质检方案表头上的物料绑定带出默认方案 |
| | | } |
| | | return; |
| | | } |
| | | if (this.hform.HSourceBillType == 3772) { |
| | | // 工序流转卡列表首检 |
| | | await this.LoadingInformation_ProcExchange(HBarCode); |
| | | if ( |
| | | (uni.getStorageSync("OrganizationID") == "7667152" && |
| | | uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") || |
| | | (uni.getStorageSync("OrganizationID") == "100199" && |
| | | uni.getStorageSync("Organization") == "杭州斯莫尔磁性材料有限公司") |
| | | ) { |
| | | await this.GetCheckItemID(); // 客户为斯莫尔,进入按照质检方案表头上的物料绑定带出默认方案 |
| | | } |
| | | return; |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `获取源单信息错误: ${err}` |
| | | }) |
| | | } |
| | | }, |
| | | async GetCheckItemID() { |
| | |
| | | for (let key in this.checkItems) { |
| | | if (this.checkItems.hasOwnProperty(key)) { |
| | | let element = this.checkItems[key]; |
| | | if(element.HResult == 0){ |
| | | if(element.HResult == 2){ |
| | | count ++ |
| | | } |
| | | |
| | |
| | | await this.InitHSource(); |
| | | await this.InitHWorkShift(); |
| | | await this.InitHEmp(); |
| | | await this.getErrMsgBackType() |
| | | await this.getErrMsgBackType(); |
| | | await this.loadCache(); |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <view class="detail" v-if="currentOrder[0].HSourceName" style="width: 100%;"> |
| | | <text>当前设备:</text>{{currentOrder[0].HSourceName}} |
| | | </view> |
| | | <view class="detail" v-if="currentOrder[0].首检次数?currentOrder[0].首检次数:0" style="width: 100%;"> |
| | | <text>首检次数:</text>{{currentOrder[0].首检次数}} |
| | | <view class="detail" > |
| | | <text>首检次数:</text>{{currentOrder[0].首检次数?currentOrder[0].首检次数:0}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>巡检次数:</text>{{currentOrder[0].巡检次数?currentOrder[0].巡检次数:0}} |
| | |
| | | this.hform.HSourceID = data[0].HSourceID //生产资源id |
| | | this.hform.HSourceName = data[0].生产资源名称 //生产资源 |
| | | this.hform.HProcExchBillNo = data[0].工序流转卡号 //源单单号 |
| | | this.hform.HProcExchEntryID = data[0].HProcExchInterID //源单主内码 |
| | | this.hform.HProcExchInterID = data[0].HProcExchEntryID //源单子内码 |
| | | this.hform.HProcExchEntryID = data[0].HProcExchEntryID //源单主内码 |
| | | this.hform.HProcExchInterID = data[0].HProcExchInterID //源单子内码 |
| | | this.hform.HICMOBillNo = data[0].生产订单号 |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | |
| | | this.hform.HQty = res.data.data[0].计划数量 //计划数量 |
| | | this.hform.HSourceID = res.data.data[0].HSourceID //生产资源id |
| | | this.hform.HSourceName = res.data.data[0].生产资源 //生产资源 |
| | | this.hform.HProcExchBillNo = data[0].流转卡号 //源单单号 |
| | | this.hform.HProcExchInterID = data[0].流转卡主内码 //源单主内码 |
| | | this.hform.HProcExchEntryID = data[0].流转卡子内码 //源单子内码 |
| | | this.hform.HICMOBillNo = data[0].HICMOBillNo |
| | | this.hform.HICMOInterID = data[0].HICMOInterID |
| | | this.hform.HICMOEntryID = data[0].HICMOEntryID |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | |
| | | |
| | | <view v-if="tabs == 2"> |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index"> |
| | | <uni-card :title="item.物料名称" style="margin: 10px;" @tap="delMater(item, $event)"> |
| | | <uni-card :title="item.物料名称" style="margcmdSearchin: 10px;" @tap="delMater(item,$event)"> |
| | | <!-- 物料代码作为可点击链接 --> |
| | | <view class="card-header" @tap.stop="gotoInventoryQuery(item.物料代码)"> |
| | | <view class="card-header" @tap.stop="gotoInventoryQuery(item.物料代码,$event)"> |
| | | <text class="link-text">{{$t(`${HModName}.物料代码`)}}:{{item.物料代码}}</text> |
| | | </view> |
| | | |
| | |
| | | delMater(item) { |
| | | if (event && event.target.classList && event.target.classList.contains('link-text')) { |
| | | return; // 如果是链接点击,不执行删除 |
| | | } |
| | | uni.navigateTo({ |
| | | url:'../tiaomamingxi/tiaomamingxi?HInterID=' + this.hform.HInterID + '&HMaterID=' + item.HMaterID + '&HBillType=' + this.hform.HBillType |
| | | }) |
| | | }else{ |
| | | uni.navigateTo({ |
| | | url:'../tiaomamingxi/tiaomamingxi?HInterID=' + this.hform.HInterID + '&HMaterID=' + item.HMaterID + '&HBillType=' + this.hform.HBillType |
| | | }) |
| | | } |
| | | |
| | | // uni.showModal({ |
| | | // title: '提示', |
| | |
| | | } |
| | | |
| | | } |
| | | this.getHMaterList() |
| | | this.getHProcList() |
| | | this.getHSupList() |
| | | //this.getHMaterList() |
| | | //this.getHProcList() |
| | | //this.getHSupList() |
| | | this.getHSourceList() |
| | | this.getHGroupList() |
| | | this.getHEmpList() |
| | |
| | | this.arrayHSourceName[i] = res.data.data.Gy_Source[i].生产资源 |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | |
| | | this.arrayHGroupName[i] = res.data.data[i].班组 |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | |
| | | this.arrayHEmpName[i] = res.data.data[i].HName |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | |
| | | arrayComparator:['=','>=','>','<=','<','<>','包含','左包含','右包含','不包含'], |
| | | hform:{ |
| | | HStatus:'未审核', |
| | | HBeginDate: new Date().toISOString().split('T')[0], |
| | | HBeginDate: new Date(Date.now() - 10 * 24 * 3600 * 1000).toISOString().split('T')[0], |
| | | HEndDate:'', |
| | | HWorkBillNo:'', |
| | | HBillNo:'', |
| | |
| | | </view> --> |
| | | |
| | | <view class="bottom-btn"> |
| | | <button v-if="hform.HIsTimeFlag==0" class="btn-a" size="mini" @tap="beginWork()">开工</button> |
| | | <button v-if="btnType == 0 && !isEdit" class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <button v-if="btnType != 0 && !isEdit" class="btn-a" size="mini" @tap="ifEdit">修改</button> |
| | | <button v-if="btnType != 0 && isEdit" class="btn-a" size="mini" @tap="submit">提交</button> |
| | |
| | | }) { |
| | | console.log(detail.value[0]) |
| | | this.hform.HIsTimeFlag = detail.value[0] || 0 |
| | | if(detail.value[0]){ |
| | | this.getNewHRelBeginDate() |
| | | this.hform.HRelEndTime = getDateTime.dateTimeStr('y-m-d h:i'); |
| | | }else{ |
| | | this.hform.HWorkTimes = 0; |
| | | } |
| | | |
| | | }, |
| | | //通过登录用户获取默认值 |
| | | getDefValByUser() { |
| | |
| | | }else{ |
| | | //设置主序列 |
| | | this.setMainHSEQ(); |
| | | //设置默认工序号 |
| | | if(this.hform.HProcNo!=""&&this.hform.HProcNo!=null){ |
| | | this.getHProcNoData2(this.hform.HBarCode,this.hform.HProcNo,this.hform.HSEQNumber) |
| | | } |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | |
| | | if(CommonUtils.isEmpty(this.hform.HQty) == true){ |
| | | return {pass: false, message: '提交失败: 报废数量为空'} |
| | | } |
| | | if(this.hform.HIsTimeFlag == 1 && CommonUtils.isEmpty(this.hform.HWorkTimes, true, true)) { |
| | | return {pass: false, message: '提交失败: 开启计时,但工时为0或空'} |
| | | } |
| | | // if(this.hform.HIsTimeFlag == 1 && CommonUtils.isEmpty(this.hform.HWorkTimes, true, true)) { |
| | | // return {pass: false, message: '提交失败: 开启计时,但工时为0或空'} |
| | | // } |
| | | return {pass: true, message: ''} |
| | | }, |
| | | //编辑 |
| | |
| | | } else if (barNo1 == 'GXLX' && data.工序号) { |
| | | this.hform.HProcNo = data.工序号 |
| | | } |
| | | } |
| | | //视图获取当前最新的工序号 |
| | | }else if(data.工序汇报当前工序号!=null && data.工序汇报当前工序号!=""){ |
| | | this.hform.HProcNo = data.工序汇报当前工序号 |
| | | } |
| | | this.hform.HICMOInterID = data.hicmointerid |
| | | this.hform.HICMOBillNo = data.任务单号 |
| | | this.hform.HMaterID = data.HMaterID |
| | |
| | | this.hform.HCenterID = data.HCenterID |
| | | this.hform.NoOutboundHqty = (data.流转卡数量 - data.出站报废关联数量 - data.出站关联数量) |
| | | this.hform.HStyleNumber = data['款号'] |
| | | //设置序列 |
| | | this.hform.HNotReportQty = data['未报工数量'] |
| | | //设置序列 |
| | | this.getHSEQList(e); |
| | | |
| | | } else { |
| | |
| | | this.hform.HNotReportQty = data['未报工数量'] |
| | | this.hform.HProcNumber = data['工序代码'] |
| | | this.hform.HIsTimeFlag = data['是否计时'] ? 1 : 0 |
| | | if(data['是否计时']){ |
| | | this.hform.HRelEndTime = getDateTime.dateTimeStr('y-m-d h:i'); |
| | | this.getNewHRelBeginDate(); |
| | | } |
| | | |
| | | this.hform.HSEQName = data.序列名称 |
| | | // this.hform.HStyleNumber = data['款号'] |
| | | // this.hform.HQty = data.合格数量 |
| | |
| | | }); |
| | | }, |
| | | //获取最新的报工日期 |
| | | getNewHRelBeginDate(){ |
| | | uni.request({ |
| | | url: this.serverUrl + '/Cj_StationOutBill/get_Display', |
| | | data:{ |
| | | sWhere: ` and HEmpID = N'${this.hform.HEmpID}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | HBillSubType:'', |
| | | }, |
| | | success: (res) => { |
| | | if(res.data.count == 1){ |
| | | //获取列表数据 |
| | | const listData = res.data.data |
| | | // 获取当前日期(去掉时间部分) |
| | | const today = new Date(); |
| | | today.setHours(0, 0, 0, 0); |
| | | if(listData.length==0){ |
| | | this.hform.HRelBeginTime = getDateTime.dateTimeSetHoureStr(7, 40, 0, 0,'y-m-d h:i'); |
| | | this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | }else{ |
| | | // 从对象数组中提取所有日期字段并找到最大值 |
| | | const maxDate = listData.reduce((max, obj) => { |
| | | const date = new Date(obj.出站时间); |
| | | return date > max ? date : max; |
| | | }, new Date(0)); // 初始值为最小日期 |
| | | // 比较最大日期和今天的日期部分(不比较时间) |
| | | const maxDateDateOnly = new Date(maxDate); |
| | | maxDateDateOnly.setHours(0, 0, 0, 0); |
| | | // 比较最大日期和今天 |
| | | if (maxDateDateOnly.getTime() !== today.getTime()) { |
| | | // 如果不是今天,返回当前日期 |
| | | this.hform.HRelBeginTime = getDateTime.dateTimeSetHoureStr(7, 40, 0, 0,'y-m-d h:i'); |
| | | this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | }else{ |
| | | this.hform.HRelBeginTime = getDateTime.formatDate(maxDate); |
| | | this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | } |
| | | } |
| | | }else{ |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | // getNewHRelBeginDate(){ |
| | | // uni.request({ |
| | | // url: this.serverUrl + '/Cj_StationOutBill/get_Display', |
| | | // data:{ |
| | | // sWhere: ` and HEmpID = N'${this.hform.HEmpID}'`, |
| | | // user: uni.getStorageSync('HUserName'), |
| | | // HBillSubType:'', |
| | | // }, |
| | | // success: (res) => { |
| | | // if(res.data.count == 1){ |
| | | // //获取列表数据 |
| | | // const listData = res.data.data |
| | | // // 获取当前日期(去掉时间部分) |
| | | // const today = new Date(); |
| | | // today.setHours(0, 0, 0, 0); |
| | | // if(listData.length==0){ |
| | | // this.hform.HRelBeginTime = getDateTime.dateTimeSetHoureStr(7, 40, 0, 0,'y-m-d h:i'); |
| | | // this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | // }else{ |
| | | // // 从对象数组中提取所有日期字段并找到最大值 |
| | | // const maxDate = listData.reduce((max, obj) => { |
| | | // const date = new Date(obj.出站时间); |
| | | // return date > max ? date : max; |
| | | // }, new Date(0)); // 初始值为最小日期 |
| | | // // 比较最大日期和今天的日期部分(不比较时间) |
| | | // const maxDateDateOnly = new Date(maxDate); |
| | | // maxDateDateOnly.setHours(0, 0, 0, 0); |
| | | // // 比较最大日期和今天 |
| | | // if (maxDateDateOnly.getTime() !== today.getTime()) { |
| | | // // 如果不是今天,返回当前日期 |
| | | // this.hform.HRelBeginTime = getDateTime.dateTimeSetHoureStr(7, 40, 0, 0,'y-m-d h:i'); |
| | | // this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | // }else{ |
| | | // this.hform.HRelBeginTime = getDateTime.formatDate(maxDate); |
| | | // this.hform.HWorkTimes=getDateTime.calculateHoursDiff(this.hform.HRelBeginTime,this.hform.HRelEndTime); |
| | | // } |
| | | // } |
| | | // }else{ |
| | | // uni.showToast({ |
| | | // title:res.data.Message, |
| | | // icon:'none' |
| | | // }) |
| | | // } |
| | | // }, |
| | | // fail: (res) => { |
| | | // console.log(res); |
| | | // uni.showToast({ |
| | | // title:'接口请求失败', |
| | | // icon:'none' |
| | | // }) |
| | | // }, |
| | | // }); |
| | | // }, |
| | | //新增 |
| | | getNewData() { |
| | | |
| | |
| | | } |
| | | }); |
| | | }, |
| | | //开工按钮 |
| | | beginWork(){ |
| | | if(this.hform.lngBillKey==''||this.hform.lngBillKey==0||this.hform.lngBillSubKey==''||this.hform.lngBillSubKey==0){ |
| | | |
| | | CommonUtils.showTips({ |
| | | title: "开工失败", |
| | | message: `开工失败请扫描流转卡并选择工序`, |
| | | }); |
| | | return ; |
| | | } |
| | | uni.request({ |
| | | url: this.serverUrl + '/Cj_StationOutBill/startTranslating', |
| | | method: 'GET', |
| | | data: { |
| | | HProcExchInterID: this.hform.lngBillKey, |
| | | HProcExchEntryID:this.hform.lngBillSubKey, |
| | | HOrgID:this.hform.HPRDOrgID, |
| | | HProcNo:this.hform.HProcNo, |
| | | user:uni.getStorageSync('HUserName') |
| | | }, |
| | | success: (res) => { |
| | | uni.hideLoading(); |
| | | if (res.data.count == 1) { |
| | | uni.showToast({ title: '开工成功', icon: 'none' }); |
| | | |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: "开工失败", |
| | | message: `${res.data.Message}`, |
| | | }); |
| | | } |
| | | }, |
| | | fail: () => { |
| | | uni.hideLoading(); |
| | | uni.showToast({ title: '接口请求失败', icon: 'none' }); |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | "杭州凯贝奈特外网": 'http://erp.hzcabinet.cn:9090/API/', |
| | | "翁涛涛本地测试": 'http://localhost:81/API/', |
| | | "陈镐哲本地测试": 'http://192.168.0.174:81/API/', |
| | | "陈镐哲本地测试2": 'http://192.168.88.82:81/API/', |
| | | "陈镐哲本地测试2": 'http://192.168.88.45:81/API/', |
| | | "张瑞广本地测试": 'http://localhost:8082/API/', |
| | | "余思杰本地测试": 'http://localhost:8082/LuBaoAPI/', |
| | | "杨权鑫本地测试": 'http://172.20.10.2:8082/API/', |
| | | "杨权鑫本地测试": 'http://192.168.0.180:8082/API/', |
| | | "王仪本地测试": 'http://192.168.0.74:8080/API/', |
| | | // 小卫内外网 |
| | | "苏州卫智科技-外网": 'http://221.224.60.42:8082/API_WW/', |
| | |
| | | }, |
| | | methods: { |
| | | async ApplyLanguagePack(lang, forceUpdate = false) { |
| | | // // 读取语言包并加载 |
| | | // 读取语言包并加载 |
| | | // let { |
| | | // data, |
| | | // getRemoteFile |
| | |
| | | <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" |
| | | :key="index" @tap="toUrl(item)"> |
| | | <template v-if="item.corner"> |
| | | <uni-badge :text="item.cornerCount" type="error" :max-num="99" size="normal" absolute="rightTop" |
| | | <uni-badge style="z-index: 997;" :text="item.cornerCount" type="error" :max-num="99" size="normal" absolute="rightTop" |
| | | :offset="[7, 7]"> |
| | | <image :src="item.img" mode=""></image> |
| | | </uni-badge> |
| | |
| | | <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" |
| | | :key="index" @tap="toUrl(item)"> |
| | | <template v-if="item.corner"> |
| | | <uni-badge :text="bindingData[item.cornerCount]" type="error" :max-num="99" size="normal" absolute |
| | | <uni-badge style="z-index: 997;" :text="bindingData[item.cornerCount]" type="error" :max-num="99" size="normal" absolute |
| | | :offset="[7, 7]"> |
| | | <image :src="item.img" mode=""></image> |
| | | </uni-badge> |
| | |
| | | { |
| | | "img": "../../static/icon/icon18.png", |
| | | "text": "其他出库校验暂存列表", |
| | | "url": "/pages/qitachuku/qitachuku", |
| | | "url": "/pages/qitachukujiaoyan/qitachukujiaoyan", |
| | | "id": 21, |
| | | "hidden": false |
| | | }, |
| | |
| | | "id": 55, |
| | | "hidden": false |
| | | }, |
| | | { |
| | | "img": "../../static/icon/icon15.png", |
| | | "text": "不良品评审申请单列表", |
| | | "url": "/pages/ZLGL/QCNoPassProdRequestBillMain/QCNoPassProdRequestBillMainList", |
| | | "id": 55, |
| | | "hidden": false |
| | | }, |
| | | ] |
| | | } |
| | | }, |
| | |
| | | <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" |
| | | :key="index" @tap="toUrl(item)"> |
| | | <template v-if="item.corner"> |
| | | <uni-badge :text="item.cornerCount" type="error" :max-num="99" size="normal" absolute="rightTop" |
| | | <uni-badge style="z-index: 997;" :text="item.cornerCount" type="error" :max-num="99" size="normal" absolute="rightTop" |
| | | :offset="[7, 7]"> |
| | | <image :src="item.img" mode=""></image> |
| | | </uni-badge> |
| | |
| | | "id": 55, |
| | | "hidden": false |
| | | }, |
| | | { |
| | | "img": "../../static/icon/icon15.png", |
| | | "text": "不良品评审申请单", |
| | | "url": "/pages/ZLGL/QCNoPassProdRequestBillMain/QCNoPassProdRequestBillMain", |
| | | "id": 55, |
| | | "hidden": false |
| | | }, |
| | | { |
| | | "img": "../../static/icon/icon15.png", |
| | | "text": "投料防错", |
| | |
| | | }, |
| | | add(){ |
| | | uni.navigateTo({ |
| | | url:'./detail?OperationType=1' |
| | | url:'./qitachukudanjiaoyan?OperationType=1' |
| | | }) |
| | | }, |
| | | //编辑 |
| | |
| | | </label> |
| | | </view> |
| | | <view v-if="tabs == 2"> |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index" @tap.stop="delMater(item)"> |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index" @tap="delMater(item)" @click="delMater(item)"> |
| | | <uni-card :title="item.物料名称" :extra="'数量:'+item.数量" style="margin: 10px;"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | |
| | | } = res.data |
| | | if (count == 1) { |
| | | console.log('data: ', data); |
| | | if(data.length == 0) { |
| | | // 当数据库里面没有存储自定义的源单类型时,使用页面内定义的 |
| | | return; |
| | | } |
| | | this.arrayHMainSourceBillType = [] |
| | | this.arrayHMainSourceBillValue = [] |
| | | Array.from(data).forEach(e => { |
| | | //this.arrayHMainSourceBillType.push(e['HSourceBillTypeName']) |
| | | for(var j = 0; j < this.$t("Kf_ProductInBill_PDA.select option").length; j++){ |
| | | let HSourceBillType_FY = this.$t("Kf_ProductInBill_PDA.select option[" + j + "]").split("@"); |
| | | if(e['HSourceBillType'] == HSourceBillType_FY[0]){ |
| | | this.arrayHMainSourceBillType.push(HSourceBillType_FY[1]) |
| | | //判断翻译模块字段内容是否存在 |
| | | if(this.$t("Kf_ProductInBill_PDA.select option").length > 0 ){ |
| | | //循环翻译下拉框字段内容 |
| | | for(var j = 0; j < this.$t("Kf_ProductInBill_PDA.select option").length; j++){ |
| | | //这里是源单类型动态加载,获取翻译字段内容中的源单ID进行翻译匹配 |
| | | let HSourceBillType_FY = this.$t("Kf_ProductInBill_PDA.select option[" + j + "]").split("@"); |
| | | //动态加载的源单类型ID与翻译文件中设置的源单类型ID一致 |
| | | if(e['HSourceBillType'] == HSourceBillType_FY[0]){ |
| | | //对源单类型文本进行翻译赋值 |
| | | this.arrayHMainSourceBillType.push(HSourceBillType_FY[1]) |
| | | } |
| | | } |
| | | } |
| | | else{ |
| | | this.arrayHMainSourceBillType.push(e['HSourceBillTypeName']) |
| | | } |
| | | this.arrayHMainSourceBillValue.push(e['HSourceBillType']) |
| | | }) |
| | |
| | | this.HMainSourceBillType = this.arrayHMainSourceBillType[0] |
| | | this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[0] |
| | | } else { |
| | | // 保底方案,使用页面内定义的源单类型 |
| | | |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: Message |
| | |
| | | :disabled="cantGenerate">生成</button> |
| | | <button type="default" :class="cantPrint ? 'btn-disabled' : 'btn-c'" @click="PrintHBarCode" |
| | | :disabled="cantPrint">打印</button> |
| | | <button type="default" :class="cantPrint_HK ? 'btn-disabled' : 'btn-c'" @click="PrintHBarCode_HK" |
| | | :disabled="cantPrint_HK">海康打印</button> |
| | | <button type="primary" @click="printerLabel2">测试打印2</button> |
| | | </view> |
| | | </view> |
| | |
| | | printer.printGoToNextMark(); |
| | | console.log('测试打印QR结束'); |
| | | }, |
| | | printerLabel_HK() { |
| | | //设置打印内容 |
| | | |
| | | var HPrintData = "SIZE 58 mm,40 mm" + '\r\n';//设置标签纸张大小; |
| | | HPrintData += "CLS" + '\r\n';//清除图像缓存区 |
| | | //TEXT X, Y, “font”, rotation, x-multiplication, y-multiplication, [alignment,] |
| | | //X:文本X坐标; Y:文本Y坐标; font:字体名称; rotation:文字旋转角度(0:不旋转,90:90 度,180:180 度,270:270 度); x-multiplication:水平方向放大; y-multiplication:垂直方向放大; alignment:指定文本对齐方式(0:默认(居左),1:居左,2:居中,3:居右); content:需要打印的文本内容。 |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '供应商名称:' + this.barCodeInfo['供应商'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '物料代码:' + this.barCodeInfo['物料代码'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '物料简称:' + this.barCodeInfo['物料简称'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '数量:' + this.barCodeInfo['剩余数量'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '工号:' + this.barCodeInfo['工号'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '生产日期:' + this.barCodeInfo['生产日期'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '流水号:' + this.barCodeInfo['流水号'] + '\r\n'; |
| | | HPrintData += 'TEXT 50, 50, "4",0,1,1,1' + '打印日期:' + formatDate + '\r\n'; |
| | | HPrintData += this.barCodeInfo['条码编号']; |
| | | printer.sendCommand_HK(HPrintData); |
| | | }, |
| | | // 发送打印命令 |
| | | sendCommand_HK(commandData) { |
| | | if (this.ws.readyState === WebSocket.OPEN) { |
| | | // this.ws.send(JSON.stringify(commandData)); |
| | | this.ws.send(commandData); |
| | | |
| | | } else { |
| | | console.error('WebSocket 未连接'); |
| | | } |
| | | }, |
| | | doRequest(url, data, resFunction, errFunction, method) { |
| | | uni.showLoading({ |
| | | title: '加载中...' |
| | |
| | | CommonUtils.playSound(0); |
| | | } |
| | | }, |
| | | |
| | | //海康打印按钮 |
| | | async PrintHBarCode() { |
| | | // 防止重复点击 |
| | | if (this.isPrinting) { |
| | | uni.showToast({ |
| | | title: '打印中,请稍候...', |
| | | icon: 'none' |
| | | }); |
| | | return; |
| | | } |
| | | this.isPrinting = true; |
| | | |
| | | try { |
| | | this.printerLabel_HK(); //打印 |
| | | } catch (error) { |
| | | console.error('打印失败:', error); |
| | | this.isPrinting = false; |
| | | |
| | | uni.showToast({ |
| | | title: error.message || '打印失败', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | CommonUtils.playSound(0); |
| | | } |
| | | }, |
| | | |
| | | toScanCode() { |
| | | var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | mpaasScanModule.mpaasScan({ |
| New file |
| | |
| | | <template> |
| | | <view class="page" id="pageContent"> |
| | | <!-- <view class="search-condition-zone"> |
| | | <view class="form-item"> |
| | | <view class="left"> |
| | | 条码: |
| | | </view> |
| | | <view class="right general"> |
| | | <input type="text" v-model="hform.HBarCode" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="left"> |
| | | 数量: |
| | | </view> |
| | | <view class="right general"> |
| | | <input type="text" v-model="hform.iQty" /> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <!-- <view class="button-zone"> |
| | | <button type="default" class="btn-a" size="mini" @tap="cmdChange">调整</button> |
| | | <button type="default" class="btn-c" size="mini" @tap="exit">退出</button> |
| | | </view> --> |
| | | <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}"> |
| | | <view class="list" v-for="(item, index) in Materlist" :key="index"> |
| | | <uni-card :title="item.HBarCode" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.table_SourceBillNo") == "Kf_ProductInBill_PDA.table_SourceBillNo" ? "批次" : $t("Kf_ProductInBill_PDA.table_SourceBillNo") }}:</text>{{ item.HBatchNo }} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.table_SourceBillNo") == "Kf_ProductInBill_PDA.table_SourceBillNo" ? "数量" : $t("Kf_ProductInBill_PDA.table_SourceBillNo") }}:</text>{{ item.HQty }} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | <view class="pagination-zone" id="pagination-zone"> |
| | | <uni-pagination show-icon :page-size="paginationMeta.pageSize" :total="paginationMeta.total" |
| | | :current="paginationMeta.current" @change="onPaginationChangeHandler"></uni-pagination> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common' |
| | | import { |
| | | getUserInfo |
| | | } from '../../utils/auth' |
| | | export default { |
| | | data() { |
| | | return { |
| | | navHeight: 0, |
| | | HWHNameList: [], |
| | | arrayHWHName: [], |
| | | HStockPlaceNameList: [], |
| | | arrayHStockPlaceName: [], |
| | | Materlist: [], |
| | | HMaterID: 0, |
| | | HBillType: 0, |
| | | HInterID: 0, |
| | | HIsStockMgr: false, |
| | | scrollTop: 0, |
| | | |
| | | HInterID_check: 0, |
| | | HBillType_check: '', |
| | | sBatchNo_check: '', |
| | | sBarCode_check: '', |
| | | sSCWhID_check: 0, |
| | | sSCSPID_check: 0, |
| | | sAuxPropID_check: 0, |
| | | sMTONo_check: '', |
| | | HMaterID_check: 0, |
| | | sWhID_check: 0, |
| | | sSPID_check: 0, |
| | | HSourceInterID_check: 0, |
| | | HSourceEntryID_check: 0, |
| | | EndQty_check: 0, |
| | | HInterID_check_check: 0, |
| | | hform: { |
| | | HBarCode: '', |
| | | HWHName: '', |
| | | HWHID: 0, |
| | | HStockPlaceName: '', |
| | | HStockPlaceID: 0, |
| | | iQty: 0, |
| | | }, |
| | | |
| | | paginationMeta: { |
| | | current: 1, |
| | | total: 0, |
| | | pageSize: 30, |
| | | }, |
| | | |
| | | pageMeta: { |
| | | scrollContentTop: 0, |
| | | bottomBtnTop: 0, |
| | | }, |
| | | |
| | | listData: [], |
| | | listDataShow: [], |
| | | } |
| | | }, |
| | | computed: { |
| | | scrollContentHeight: { |
| | | get() { |
| | | return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | exit() { |
| | | uni.navigateBack() |
| | | }, |
| | | onArrayHWHNameChangeHandler(e) { |
| | | let index = this.HWHNameList.findIndex(p => p.HName == e) |
| | | if (index != -1) { |
| | | this.hform.HWHID = this.HWHNameList[index].HItemID |
| | | this.HIsStockMgr = this.HWHNameList[index].HIsStockMgr |
| | | } |
| | | }, |
| | | getWHInfo() { |
| | | CommonUtils.doRequest( |
| | | "/Web/GetWarehouseList_Json_New", { |
| | | Warehouse: "", |
| | | HOrgID: uni.getStorageSync('OrganizationID') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HWHNameList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHWHName[i] = data[i]["HName"] |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓库数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | ) |
| | | }, |
| | | delMater(item){ |
| | | console.log(this.HBillType, this.HInterID, item.HBarCode); |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 "' + item.HBarCode + '" 吗?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', |
| | | data: { |
| | | HInterID: this.HInterID, |
| | | HBillType: this.HBillType, |
| | | HBarCode: item.HBarCode |
| | | }, |
| | | resFunction: () => { |
| | | console.log("删除成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '删除成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("删除异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消删除'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | GetMater(){ |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/Kf_BarCodeEditDlg_Json', |
| | | data: { |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= '+ this.HMaterID + '' |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count > 0) { |
| | | this.Materlist = data |
| | | } else { |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | onArrayHStockPlaceNameChangeHandler() { |
| | | let index = this.HStockPlaceNameList.findIndex(p => p.HName == e) |
| | | if (index != -1) { |
| | | this.hform.HStockPlaceID = this.HStockPlaceNameList[index].HItemID |
| | | } |
| | | }, |
| | | getStockPlaceInfo() { |
| | | CommonUtils.doRequest( |
| | | "/WEBSController/GetStockPlaceList_Json", { |
| | | StockPlace: '', |
| | | HWhID: this.hform.HWHID, |
| | | HStockOrgID: uni.getStorageSync('OrganizationID') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | console.log(res1) |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HStockPlaceNameList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = data[i]["HWhName"] |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败'+res.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | ) |
| | | }, |
| | | cmdChange() { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/Kf_BarCodeEditDlg_Json', |
| | | data: { |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= '+ this.HMaterID + " and HBarCode= '" + this.hform.HBarCode + "'" |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count > 0) { |
| | | console.log(data) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要修改 "' + data[0].HBarCode + '" 吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[0].HInterID, |
| | | HBillType: data[0].HBillType, |
| | | sBatchNo: data[0].HBatchNo, |
| | | sBarCode: data[0].HBarCode, |
| | | sSCSPID: data[0].HOutStockPlaceID, |
| | | sSCWhID: data[0].HSCWHID, |
| | | sAuxPropID: data[0].HAuxPropID, |
| | | sMTONo: data[0].HMTONo, |
| | | iQty: this.hform.iQty, |
| | | HMaterID: data[0].HMaterID, |
| | | sWhID: data[0].HWhID, |
| | | sSPID: data[0].HStockPlaceID, |
| | | HSourceInterID: data[0].HSourceInterID, |
| | | HSourceEntryID: data[0].HSourceEntryID, |
| | | EndQty: this.hform.iQty - data[0].HQty, |
| | | sQty: data[0].HQty |
| | | }, |
| | | resFunction: () => { |
| | | console.log("修改成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[0].HInterID, |
| | | HBillType: data[0].HBillType, |
| | | sBatchNo: data[0].HBatchNo, |
| | | sBarCode: data[0].HBarCode, |
| | | sSCSPID: data[0].HOutStockPlaceID, |
| | | sSCWhID: data[0].HSCWHID, |
| | | sAuxPropID: data[0].HAuxPropID, |
| | | sMTONo: data[0].HMTONo, |
| | | iQty: this.hform.iQty, |
| | | HMaterID: data[0].HMaterID, |
| | | sWhID: data[0].HWhID, |
| | | sSPID: data[0].HStockPlaceID, |
| | | HSourceInterID: data[0].HSourceInterID, |
| | | HSourceEntryID: data[0].HSourceEntryID, |
| | | EndQty: this.hform.iQty - data[0].HQty, |
| | | sQty: data[0].HQty |
| | | }, |
| | | resFunction: () => { |
| | | console.log("修改成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消修改'); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | async onPaginationChangeHandler({current}) { |
| | | this.listDataShow =this.listData.slice((current - 1) * this.paginationMeta.pageSize,current * this.paginationMeta.pageSize) |
| | | } |
| | | }, |
| | | async onLoad(options) { |
| | | this.hform.HBarCode = options.HMaterNumber || ''; |
| | | this.getWHInfo() |
| | | this.getStockPlaceInfo() |
| | | this.HMaterID = options.HMaterID |
| | | this.HBillType = options.HBillType |
| | | this.HInterID = options.HInterID |
| | | console.log("赋值后:", this.HInterID, this.HMaterID, this.HBillType); |
| | | await this.$nextTick(); |
| | | this.GetMater() |
| | | // this.$nextTick(() => { |
| | | // this.cmdSearch() |
| | | // }) |
| | | }, |
| | | onReady() { |
| | | let query = uni.createSelectorQuery().in(this) |
| | | query.select("#scroll-content").boundingClientRect((data) => { |
| | | this.pageMeta.scrollContentTop = data.top |
| | | console.log("this.pageMeta.scrollContentTop: ", this.pageMeta.scrollContentTop) |
| | | }).exec() |
| | | query.select("#pagination-zone").boundingClientRect((data) => { |
| | | this.pageMeta.bottomBtnTop = data.top |
| | | console.log('this.pageMeta.bottomBtnTop: ',this.pageMeta.bottomBtnTop); |
| | | }).exec() |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10rpx; |
| | | padding: 20rpx 0; |
| | | position: relative; |
| | | |
| | | .button-zone { |
| | | height: auto; |
| | | box-sizing: border-box; |
| | | padding-top: 20rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | |
| | | button { |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .btn-a { |
| | | background-color: #3a78ff; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-c { |
| | | background-color: #ff5722; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .search-condition-zone { |
| | | height: auto; |
| | | box-sizing: border-box; |
| | | padding: 0 60rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 20rpx; |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 20rpx; |
| | | align-items: center; |
| | | font-size: 28rpx; |
| | | |
| | | .left { |
| | | width: 4rem; |
| | | } |
| | | |
| | | .right { |
| | | flex: 1; |
| | | padding: 8rpx 16rpx; |
| | | |
| | | .search { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | } |
| | | |
| | | input { |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .uni-combox { |
| | | padding: 0; |
| | | margin: 0; |
| | | |
| | | ::v-deep .uni-combox__input { |
| | | font-size: 28rpx; |
| | | height: auto; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .general { |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | } |
| | | |
| | | .disabled { |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .info-list-zone { |
| | | overflow-y: auto; |
| | | |
| | | .card-item { |
| | | .card-detail { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | line-height: 120%; |
| | | |
| | | .detail { |
| | | // width: 50%; |
| | | font-size: 26rpx; |
| | | margin-bottom: 12rpx; |
| | | color: #555; |
| | | margin-right: 20rpx; |
| | | |
| | | text { |
| | | color: #999; |
| | | font-size: 26rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .pagination-zone { |
| | | position: fixed; |
| | | bottom: 0; |
| | | box-sizing: border-box; |
| | | background-color: #fff; |
| | | box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4); |
| | | padding: 30rpx 40rpx 40rpx 40rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 20rpx; |
| | | justify-content: space-between; |
| | | width: 100%; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <view class="form-item"> |
| | | <view class="title"><text>*</text>流水号:</view> |
| | | <view class="right" style="width: 380rpx;"> |
| | | <input v-model="hform.HProcNo" placeholder="请输入(或扫描)流水号" @blur="getHProcNoData2(hform.HBarCode,hform.HProcNo,hform.HSEQNumber)"/> |
| | | <input v-model="hform.HProcNo" placeholder="请输入(或扫描)流水号" @confirm="getHProcNoData2(hform.HBarCode,hform.HProcNo,hform.HSEQNumber)"/> |
| | | </view> |
| | | <view class="icon-wrapper" > |
| | | <uni-icons type="search" size="20" @click="showBillList"></uni-icons> |
| | |
| | | this.getNewData() |
| | | } |
| | | // this.getHMaterList() |
| | | this.getHProcList() |
| | | //this.getHProcList() |
| | | this.getHSupList() |
| | | this.getHEmpList() |
| | | |
| | |
| | | this.arrayHSupName[i] = res.data.data[i].HName |
| | | } |
| | | this.$forceUpdate(); |
| | | }else{ |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | |
| | | this.arrayHSEQName[i] = res.data.data[i].HSEQName |
| | | } |
| | | this.$forceUpdate(); |
| | | console.log(this.hform.HProcNo) |
| | | //没有序列号默认主序列 |
| | | if(e==1){ |
| | | //设置主序列 |
| | |
| | | }else{ |
| | | //设置主序列 |
| | | this.setMainHSEQ(); |
| | | //设置默认工序号 |
| | | if(this.hform.HProcNo!=""&&this.hform.HProcNo!=null){ |
| | | this.getHProcNoData2(this.hform.HBarCode,this.hform.HProcNo,this.hform.HSEQNumber) |
| | | } |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | |
| | | console.log(2,res.data); |
| | | if(res.data.code == 1){ |
| | | var data = res.data.data[0] |
| | | if(data.委外发出当前工序号!=null && data.委外发出当前工序号!=""){ |
| | | this.hform.HProcNo = data.委外发出当前工序号 |
| | | } |
| | | this.hform.HICMOBillNo= data.任务单号 |
| | | this.hform.HProcExchBillNo= data.单据号 |
| | | this.hform.HICMOInterID= data.hicmointerid |
| | |
| | | this.arrayHSupName[i] = res.data.data[i].HName |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | |
| | | this.arrayHEmpName[i] = res.data.data[i].HName |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | |
| | | }else{ |
| | | //设置主序列 |
| | | this.setMainHSEQ(); |
| | | //设置默认工序号 |
| | | if(this.hform.HProcNo!=""&&this.hform.HProcNo!=null){ |
| | | this.getHProcNoData2(this.hform.HBarCode,this.hform.HProcNo,this.hform.HSEQNumber) |
| | | } |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | |
| | | console.log(2, res.data); |
| | | if (res.data.code == 1) { |
| | | var data = res.data.data[0] |
| | | if(data.委外接收当前工序号!=null && data.委外接收当前工序号!=""){ |
| | | this.hform.HProcNo = data.委外接收当前工序号 |
| | | } |
| | | this.hform.HICMOBillNo = data.任务单号 |
| | | this.hform.HICMOInterID = data.hicmointerid |
| | | this.hform.HMaterID = data.HMaterID |
| | |
| | | arrayStatus:['全部','未审核','已审核','已关闭'], |
| | | hform:{ |
| | | HStatus:'未审核', |
| | | HBeginDate:new Date().toISOString().split('T')[0], |
| | | HBeginDate:'', |
| | | HEndDate:'', |
| | | HICMOBillNo:'', |
| | | HBillNo:'', |
| | |
| | | <view> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="title">{{$t("Gy.HBarCode")}}:</view> |
| | | <view class="right" style="width: 380rpx;"> |
| | | <input :focus="BarCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" |
| | | <input :focus="BarCodeFocus" v-model="hform.HBarCode" :placeholder="$t('Gy.HBarCode_Placeholder')" |
| | | @confirm="getCode(hform.HBarCode)" /> |
| | | </view> |
| | | <uni-icons type="scan" |
| | |
| | | size="20" @click="toScanCode"></uni-icons> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="title">{{$t("Gy.HQty")}}:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HQty" placeholder="请输入数量" /> |
| | | <input v-model="hform.HQty" :placeholder="$t('Gy.HQty_Placeholder')" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="title">{{$t("Gy.HWHName")}}:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName" |
| | | @input="HWHNameChange"></uni-combox> |
| | | <uni-combox :candidates="arrayHWHName" :placeholder="$t('Gy.HWHName_Placeholder')" |
| | | v-model="hform.HWHName" @input="HWHNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="title">{{$t("Gy.HStockPlaceName")}}:</view> |
| | | <view class="right" v-show="showHStockPlaceName"> |
| | | <uni-combox :candidates="HStockPlaceNameListComputed" placeholder="请输入(或扫描)仓位" |
| | | v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" @confirm="HStockPlaceNameScan"></uni-combox> |
| | | <uni-combox :candidates="HStockPlaceNameListComputed" |
| | | :placeholder="$t('Gy.HStockPlaceName_Placeholder')" v-model="hform.HStockPlaceName" |
| | | @input="HStockPlaceNameChange" @confirm="HStockPlaceNameScan"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="!showHStockPlaceName"><input v-model="hform.HStockPlaceName" |
| | | placeholder="不可操作" /></view> |
| | | :placeholder="$t('Gy.OperationDisabled')" /></view> |
| | | </view> |
| | | |
| | | <view class="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">选择源单</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">{{$t("Gy.SourceBillSelect")}}</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">{{$t("Gy.TableHeaderInfo")}}</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">{{$t("Gy.MaterInfo")}}</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">{{$t("Gy.BarCodeInfo")}}</view> |
| | | </view> |
| | | |
| | | <view v-if="tabs == 0"> |
| | | <view class="form-item"> |
| | | <view class="title">源单类型:</view> |
| | | <view class="title">{{$t("Gy.HMainSourceBillType")}}:</view> |
| | | <view class="right" v-show="showHMainSourceBillType"> |
| | | <picker :range="arrayHMainSourceBillType" v-model="HMainSourceBillType" |
| | | @change="HMainSourceBillTypeChange"> |
| | | <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType" |
| | | placeholder="请选择源单类型" /> |
| | | :placeholder="$t('Gy.HMainSourceBillType_Placeholder')" /> |
| | | <view class="picker-overlay"></view> |
| | | </picker> |
| | | </view> |
| | | <view class="righton" v-show="!showHMainSourceBillType"> |
| | | <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType" |
| | | placeholder="请选择源单类型" /> |
| | | :placeholder="$t('Gy.HMainSourceBillType_Placeholder')" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">源单单号:</view> |
| | | <view class="title">{{$t("Gy.HMainSourceBillNo")}}:</view> |
| | | <view class="right" style="width: 380rpx;" v-show="showHSourceBillNo"> |
| | | <input v-model="hform.HSourceBillNo" :focus="HSourceBillNoFocus" |
| | | @confirm="onHSourceBillNoConfirmHandler" placeholder="请扫描(或输入)源单单号" /> |
| | | @confirm="onHSourceBillNoConfirmHandler" |
| | | :placeholder="$t('Gy.HMainSourceBillNo_Placeholder')" /> |
| | | </view> |
| | | <uni-icons v-show="showHSourceBillNo" type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanCodeA()"></uni-icons> |
| | | <view class="righton" v-show="!showHSourceBillNo"> |
| | | <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" /> |
| | | <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" |
| | | :placeholder="$t('Gy.HMainSourceBillNo_Placeholder')" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">日期:</view> |
| | | <view class="title">{{$t("Gy.HDate")}}:</view> |
| | | <view class="right"> |
| | | <picker mode="date" v-model="hform.HDate" @change="HDateChange"> |
| | | <input disabled v-model="hform.HDate" placeholder="请选择日期" /> |
| | | <input disabled v-model="hform.HDate" :placeholder="$t('Gy.HDate_Placeholder')" /> |
| | | <view class="picker-overlay"></view> |
| | | </picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">制单人:</view> |
| | | <view class="title">{{$t("Gy.HMaker")}}:</view> |
| | | <view class="righton"> |
| | | <input name="HMaker" disabled v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="title">{{$t("Gy.HBillNo")}}:</view> |
| | | <view class="righton"> |
| | | <input name="HBillNo" disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | |
| | | |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据ID:</view> |
| | | <view class="title">{{$t("Gy.HInterID")}}:</view> |
| | | <view class="righton"> |
| | | <input name="HInterID" disabled v-model="hform.HInterID" /> |
| | | </view> |
| | |
| | | |
| | | <view v-if="tabs == 1"> |
| | | <view class="form-item"> |
| | | <view class="title">保管:</view> |
| | | <view class="title">{{$t("Gy.HKeeperName")}}:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHEmpName" placeholder="请选择保管员" v-model="hform.HKeeperName" |
| | | @input="HKeeperNameChange"></uni-combox> |
| | | <uni-combox :candidates="arrayHEmpName" :placeholder="$t('Gy.HKeeperName_Placeholder')" |
| | | v-model="hform.HKeeperName" @input="HKeeperNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">验收:</view> |
| | | <view class="title">{{$t("Gy.HSecManagerName")}}:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHEmpName" placeholder="请选择验收员" v-model="hform.HSecManagerName" |
| | | @input="HSecManagerNameChange"></uni-combox> |
| | | <uni-combox :candidates="arrayHEmpName" :placeholder="$t('Gy.HSecManagerName_Placeholder')" |
| | | v-model="hform.HSecManagerName" @input="HSecManagerNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">部门:</view> |
| | | <view class="title">{{$t("Gy.HDeptName")}}:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHDeptName" placeholder="请选择部门" v-model="hform.HDeptName" |
| | | @input="HDeptNameChange"></uni-combox> |
| | | <uni-combox :candidates="arrayHDeptName" :placeholder="$t('Gy.HDeptName_Placeholder')" |
| | | v-model="hform.HDeptName" @input="HDeptNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">客户:</view> |
| | | <view class="title">{{$t("Gy.HCusName")}}:</view> |
| | | <!-- <view class="right" v-show="showHSupName"> |
| | | <uni-combox :candidates="arrayHSupName" placeholder="请选择客户" v-model="hform.HSupName" |
| | | @input="HSupNameChange"></uni-combox> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">组织:</view> |
| | | <view class="title">{{$t("Gy.HStockOrgName")}}:</view> |
| | | <view class="righton"> |
| | | <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" /> |
| | | </view> |
| | |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index"> |
| | | <uni-card :title="item.物料名称" :extra="item.物料代码" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>源单单号:</text>{{item.源单单号}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>源单数量:</text>{{item.源单数量}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>数量:</text>{{item.数量}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>条码个数:</text>{{item.条码个数}} |
| | | </view> |
| | | <view class="detail" v-if="item.规格型号"> |
| | | <text>规格型号:</text>{{item.规格型号}} |
| | | </view> |
| | | <view class="detail" v-if="item.辅助属性"> |
| | | <text>辅助属性:</text>{{item.辅助属性}} |
| | | </view> |
| | | |
| | | <template v-for="(HBillField, index) in HFieldList"> |
| | | <view class="detail" v-if="HBillField.ColmType == 'DateTime'"> |
| | | <text>{{ $t(`${HModName}.${HBillField.ColmCols}`) }}:</text>{{ item[HBillField.ColmCols] ? dayjs(item[HBillField.ColmCols]).format("YYYY-MM-DD HH:mm:ss") : "" }} |
| | | </view> |
| | | <view class="detail" v-else> |
| | | <text>{{ $t(`${HModName}.${HBillField.ColmCols}`) }}:</text>{{ item[HBillField.ColmCols] }} |
| | | </view> |
| | | </template> |
| | | <!-- 兴达客户 功能 --> |
| | | <view class="detail" v-if="materMeta[0].HWHName && /兴达/.test(hform.HStockOrgName |
| | | )"> |
| | |
| | | |
| | | <view v-if="tabs == 3"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="title">{{$t("Gy.HBarCode_B")}}:</view> |
| | | <view class="righton"> |
| | | <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料:</view> |
| | | <view class="title">{{$t("Gy.HMaterName_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">规格:</view> |
| | | <view class="title">{{$t("Gy.HMaterModel_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterModel_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">批次:</view> |
| | | <view class="title">{{$t("Gy.HBatchNo_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HBatchNo_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单位:</view> |
| | | <view class="title">{{$t("Gy.HUnitName_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HUnitName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="title">{{$t("Gy.HQty_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">容量:</view> |
| | | <view class="title">{{$t("Gy.HTMQty_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HTMQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="title">{{$t("Gy.HWHName_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HWHName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="title">{{$t("Gy.HSPName_B")}}:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HSPName_B" /> |
| | | </view> |
| | |
| | | </view> |
| | | |
| | | <view class="bottom-btn"> |
| | | <button class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <button class="btn-a" size="mini" @tap="submit">{{$t("Gy.submit")}}</button> |
| | | <view style="flex: 1;"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | <button class="btn-a" size="mini" @tap="addNew">{{$t("Gy.addNew")}}</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">{{$t("Gy.goBack")}}</button> |
| | | </view> |
| | | </view> |
| | | <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue> |
| | |
| | | getUserStockRelation |
| | | } from '../../utils/userRelationManager'; |
| | | import BarCodePopupVue from "../../components/BarCodePopup/BarCodePopup.vue"; |
| | | import { CommonUtils } from '../../utils/common'; |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common'; |
| | | export default { |
| | | components: { |
| | | BarCodePopupVue |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | CommonUtils, |
| | | userInfo: getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', |
| | | HModName: 'Kf_SellOutBackBill_PDA', |
| | |
| | | tabs: 0, |
| | | HMainSourceBillType: '退货通知单', |
| | | arrayHMainSourceBillType: ['退货通知单', '销售订单', '手工录入'], |
| | | arrayHMainSourceBillValue: [1403, 1401, -1], |
| | | |
| | | linterid: '', |
| | | HBillNo: '', |
| | |
| | | |
| | | Materlist: [], |
| | | materMeta: [], |
| | | HFieldList: [], // 字段列表 |
| | | hform: { |
| | | HBillType: 1247, |
| | | HBillerID: uni.getStorageSync('HBillerID'), |
| | |
| | | this.getHDeptList() |
| | | |
| | | this.getRelationStore() |
| | | this.GetSourceBillType() |
| | | }, |
| | | methods: { |
| | | async HWHNameScan(e) { |
| | |
| | | // 扫描仓位码 |
| | | console.log('仓位码: ', e); |
| | | let index = this.HStockPlaceNameList.findIndex(elem => elem['条码编号'] == e.trim()) |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | await this.$nextTick() |
| | |
| | | title: err |
| | | }) |
| | | } |
| | | }, |
| | | async GetSourceBillType() { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Web/GetHSourceBillTypeByBillType', |
| | | data: { |
| | | HBillType: this.hform.HBillType, |
| | | Num: 2 |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | // console.log('data: ', data); |
| | | if (data.length == 0) { |
| | | // 数据库中没有配置,默认使用本地 |
| | | for (let i = 0; i < this.HMainSourceBillType; i++) { |
| | | let transed = this.$t(`${this.HModName}.HSourceBillType${i}`).split( |
| | | "@") |
| | | this.arrayHMainSourceBillType.push(transed[0]) |
| | | this.arrayHMainSourceBillValue.push(transed[1]) |
| | | } |
| | | return |
| | | } |
| | | this.arrayHMainSourceBillType = [] |
| | | this.arrayHMainSourceBillValue = [] |
| | | let i |
| | | for (i = 0; i < data.length; i++) { |
| | | let tranItem = this.$t(`${this.HModName}.HSourceBillType${i}`).split( |
| | | "@") |
| | | this.arrayHMainSourceBillType.push(tranItem[0]) |
| | | this.arrayHMainSourceBillValue.push(tranItem[1]) |
| | | } |
| | | |
| | | let trans = (this.$t(`${this.HModName}.HSourceBillType${i}`)).split("@") |
| | | this.arrayHMainSourceBillType.push(trans[0]) |
| | | this.arrayHMainSourceBillValue.push(trans[1]) |
| | | |
| | | this.HMainSourceBillType = this.arrayHMainSourceBillType[0] |
| | | this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[0] |
| | | } else { |
| | | // 数据库中没有配置,则使用本地的配置 |
| | | for (let i = 0; i < this.HMainSourceBillType; i++) { |
| | | let transed = this.$t(`${this.HModName}.HSourceBillType${i}`).split("@") |
| | | this.arrayHMainSourceBillType.push(transed[0]) |
| | | this.arrayHMainSourceBillValue.push(transed[1]) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | async getRelationStore() { |
| | | let { |
| | |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHWHName[i] = res.data.data[i].仓库名称 |
| | | } |
| | | |
| | | |
| | | this.HWHNameChange(getUserInfo()["HWhName"]) |
| | | } else { |
| | | uni.showToast({ |
| | |
| | | }, |
| | | //选择源单类型 |
| | | HMainSourceBillTypeChange(e) { |
| | | this.HMainSourceBillType = this.arrayHMainSourceBillType[e.detail.value] |
| | | if (this.HMainSourceBillType == '退货通知单') { |
| | | this.hform.HMainSourceBillType = 1403 |
| | | this.getHYDList() |
| | | } else if (this.HMainSourceBillType == '销售订单') { |
| | | this.hform.HMainSourceBillType = 1401 |
| | | this.getHYDList() |
| | | } else { |
| | | this.hform.HMainSourceBillType = -1 |
| | | let index = e.detail.value |
| | | if (index != -1) { |
| | | this.HMainSourceBillType = this.arrayHMainSourceBillType[index] |
| | | this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[index] |
| | | // this.showHMainSourceBillType = false |
| | | this.getHYDList() |
| | | } |
| | | }, |
| | |
| | | this.hform.HSourceBillNo = data.hSourceBillNoField |
| | | //获取源单类型、源单单号 |
| | | this.hform.HMainSourceBillType = data.hSourceBillTypeField |
| | | if (data.hSourceBillTypeField == "1403") { |
| | | this.HMainSourceBillType = '退货通知单' |
| | | this.hform.HMainSourceBillType = 1403 |
| | | this.showHMainSourceBillType = false |
| | | } else if (data.hSourceBillTypeField == "1401") { |
| | | this.HMainSourceBillType = '销售订单' |
| | | this.hform.HMainSourceBillType = 1401 |
| | | this.showHMainSourceBillType = false |
| | | } else { |
| | | this.HMainSourceBillType = '手工录入' |
| | | this.hform.HMainSourceBillType = -1 |
| | | let index = this.arrayHMainSourceBillValue.findIndex(e => e == data |
| | | .hSourceBillTypeField) |
| | | if (index != -1) { |
| | | this.HMainSourceBillType = this.arrayHMainSourceBillType[index] |
| | | this.hform.HMainSourceBillType = data.hSourceBillTypeField |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | if (data.hMulSourceFlagField == 0) { |
| | |
| | | this.hform.HMainSourceBillType = data.hSourceBillTypeField |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | // if (data.hSourceBillTypeField == "1103") { |
| | | // this.HMainSourceBillType = '收料通知单' |
| | | // this.hform.HMainSourceBillType = 1103 |
| | | // this.showHMainSourceBillType = false |
| | | // } else if (data.hSourceBillTypeField == "1102") { |
| | | // this.HMainSourceBillType = '采购订单' |
| | | // this.hform.HMainSourceBillType = 1102 |
| | | // this.showHMainSourceBillType = false |
| | | // } else { |
| | | // this.HMainSourceBillType = '手工录入' |
| | | // this.hform.HMainSourceBillType = -1 |
| | | // this.showHMainSourceBillType = false |
| | | // } |
| | | |
| | | if (data.hMulSourceFlagField == 0) { |
| | | this.showHSourceBillNo = false |
| | | } |
| | |
| | | }, |
| | | success: (res) => { |
| | | console.log('物料', res.data) |
| | | |
| | | if (res.data.count == 1) { |
| | | let list = res.data.list |
| | | var data = res.data.data |
| | | this.materMeta = data.BarCodeDetailslist |
| | | this.Materlist = data.Materlist |
| | | this.HFieldList = CommonUtils.fieldListFilterRole({ |
| | | FieldList: list, |
| | | ExcludeKeys: ["物料名称", "物料代码"], |
| | | }).data |
| | | |
| | | console.log('字段列表: ',CommonUtils.fieldListFilterRole({ |
| | | FieldList: list, |
| | | ExcludeKeys: ["物料名称", "物料代码"], |
| | | }).data); |
| | | |
| | | if (/兴达/.test(uni.getStorageSync("Organization"))) { |
| | | // 兴达客户 带出 仓库 |
| | | console.log("兴达带出默认仓库") |
| | |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | |
| | | // uni.request({ |
| | | // url: this.serverUrl + '/WEBSController/set_SaveSellOutBackBill_Json', |
| | | // method: 'POST', |
| | |
| | | } |
| | | }, |
| | | async HStockPlaceOutNameScan(e) { |
| | | // 扫描仓位码 |
| | | console.log('仓位码: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HOutStockPlaceID = 0 |
| | | this.hform.HOutStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | // 扫描仓位码 |
| | | console.log('Code: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | |
| | | this.hform.HOutStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HOutStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HSCWHID = res.data.data[0].HWHID |
| | | this.hform.HSCWHName = res.data.data[0].所属仓库 |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | // // 扫描仓位码 |
| | | // console.log('仓位码: ', e); |
| | | // // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | // this.hform.HOutStockPlaceID = 0 |
| | | // this.hform.HOutStockPlaceName = '' |
| | | // try { |
| | | // let res = await CommonUtils.doRequest2Async({ |
| | | // url: '/Gy_StockPlace/list', |
| | | // data: { |
| | | // sWhere: ` and 条码编号 = '${e}'`, |
| | | // user: uni.getStorageSync('HUserName'), |
| | | // Organization: uni.getStorageSync('Organization') |
| | | // }, |
| | | // }) |
| | | |
| | | if (res.data.count == 1) { |
| | | // if (res.data.count == 1) { |
| | | |
| | | this.hform.HOutStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HOutStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HSCWHID = res.data.data[0].HWHID |
| | | // this.hform.HSCWHName = res.data.data[0].所属仓库 |
| | | this.HSCWHNameChange(res.data.data[0].所属仓库) |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | // this.hform.HOutStockPlaceID = res.data.data[0].HMainID |
| | | // this.hform.HOutStockPlaceName = res.data.data[0].仓位名称 |
| | | // this.hform.HSCWHID = res.data.data[0].HWHID |
| | | // // this.hform.HSCWHName = res.data.data[0].所属仓库 |
| | | // this.HSCWHNameChange(res.data.data[0].所属仓库) |
| | | // } else { |
| | | // uni.showToast({ |
| | | // title: '仓位数据请求失败', |
| | | // icon: 'none' |
| | | // }) |
| | | // } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | // } catch (err) { |
| | | // uni.showToast({ |
| | | // title: '仓位数据请求失败', |
| | | // icon: 'none' |
| | | // }) |
| | | // } |
| | | }, |
| | | async HWHNameInScan(e) { |
| | | return; |
| | |
| | | } |
| | | }, |
| | | async HStockPlaceNameInScan(e) { |
| | | // 扫描仓位码 |
| | | console.log('仓位码: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | // 扫描仓位码 |
| | | console.log('Code: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | |
| | | this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HWHID = res.data.data[0].HWHID |
| | | this.hform.HWHName = res.data.data[0].所属仓库 |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | // // 扫描仓位码 |
| | | // console.log('仓位码: ', e); |
| | | // // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | // this.hform.HStockPlaceID = 0 |
| | | // this.hform.HStockPlaceName = '' |
| | | // try { |
| | | // let res = await CommonUtils.doRequest2Async({ |
| | | // url: '/Gy_StockPlace/list', |
| | | // data: { |
| | | // sWhere: ` and 条码编号 = '${e}'`, |
| | | // user: uni.getStorageSync('HUserName'), |
| | | // Organization: uni.getStorageSync('Organization') |
| | | // }, |
| | | // }) |
| | | |
| | | if (res.data.count == 1) { |
| | | // if (res.data.count == 1) { |
| | | |
| | | this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HWHID = res.data.data[0].HWHID |
| | | // this.hform.HWHName = res.data.data[0].所属仓库 |
| | | this.HWHInNameChange(res.data.data[0].所属仓库) |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | // this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | // this.HStockPlaceInNameChange(res.data.data[0].仓位名称) |
| | | // this.hform.HWHID = res.data.data[0].HWHID |
| | | // // this.hform.HWHName = res.data.data[0].所属仓库 |
| | | // this.HWHInNameChange(res.data.data[0].所属仓库) |
| | | |
| | | |
| | | // } else { |
| | | // uni.showToast({ |
| | | // title: '仓位数据请求失败', |
| | | // icon: 'none' |
| | | // }) |
| | | // } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | // } catch (err) { |
| | | // uni.showToast({ |
| | | // title: '仓位数据请求失败', |
| | | // icon: 'none' |
| | | // }) |
| | | // } |
| | | }, |
| | | async qrCodeDisplay() { |
| | | try { |
| New file |
| | |
| | | // 全局请求队列(存储所有请求) |
| | | const requestQueue = [] |
| | | |
| | | // 取消所有请求 |
| | | export function cancelAllRequest() { |
| | | requestQueue.forEach((task) => { |
| | | try { |
| | | task.abort() |
| | | } catch {} |
| | | }) |
| | | requestQueue.length = 0 |
| | | } |
| | | |
| | | // 从队列移除 |
| | | function removeTask(task) { |
| | | const index = requestQueue.indexOf(task) |
| | | if (index > -1) requestQueue.splice(index, 1) |
| | | } |
| | | |
| | | // ============================================== |
| | | // 重写原生 uni.request |
| | | // ============================================== |
| | | export function overrideUniRequest() { |
| | | const _originalRequest = uni.request |
| | | |
| | | uni.request = function (options) { |
| | | |
| | | const originalSuccess = options.success |
| | | const originalFail = options.fail |
| | | |
| | | |
| | | options.success = function (res) { |
| | | removeTask(task) |
| | | originalSuccess && originalSuccess(res) |
| | | } |
| | | |
| | | options.fail = function (err) { |
| | | removeTask(task) |
| | | |
| | | |
| | | if (err.errMsg && err.errMsg.includes('abort')) { |
| | | return |
| | | } |
| | | |
| | | originalFail && originalFail(err) |
| | | } |
| | | |
| | | |
| | | const task = _originalRequest.call(uni, options) |
| | | |
| | | |
| | | requestQueue.push(task) |
| | | |
| | | return task |
| | | } |
| | | } |